Disable Pike target language

Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
This commit is contained in:
William S Fulton 2019-02-04 19:48:25 +00:00
commit 8aa4086136
14 changed files with 9 additions and 179 deletions

View file

@ -11,7 +11,7 @@ SWIG is a software development tool that reads C/C++ header files and
generates the wrapper code needed to make C and C++ code accessible
from other programming languages including Perl, Python, Tcl, Ruby,
PHP, C#, Go, Java, Javascript, Lua, Scheme (Guile, MzScheme, CHICKEN),
D, Ocaml, Pike, Octave, R, Scilab, Common Lisp (CLISP,
D, Ocaml, Octave, R, Scilab, Common Lisp (CLISP,
Allegro CL, CFFI, UFFI). SWIG can also export its parse tree in
the form of XML and Lisp s-expressions. Major applications of SWIG
include generation of scripting language extension modules, rapid

View file

@ -7,6 +7,10 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/
Version 4.0.0 (in progress)
===========================
2019-02-04: wsfulton
[Pike] #1447 Pike has been disabled as a target language in SWIG as part of a
clean up to remove target languages that have been neglected/not functional.
2019-02-04: wsfulton
[Modula3] #1447 Modula3 has been disabled as a target language in SWIG as part of a
clean up to remove target languages that have been neglected/not functional.

View file

@ -126,7 +126,6 @@ SWIGOCTAVE Defined when using Octave
SWIGPERL Defined when using Perl
SWIGPHP Defined when using PHP (any version)
SWIGPHP7 Defined when using PHP7
SWIGPIKE Defined when using Pike
SWIGPYTHON Defined when using Python
SWIGR Defined when using R
SWIGRUBY Defined when using Ruby

View file

@ -134,7 +134,6 @@ Supported Target Language Options
-octave - Generate Octave wrappers
-perl - Generate Perl wrappers
-php7 - Generate PHP7 wrappers
-pike - Generate Pike wrappers
-python - Generate Python wrappers
-r - Generate R (aka GNU S) wrappers
-ruby - Generate Ruby wrappers

View file

@ -55,7 +55,6 @@ Last update : SWIG-4.0.0 (in progress)
<li><a href="Octave.html#Octave">Octave support</a></li>
<li><a href="Perl5.html#Perl5">Perl5 support</a></li>
<li><a href="Php.html#Php">PHP support</a></li>
<li><a href="Pike.html#Pike">Pike support</a></li>
<li><a href="Python.html#Python">Python support</a></li>
<li><a href="R.html#R">R support</a></li>
<li><a href="Ruby.html#Ruby">Ruby support</a></li>

View file

@ -33,7 +33,6 @@ Ocaml.html
Octave.html
Perl5.html
Php.html
Pike.html
Python.html
R.html
Ruby.html

View file

@ -1081,78 +1081,6 @@ php_clean:
rm -f core @EXTRA_CLEAN@
rm -f *.@OBJEXT@ *$(PHP_SO)
##################################################################
##### Pike ######
##################################################################
# Make sure these locate your Pike installation
PIKE = pike
PIKE_CFLAGS = @PIKECCDLFLAGS@ -DHAVE_CONFIG_H
PIKE_INCLUDE = @PIKEINCLUDE@
PIKE_LIB = @PIKELIB@
PIKE_DLNK = @PIKEDYNAMICLINKING@
PIKE_LIBOPTS = @PIKELINK@ @LIBS@ $(SYSLIBS)
PIKE_SCRIPT = $(RUNME).pike
# ----------------------------------------------------------------
# Build a C dynamically loadable module
# ----------------------------------------------------------------
pike: $(SRCDIR_SRCS)
$(SWIG) -pike $(SWIGOPT) -o $(ISRCS) $(INTERFACEPATH)
$(CC) -c $(CCSHARED) $(CPPFLAGS) $(CFLAGS) $(PIKE_CFLAGS) $(ISRCS) $(SRCDIR_SRCS) $(INCLUDES) $(PIKE_INCLUDE)
$(LDSHARED) $(CFLAGS) $(LDFLAGS) $(OBJS) $(IOBJS) $(PIKE_DLNK) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# -----------------------------------------------------------------
# Build a C++ dynamically loadable module
# -----------------------------------------------------------------
pike_cpp: $(SRCDIR_SRCS)
$(SWIG) -c++ -pike $(SWIGOPT) -o $(ICXXSRCS) $(INTERFACEPATH)
$(CXX) -c $(CCSHARED) $(CPPFLAGS) $(CXXFLAGS) $(PIKE_CFLAGS) $(ICXXSRCS) $(SRCDIR_SRCS) $(SRCDIR_CXXSRCS) $(INCLUDES) $(PIKE_INCLUDE)
$(CXXSHARED) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(IOBJS) $(PIKE_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# -----------------------------------------------------------------
# Build statically linked Pike interpreter
#
# These should only be used in conjunction with the %include embed.i
# library file
# -----------------------------------------------------------------
pike_static: $(SRCDIR_SRCS)
$(SWIG) -pike -lembed.i $(SWIGOPT) -o $(ISRCS) $(INTERFACEPATH)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(PIKE_CFLAGS) @LINKFORSHARED@ $(ISRCS) $(SRCDIR_SRCS) $(INCLUDES) \
$(PIKE_INCLUDE) $(LIBS) -L$(PIKE_LIB) $(PIKE_LIBOPTS) -o $(TARGET)
pike_cpp_static: $(SRCDIR_SRCS)
$(SWIG) -c++ -pike -lembed.i $(SWIGOPT) -o $(ICXXSRCS) $(INTERFACEPATH)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $(PIKE_CFLAGS) $(ICXXSRCS) $(SRCDIR_SRCS) $(SRCDIR_CXXSRCS) $(INCLUDES) \
$(PIKE_INCLUDE) $(LIBS) -L$(PIKE_LIB) $(PIKE_LIBOPTS) -o $(TARGET)
# -----------------------------------------------------------------
# Run pike example
# -----------------------------------------------------------------
pike_run:
$(RUNTOOL) $(PIKE) $(PIKE_SCRIPT) $(RUNPIPE)
# -----------------------------------------------------------------
# Version display
# -----------------------------------------------------------------
pike_version:
$(PIKE) -v 2>&1 | head -n 1
# -----------------------------------------------------------------
# Cleaning the Pike examples
# -----------------------------------------------------------------
pike_clean:
rm -f *_wrap* *~ .~* mypike@EXEEXT@
rm -f core @EXTRA_CLEAN@
rm -f *.@OBJEXT@ *@SO@
##################################################################
##### Chicken ######
##################################################################

View file

@ -25,7 +25,6 @@
%include <ocaml/ocamlkw.swg>
%include <perl5/perlkw.swg>
%include <php/phpkw.swg>
%include <pike/pikekw.swg>
%include <python/pythonkw.swg>
%include <r/rkw.swg>
%include <ruby/rubykw.swg>

View file

@ -69,7 +69,6 @@ skip-ruby = test -n "@SKIP_RUBY@"
skip-php = test -n "@SKIP_PHP@"
skip-ocaml = test -n "@SKIP_OCAML@"
skip-octave = test -n "@SKIP_OCTAVE@"
skip-pike = test -n "@SKIP_PIKE@"
skip-chicken = test -n "@SKIP_CHICKEN@"
skip-csharp = test -n "@SKIP_CSHARP@"
skip-lua = test -n "@SKIP_LUA@"
@ -116,7 +115,6 @@ check-aliveness:
@$(skip-ocaml) || ./$(TARGET) -ocaml -help
@$(skip-octave) || ./$(TARGET) -octave -help
@$(skip-php) || ./$(TARGET) -php7 -help
@$(skip-pike) || ./$(TARGET) -pike -help
@$(skip-chicken) || ./$(TARGET) -chicken -help
@$(skip-csharp) || ./$(TARGET) -csharp -help
@$(skip-allegrocl)|| ./$(TARGET) -allegrocl -help
@ -147,7 +145,6 @@ check-versions: \
check-ocaml-version \
check-octave-version \
check-php-version \
check-pike-version \
check-chicken-version \
check-csharp-version \
check-lua-version \
@ -186,7 +183,6 @@ check-examples: \
check-ocaml-examples \
check-octave-examples \
check-php-examples \
check-pike-examples \
check-chicken-examples \
check-csharp-examples \
check-lua-examples \
@ -211,7 +207,6 @@ ruby_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/ruby/check.list)
ocaml_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/ocaml/check.list)
octave_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/octave/check.list)
php_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/php/check.list)
pike_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/pike/check.list)
chicken_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/chicken/check.list)
csharp_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/csharp/check.list)
lua_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/lua/check.list)
@ -258,7 +253,6 @@ check-test-suite: \
check-ocaml-test-suite \
check-octave-test-suite \
check-php-test-suite \
check-pike-test-suite \
check-csharp-test-suite \
check-lua-test-suite \
check-allegrocl-test-suite \
@ -311,7 +305,6 @@ all-test-suite: \
all-ocaml-test-suite \
all-octave-test-suite \
all-php-test-suite \
all-pike-test-suite \
all-csharp-test-suite \
all-lua-test-suite \
all-allegrocl-test-suite \
@ -340,7 +333,6 @@ broken-test-suite: \
broken-ocaml-test-suite \
broken-octave-test-suite \
broken-php-test-suite \
broken-pike-test-suite \
broken-csharp-test-suite \
broken-lua-test-suite \
broken-allegrocl-test-suite \
@ -484,7 +476,7 @@ install-main:
@$(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@
lib-languages = typemaps tcl perl5 python guile java mzscheme ruby php ocaml octave \
pike chicken csharp allegrocl clisp lua cffi uffi r go d javascript javascript/jsc \
chicken csharp allegrocl clisp lua cffi uffi r go d javascript javascript/jsc \
javascript/v8 scilab xml
lib-modules = std

4
README
View file

@ -5,8 +5,8 @@ Version: 4.0.0 (in progress)
Tagline: SWIG is a compiler that integrates C and C++ with languages
including Perl, Python, Tcl, Ruby, PHP, Java, C#, D, Go, Lua,
Octave, R, Scheme (Guile, MzScheme/Racket, CHICKEN), Scilab,
Ocaml, Common Lisp (CLISP, Allegro CL, CFFI, UFFI)
and Pike. SWIG can also export its parse tree into XML and
Ocaml, Common Lisp (CLISP, Allegro CL, CFFI, UFFI).
SWIG can also export its parse tree into XML and
Lisp s-expressions.
SWIG reads annotated C/C++ header files and creates wrapper code (glue

View file

@ -71,7 +71,6 @@ eswig_SOURCES = CParse/cscanner.c \
Modules/overload.cxx \
Modules/perl5.cxx \
Modules/php.cxx \
Modules/pike.cxx \
Modules/python.cxx \
Modules/r.cxx \
Modules/ruby.cxx \

View file

@ -44,7 +44,6 @@ extern "C" {
Language *swig_php(void);
Language *swig_php4(void);
Language *swig_php5(void);
Language *swig_pike(void);
Language *swig_python(void);
Language *swig_r(void);
Language *swig_ruby(void);
@ -81,7 +80,7 @@ static TargetLanguageModule modules[] = {
{"-php4", swig_php4, NULL, Supported},
{"-php5", swig_php5, NULL, Supported},
{"-php7", swig_php, "PHP7", Supported},
{"-pike", swig_pike, "Pike", Supported},
{"-pike", NULL, "Pike", Disabled},
{"-python", swig_python, "Python", Supported},
{"-r", swig_r, "R (aka GNU S)", Supported},
{"-ruby", swig_ruby, "Ruby", Supported},

12
TODO
View file

@ -275,18 +275,6 @@ Mzscheme
** Add shadow class support for the Swindle system.
Pike
----
* Decide how to handle global variables (probably using something
like the Python module's cvar). Affects Examples/pike/simple.
* Decide how to handle static class member functions and member
variables.
* Should investigate the possibility of generating .cmod files
in addition to straight C/C++ code for extensions.
Common Lisp
-----------

View file

@ -2084,72 +2084,6 @@ AC_SUBST(OCAMLFIND)
AC_SUBST(OCAMLMKTOP)
AC_SUBST(CAMLP4)
#----------------------------------------------------------------
# Look for Pike
#----------------------------------------------------------------
# Identify the name of the Pike executable
# Priority: configure option, automatic search
PIKEBIN=
AC_ARG_WITH(pike, AS_HELP_STRING([--without-pike], [Disable Pike])
AS_HELP_STRING([--with-pike=path], [Set location of Pike executable]),[PIKEBIN="$withval"], [PIKEBIN="$alllang_default"])
# First, check for "--without-pike" or "--with-pike=no".
if test x"${PIKEBIN}" = xno; then
AC_MSG_NOTICE([Disabling Pike])
PIKEBIN=
else
if test "x$PIKEBIN" = xyes; then
AC_CHECK_PROGS(PIKE, pike pike7.8 pike7.6 pike7.4 pike7.2)
else
PIKE="$PIKEBIN"
fi
# Check for pike-config
# Priority: configure option, guessed from $PIKE, search from list
AC_ARG_WITH(pike-config, AS_HELP_STRING([--with-pike-config=path],
[Set location of pike-config script]),
[PIKECONFIG="$withval"], [PIKECONFIG=""])
if test -z "$PIKECONFIG" -a -n "$PIKE"; then
AC_CHECK_PROGS(PIKECONFIG, $PIKE-config pike-config \
pike7.6-config pike7.4-config pike7.2-config)
fi
# Check for a --with-pikeincl option to configure
# Priority: configure option, info from $PIKECONFIG, guessed by pike script
AC_ARG_WITH(pikeincl, AS_HELP_STRING([--with-pikeincl=path],
[Set location of Pike include directory]),
[PIKEINCLUDE="-I$withval"], [PIKEINCLUDE=])
if test -n "$PIKE"; then
AC_MSG_CHECKING([for Pike header files])
if test -z "$PIKEINCLUDE" -a -n "$PIKECONFIG"; then
PIKEINCLUDE=`$PIKECONFIG --cflags`
fi
if test -z "$PIKEINCLUDE" -a -n "$PIKE"; then
PIKEINCLUDE=`$PIKE -x cflags`
if test -z "$PIKEINCLUDE"; then
PIKEPATH=`which $PIKE`
PIKEINCLUDE=`$PIKE Tools/check-include-path.pike $PIKEPATH`
PIKEINCLUDE="-I$PIKEINCLUDE"
fi
fi
if test -z "$PIKEINCLUDE"; then
AC_MSG_RESULT(not found)
else
AC_MSG_RESULT($PIKEINCLUDE)
fi
fi
fi
AC_SUBST(PIKEINCLUDE)
AC_SUBST(PIKECCDLFLAGS) dnl XXX: where is this used/defined?
AC_SUBST(PIKEDYNAMICLINKING) dnl XXX: where is this used/defined?
#----------------------------------------------------------------
# Look for CHICKEN
#----------------------------------------------------------------
@ -2864,13 +2798,6 @@ fi
AC_SUBST(SKIP_OCAML)
SKIP_PIKE=
if test -z "$PIKE" || test -z "$PIKEINCLUDE" ; then
SKIP_PIKE="1"
fi
AC_SUBST(SKIP_PIKE)
SKIP_CHICKEN=
if test -z "$CHICKEN_CSC" || test -z "$CHICKEN"; then
SKIP_CHICKEN="1"
@ -3043,7 +2970,6 @@ AC_CONFIG_FILES([
Examples/test-suite/octave/Makefile
Examples/test-suite/perl5/Makefile
Examples/test-suite/php/Makefile
Examples/test-suite/pike/Makefile
Examples/test-suite/python/Makefile
Examples/test-suite/ruby/Makefile
Examples/test-suite/scilab/Makefile
@ -3116,7 +3042,6 @@ test -n "$SKIP_OCAML" || langs="${langs}ocaml "
test -n "$SKIP_OCTAVE" || langs="${langs}octave "
test -n "$SKIP_PERL5" || langs="${langs}perl5 "
test -n "$SKIP_PHP" || langs="${langs}php "
test -n "$SKIP_PIKE" || langs="${langs}pike "
test -n "$SKIP_PYTHON" || langs="${langs}python "
test -n "$SKIP_R" || langs="${langs}r "
test -n "$SKIP_RUBY" || langs="${langs}ruby "