Author: jamessan
Date: Fri Nov 24 20:38:47 2017
New Revision: 1816254

URL: http://svn.apache.org/viewvc?rev=1816254&view=rev
Log:
Add SWIG_FEATURES variable (and lang-specific variants) to tune how swig 
bindings are generated.

SWIG_FEATURES is used for general swig options, like -Wall, while
SWIG_(PL|PY|RB)_FEATURES allows tuning language specific settings.

This replaces the incorrect usage of CPPFLAGS as the mechanism for controlling
swig's behavior, thus avoiding the need to filter unknown flags before passing
them on to swig (c.f., r1722164).

* Makefile.in,
  configure.ac:
  (SWIG_CPPFLAGS): Removed
  (SWIG_FEATURES, SWIG_PL_FEATURES, SWIG_PY_FEATURES, SWIG_RB_FEATURE): Added

* build.conf
  (swig-*-opts): Replace SWIG_CPPFLAGS with SWIG_FEATURES and add relevant
    SWIG_*_FEATURES


Modified:
    subversion/trunk/Makefile.in
    subversion/trunk/build.conf
    subversion/trunk/configure.ac

Modified: subversion/trunk/Makefile.in
URL: 
http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1816254&r1=1816253&r2=1816254&view=diff
==============================================================================
--- subversion/trunk/Makefile.in (original)
+++ subversion/trunk/Makefile.in Fri Nov 24 20:38:47 2017
@@ -190,7 +190,10 @@ CXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS
 CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
 LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
 SWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS)
-SWIG_CPPFLAGS = @SWIG_CPPFLAGS@ $(EXTRA_CPPFLAGS)
+SWIG_FEATURES = @SWIG_FEATURES@
+SWIG_PY_FEATURES = @SWIG_PY_FEATURES@
+SWIG_PL_FEATURES = @SWIG_PL_FEATURES@
+SWIG_RB_FEATURES = @SWIG_RB_FEATURES@
 
 COMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) 
$(INCLUDES)
 COMPILE_NOWARN = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CNOWARNFLAGS) $(CFLAGS) 
$(INCLUDES)

Modified: subversion/trunk/build.conf
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build.conf?rev=1816254&r1=1816253&r2=1816254&view=diff
==============================================================================
--- subversion/trunk/build.conf (original)
+++ subversion/trunk/build.conf Fri Nov 24 20:38:47 2017
@@ -98,9 +98,9 @@ test-scripts =
 
 bdb-test-scripts =
 
-swig-python-opts = $(SWIG_CPPFLAGS) -python -classic
-swig-perl-opts = $(SWIG_CPPFLAGS) -perl -nopm -noproxy
-swig-ruby-opts = $(SWIG_CPPFLAGS) -ruby
+swig-python-opts = $(SWIG_FEATURES) -python $(SWIG_PY_FEATURES) -classic
+swig-perl-opts = $(SWIG_FEATURES) -perl $(SWIG_PL_FEATURES) -nopm -noproxy
+swig-ruby-opts = $(SWIG_FEATURES) -ruby $(SWIG_RB_FEATURES)
 swig-languages = python perl ruby
 swig-dirs = 
         subversion/bindings/swig/python

Modified: subversion/trunk/configure.ac
URL: 
http://svn.apache.org/viewvc/subversion/trunk/configure.ac?rev=1816254&r1=1816253&r2=1816254&view=diff
==============================================================================
--- subversion/trunk/configure.ac (original)
+++ subversion/trunk/configure.ac Fri Nov 24 20:38:47 2017
@@ -1358,6 +1358,10 @@ if test "$RUBY" != "none"; then
 fi
 
 SVN_CHECK_SWIG
+AC_ARG_VAR(SWIG_FEATURES, [SWIG feature flags common to all bindings])
+AC_ARG_VAR(SWIG_RB_FEATURES, [SWIG feature flags specific to Ruby bindings])
+AC_ARG_VAR(SWIG_PL_FEATURES, [SWIG feature flags specific to Perl bindings])
+AC_ARG_VAR(SWIG_PY_FEATURES, [SWIG feature flags specific to Python bindings])
 
 SVN_CHECK_CTYPESGEN
 
@@ -1534,12 +1538,6 @@ if test "$CC" = "clang"; then
   SVN_STRIP_FLAG(CPPFLAGS, [-no-cpp-precomp ])
 fi
 
-# Need to strip '-no-cpp-precomp' from CPPFLAGS for SWIG as well.
-SWIG_CPPFLAGS="$CPPFLAGS"
-SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-no-cpp-precomp ])
-SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-Wdate-time ])
-AC_SUBST([SWIG_CPPFLAGS])
-
 dnl Since this is used only on Unix-y systems, define the path separator as '/'
 AC_DEFINE_UNQUOTED(SVN_PATH_LOCAL_SEPARATOR, '/',
         [Defined to be the path separator used on your local filesystem])


Reply via email to