From 8aa4086136f8bd1564fc9ce6082d81ce3168482e Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Mon, 4 Feb 2019 19:48:25 +0000 Subject: [PATCH] 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 --- ANNOUNCE | 2 +- CHANGES.current | 4 ++ Doc/Manual/Preprocessor.html | 1 - Doc/Manual/SWIG.html | 1 - Doc/Manual/Sections.html | 1 - Doc/Manual/chapters | 1 - Examples/Makefile.in | 72 ---------------------------------- Lib/allkw.swg | 1 - Makefile.in | 10 +---- README | 4 +- Source/Makefile.am | 1 - Source/Modules/swigmain.cxx | 3 +- TODO | 12 ------ configure.ac | 75 ------------------------------------ 14 files changed, 9 insertions(+), 179 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index fccccb201..2caaaea71 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -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 diff --git a/CHANGES.current b/CHANGES.current index 9c95ba63f..e9a2ef895 100644 --- a/CHANGES.current +++ b/CHANGES.current @@ -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. diff --git a/Doc/Manual/Preprocessor.html b/Doc/Manual/Preprocessor.html index 7969f3e53..68b6af862 100644 --- a/Doc/Manual/Preprocessor.html +++ b/Doc/Manual/Preprocessor.html @@ -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 diff --git a/Doc/Manual/SWIG.html b/Doc/Manual/SWIG.html index 2296d6a81..0906836db 100644 --- a/Doc/Manual/SWIG.html +++ b/Doc/Manual/SWIG.html @@ -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 diff --git a/Doc/Manual/Sections.html b/Doc/Manual/Sections.html index 3eea38526..f3844365e 100644 --- a/Doc/Manual/Sections.html +++ b/Doc/Manual/Sections.html @@ -55,7 +55,6 @@ Last update : SWIG-4.0.0 (in progress)
  • Octave support
  • Perl5 support
  • PHP support
  • -
  • Pike support
  • Python support
  • R support
  • Ruby support
  • diff --git a/Doc/Manual/chapters b/Doc/Manual/chapters index cfa504104..cae1c5366 100644 --- a/Doc/Manual/chapters +++ b/Doc/Manual/chapters @@ -33,7 +33,6 @@ Ocaml.html Octave.html Perl5.html Php.html -Pike.html Python.html R.html Ruby.html diff --git a/Examples/Makefile.in b/Examples/Makefile.in index a5a0e9477..fff85f5f7 100644 --- a/Examples/Makefile.in +++ b/Examples/Makefile.in @@ -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 ###### ################################################################## diff --git a/Lib/allkw.swg b/Lib/allkw.swg index 563190e19..2de1a12dd 100644 --- a/Lib/allkw.swg +++ b/Lib/allkw.swg @@ -25,7 +25,6 @@ %include %include %include -%include %include %include %include diff --git a/Makefile.in b/Makefile.in index 5e537715d..b9e926108 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 diff --git a/README b/README index 5fcfc3fe3..c0c3808d1 100644 --- a/README +++ b/README @@ -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 diff --git a/Source/Makefile.am b/Source/Makefile.am index 78c580d35..e9802c520 100644 --- a/Source/Makefile.am +++ b/Source/Makefile.am @@ -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 \ diff --git a/Source/Modules/swigmain.cxx b/Source/Modules/swigmain.cxx index a916cf5d0..8cc20f660 100644 --- a/Source/Modules/swigmain.cxx +++ b/Source/Modules/swigmain.cxx @@ -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}, diff --git a/TODO b/TODO index 01d9a8d78..97e5319dd 100644 --- a/TODO +++ b/TODO @@ -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 ----------- diff --git a/configure.ac b/configure.ac index 936895ef7..713b4b90f 100644 --- a/configure.ac +++ b/configure.ac @@ -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 "