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])