blob: 981bce2f01e37a5f3a3c06528a0cf23914ee8ebd [file] [log] [blame]
Group: defaults
Subject: r2 - in subversion/trunk: . build/ac-macros subversion/bindings/swig
Author: futatuki
Date: Fri Dec 18 09:32:35 2020
New Revision: 2
Log:
Distinguish configure scripts on release mode and non release mode.
Although makefiles in Subversion's release tarball do not support generating
SWIG language bindings C source files using swig, the configure scripts
shipped with the release tarball had an option to specify how to find
SWIG executable, and checked it. To avoid this, we introduce "release mode"
to the configure script and hide the option and code to check a SWIG
executable on it.
* . (svn:ignore):
Ignore aclocal.m4.
* Makefile.in (local-extraclean):
Clean up aclocal.m4.
* aclocal.m4.in ():
Renamed from aclocal.m4
* autogen.sh ():
Write an macro "SVN_RELEASE_MODE" definition to aclocal.m4 if --release
is specfied on the command line.
* build/ac-macros/swig.m4
(): Also mension about Perl and Ruby.
(SVN_CHECK_SWIG):
- Hide --with-swig option in release mode.
- Check SWIG executable only if non release mode and at least one of
SWIG bindings is specfied to be built.
(SVN_FIND_SWIG):
Move checks for each bindings into new macro SVN_DETERMINE_SWIG_OPTS.
(SVN_DETERMINE_SWIG_OPTS): New macro split from SVN_FIND_SWIG.
- When not in release mode, warn if Perl/Python/Ruby interpreter is set but
SWIG is not found. Also do not build them with make swig-pl/make swig-py/
make swig-rb in this case.
- Check swig version only when it is needed and when not in release mode.
* configure.ac ():
- Tweak help string for --with-swig-perl, --with-swig-python,
--with-swig-ruby.
- Warn if --with-swig-perl is not specified but variable 'PERL' is set.
- Warn if --with-swig-ruby is not specified but variable 'RUBY' is set,
even the value is not 'no' nor 'none'.
* subversion/bindings/swig/INSTALL (Step 2):
Mention that configure and makefiles in the release tarball don't
support generating SWIG bindings C source files.
Review by: brane
(commit message, help string, and the structure of
SVN_CHECK_SWIG macro)
Added:
subversion/trunk/aclocal.m4.in
- copied unchanged from r1, subversion/trunk/aclocal.m4
Deleted:
subversion/trunk/aclocal.m4
Modified:
subversion/trunk/ (props changed)
subversion/trunk/Makefile.in
subversion/trunk/autogen.sh
subversion/trunk/build/ac-macros/swig.m4
subversion/trunk/configure.ac
subversion/trunk/subversion/bindings/swig/INSTALL
Modified: subversion/trunk/Makefile.in
==============================================================================
--- subversion/trunk/Makefile.in Fri Dec 18 08:23:03 2020 (r1)
+++ subversion/trunk/Makefile.in Fri Dec 18 09:32:35 2020 (r2)
@@ -478,6 +478,7 @@
local-extraclean: extraclean-bindings local-distclean
rm -f $(top_srcdir)/build-outputs.mk \
$(top_srcdir)/subversion/svn_private_config.h.in \
+ $(top_srcdir)/aclocal.m4 \
$(top_srcdir)/configure \
$(top_srcdir)/gen-make.opts \
$(top_srcdir)/build/config.guess \
Copied: subversion/trunk/aclocal.m4.in (from r1, subversion/trunk/aclocal.m4)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ subversion/trunk/aclocal.m4.in Fri Dec 18 09:32:35 2020 (r2, copy of r1, subversion/trunk/aclocal.m4)
@@ -0,0 +1,61 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+# aclocal.m4: Supplementary macros used by Subversion's configure.ac
+#
+# These are here rather than directly in configure.ac, since this prevents
+# comments in the macro files being copied into configure.ac, producing
+# useless bloat. (This is significant - a 12kB reduction in size!)
+
+# Include macros distributed by the APR project
+sinclude(build/ac-macros/find_apr.m4)
+sinclude(build/ac-macros/find_apu.m4)
+
+# Include Subversion's own custom macros
+sinclude(build/ac-macros/svn-macros.m4)
+
+sinclude(build/ac-macros/apache.m4)
+sinclude(build/ac-macros/apr.m4)
+sinclude(build/ac-macros/aprutil.m4)
+sinclude(build/ac-macros/apr_memcache.m4)
+sinclude(build/ac-macros/ax_boost_base.m4)
+sinclude(build/ac-macros/ax_boost_unit_test_framework.m4)
+sinclude(build/ac-macros/berkeley-db.m4)
+sinclude(build/ac-macros/compiler.m4)
+sinclude(build/ac-macros/ctypesgen.m4)
+sinclude(build/ac-macros/java.m4)
+sinclude(build/ac-macros/sasl.m4)
+sinclude(build/ac-macros/serf.m4)
+sinclude(build/ac-macros/sqlite.m4)
+sinclude(build/ac-macros/py3c.m4)
+sinclude(build/ac-macros/swig.m4)
+sinclude(build/ac-macros/zlib.m4)
+sinclude(build/ac-macros/lz4.m4)
+sinclude(build/ac-macros/kwallet.m4)
+sinclude(build/ac-macros/libsecret.m4)
+sinclude(build/ac-macros/utf8proc.m4)
+sinclude(build/ac-macros/macosx.m4)
+
+# Include the libtool macros
+sinclude(build/libtool.m4)
+sinclude(build/ltoptions.m4)
+sinclude(build/ltsugar.m4)
+sinclude(build/ltversion.m4)
+sinclude(build/lt~obsolete.m4)
Modified: subversion/trunk/autogen.sh
==============================================================================
--- subversion/trunk/autogen.sh Fri Dec 18 08:23:03 2020 (r1)
+++ subversion/trunk/autogen.sh Fri Dec 18 09:32:35 2020 (r2)
@@ -51,6 +51,17 @@
;;
esac
done
+
+# Generate aclocal.m4
+cp -f aclocal.m4.in aclocal.m4
+if test -n "$RELEASE_MODE"; then
+ cat <<EOF >>aclocal.m4
+
+# Generated by 'autogen.sh --release'
+AC_DEFUN([SVN_RELEASE_MODE],[1])
+EOF
+fi
+
# ### The order of parameters is important; buildcheck.sh depends on it and
# ### we don't want to copy the fancy option parsing loop there. For the
# ### same reason, all parameters should be quoted, so that buildcheck.sh
Modified: subversion/trunk/build/ac-macros/swig.m4
==============================================================================
--- subversion/trunk/build/ac-macros/swig.m4 Fri Dec 18 08:23:03 2020 (r1)
+++ subversion/trunk/build/ac-macros/swig.m4 Fri Dec 18 09:32:35 2020 (r2)
@@ -22,29 +22,39 @@
dnl if it is, then check to see if we have the correct version of python.
dnl
dnl if we do, then set up the appropriate SWIG_ variables to build the
-dnl python bindings.
+dnl Python, Perl, and Ruby bindings.
AC_DEFUN(SVN_CHECK_SWIG,
[
- AC_ARG_WITH(swig,
- AS_HELP_STRING([--with-swig=PATH],
- [Try to use 'PATH/bin/swig' to build the
- swig bindings. If PATH is not specified,
- look for a 'swig' binary in your PATH.]),
+ m4_ifndef([SVN_RELEASE_MODE],
[
- case "$withval" in
+ AC_ARG_WITH(swig,
+ AS_HELP_STRING([--with-swig=PATH],
+ [Try to use 'PATH/bin/swig' to build the
+ swig bindings. If PATH is not specified,
+ look for a 'swig' binary in your PATH.]),
+ [
+ case "$withval" in
yes)
svn_find_swig_arg=required
;;
*)
svn_find_swig_arg=$withval
;;
- esac
- ],
- [
- svn_find_swig_arg=check
+ esac
+ ],
+ [
+ if test "$SWIG_PY_PYTHON" != "none" \
+ || test "$SWIG_PL_PERL" != "none" \
+ || test "$SWIG_RB_RUBY" != "none" ; then
+ svn_find_swig_arg=check
+ else
+ svn_find_swig_arg=no
+ fi
+ ])
+ SVN_FIND_SWIG($svn_find_swig_arg)
])
- SVN_FIND_SWIG($svn_find_swig_arg)
+ SVN_DETERMINE_SWIG_OPTS
])
AC_DEFUN(SVN_FIND_SWIG,
@@ -93,92 +103,104 @@
AC_MSG_WARN([Subversion requires SWIG >= 1.3.24])
fi
fi
+])
- SWIG_PY_COMPILE="none"
- SWIG_PY_LINK="none"
- SWIG_PY_OPTS="none"
- SWIG_PY_ERRMSG="check config.log for details"
- if test "$SWIG_PY_PYTHON" != "none"; then
- AC_MSG_NOTICE([Configuring python swig binding])
- AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
- ac_cv_python_includes="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --includes`"
- ])
- SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
-
- if test "$ac_cv_python_includes" = "none"; then
- SWIG_PY_ERRMSG="no distutils found"
- AC_MSG_WARN([python bindings cannot be built without distutils module])
+AC_DEFUN(SVN_DETERMINE_SWIG_OPTS,
+[
+ m4_ifndef([SVN_RELEASE_MODE],
+ [
+ # not in release mode
+ SWIG_PY_COMPILE="none"
+ SWIG_PY_LINK="none"
+ SWIG_PY_OPTS="none"
+ SWIG_PY_ERRMSG="check config.log for details"
+ if test "$SWIG_PY_PYTHON" = "none"; then
+ SWIG_PY_ERRMSG="You specfied not to build Python bindings or \
+suitable Python interpreter is not found."
else
-
- python_header_found="no"
-
- save_cppflags="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $ac_cv_python_includes"
- AC_CHECK_HEADER(Python.h, [
- python_header_found="yes"
- ])
- CPPFLAGS="$save_cppflags"
-
- if test "$python_header_found" = "no"; then
- SWIG_PY_ERRMSG="no Python.h found"
- AC_MSG_WARN([Python.h not found; disabling python swig bindings])
+ if test "$SWIG" = "none"; then
+ AC_MSG_WARN([You specified to build SWIG Python bindings, but SWIG is not found.])
+ SWIG_PY_ERRMSG="SWIG is need to build SWIG Python bindings, but it is not found."
else
- SVN_PY3C()
+ AC_MSG_NOTICE([Configuring python swig binding])
- if test "$py3c_found" = "no"; then
- SWIG_PY_ERRMSG="py3c library not found"
- AC_MSG_WARN([py3c library not found; disabling python swig bindings])
+ AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
+ ac_cv_python_includes="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --includes`"
+ ])
+ SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
+
+ if test "$ac_cv_python_includes" = "none"; then
+ SWIG_PY_ERRMSG="no distutils found"
+ AC_MSG_WARN([python bindings cannot be built without distutils module])
else
- AC_CACHE_CHECK([for compiling Python extensions], [ac_cv_python_compile],[
- ac_cv_python_compile="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --compile`"
- ])
- SWIG_PY_COMPILE="$ac_cv_python_compile $CFLAGS"
- AC_CACHE_CHECK([for linking Python extensions], [ac_cv_python_link],[
- ac_cv_python_link="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --link`"
- ])
- SWIG_PY_LINK="$ac_cv_python_link"
+ python_header_found="no"
- AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
- ac_cv_python_libs="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
+ save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_cv_python_includes"
+ AC_CHECK_HEADER(Python.h, [
+ python_header_found="yes"
])
- SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+ CPPFLAGS="$save_cppflags"
- if test "$SWIG" = "none"; then
- SWIG_PY_ERRMSG=""
+ if test "$python_header_found" = "no"; then
+ SWIG_PY_ERRMSG="no Python.h found"
+ AC_MSG_WARN([Python.h not found; disabling python swig bindings])
else
- # Look more closely at the SWIG and Python versions to
- # determine SWIG_PY_OPTS. We can skip this if we already
- # have the SWIG-generated files.
- AC_CACHE_CHECK([for Python >= 3], [ac_cv_python_is_py3],[
- ac_cv_python_is_py3="no"
- $SWIG_PY_PYTHON -c 'import sys; sys.exit(0x3000000 > sys.hexversion)' && \
- ac_cv_python_is_py3="yes"
- ])
+ SVN_PY3C()
- if test "$ac_cv_python_is_py3" = "yes"; then
- if test "$SWIG_VERSION" -ge "300010"; then
- dnl SWIG Python bindings successfully configured, clear the error message dnl
- SWIG_PY_ERRMSG=""
- else
- SWIG_PY_ERRMSG="SWIG version is not suitable"
- AC_MSG_WARN([Subversion Python bindings for Python 3 require SWIG 3.0.10 or newer])
- fi
- if test "$SWIG_VERSION" -lt "400000"; then
- SWIG_PY_OPTS="-python -py3 -nofastunpack -modern"
- else
- SWIG_PY_OPTS="-python -py3 -nofastunpack"
- fi
+ if test "$py3c_found" = "no"; then
+ SWIG_PY_ERRMSG="py3c library not found"
+ AC_MSG_WARN([py3c library not found; disabling python swig bindings])
else
- if test "$SWIG_VERSION" -lt "400000"; then
- SWIG_PY_OPTS="-python -classic"
- dnl SWIG Python bindings successfully configured, clear the error message dnl
- SWIG_PY_ERRMSG=""
+ AC_CACHE_CHECK([for compiling Python extensions], [ac_cv_python_compile],[
+ ac_cv_python_compile="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --compile`"
+ ])
+ SWIG_PY_COMPILE="$ac_cv_python_compile $CFLAGS"
+
+ AC_CACHE_CHECK([for linking Python extensions], [ac_cv_python_link],[
+ ac_cv_python_link="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --link`"
+ ])
+ SWIG_PY_LINK="$ac_cv_python_link"
+
+ AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
+ ac_cv_python_libs="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
+ ])
+ SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+
+ # Look more closely at the SWIG and Python versions to
+ # determine SWIG_PY_OPTS. We can skip this if we already
+ # have the SWIG-generated files.
+ AC_CACHE_CHECK([for Python >= 3], [ac_cv_python_is_py3],[
+ ac_cv_python_is_py3="no"
+ $SWIG_PY_PYTHON -c 'import sys; sys.exit(0x3000000 > sys.hexversion)' && \
+ ac_cv_python_is_py3="yes"
+ ])
+
+ if test "$ac_cv_python_is_py3" = "yes"; then
+ if test "$SWIG_VERSION" -ge "300010"; then
+ dnl SWIG Python bindings successfully configured, clear the error message dnl
+ SWIG_PY_ERRMSG=""
+ else
+ SWIG_PY_ERRMSG="SWIG version is not suitable"
+ AC_MSG_WARN([Subversion Python bindings for Python 3 require SWIG 3.0.10 or newer])
+ fi
+ if test "$SWIG_VERSION" -lt "400000"; then
+ SWIG_PY_OPTS="-python -py3 -nofastunpack -modern"
+ else
+ SWIG_PY_OPTS="-python -py3 -nofastunpack"
+ fi
else
- SWIG_PY_OPTS="-python -nofastunpack"
- SWIG_PY_ERRMSG="SWIG version is not suitable"
- AC_MSG_WARN([Subversion Python bindings for Python 2 require 1.3.24 <= SWIG < 4.0.0])
+ if test "$SWIG_VERSION" -lt "400000"; then
+ SWIG_PY_OPTS="-python -classic"
+ dnl SWIG Python bindings successfully configured, clear the error message dnl
+ SWIG_PY_ERRMSG=""
+ else
+ SWIG_PY_OPTS="-python -nofastunpack"
+ SWIG_PY_ERRMSG="SWIG version is not suitable"
+ AC_MSG_WARN([Subversion Python bindings for Python 2 require 1.3.24 <= SWIG < 4.0.0])
+ fi
fi
fi
fi
@@ -186,151 +208,373 @@
fi
fi
- fi
+ SWIG_PL_ERRMSG="check config.log for details"
+ if test "$SWIG_PL_PERL" = "none"; then
+ SWIG_PL_ERRMSG="You specfied not to build Perl bindings or \
+suitable Perl interpreter is not found."
+ else
+ if test "$SWIG" = "none"; then
+ AC_MSG_WARN([You specified to build SWIG Perl bindings, but SWIG is not found.])
+ SWIG_PL_ERRMSG="SWIG is need to build SWIG Perl bindings, but it is not found."
+ else
+ AC_MSG_CHECKING([perl version])
+ dnl Note that the q() bit is there to avoid unbalanced brackets
+ dnl which m4 really doesn't like.
+ PERL_VERSION="`$SWIG_PL_PERL -e 'q([[); print $]] * 1000000,$/;'`"
+ AC_MSG_RESULT([$PERL_VERSION])
+ if test "$PERL_VERSION" -ge "5008000"; then
+ SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$SWIG_PL_PERL -MExtUtils::Embed -e ccopts`"
+ SWIG_PL_LINK="`$SWIG_PL_PERL -MExtUtils::Embed -e ldopts`"
+ SWIG_PL_LINK="`SVN_REMOVE_STANDARD_LIB_DIRS($SWIG_PL_LINK)`"
- SWIG_PL_ERRMSG="check config.log for details"
- if test "$SWIG_PL_PERL" != "none"; then
- AC_MSG_CHECKING([perl version])
- dnl Note that the q() bit is there to avoid unbalanced brackets
- dnl which m4 really doesn't like.
- PERL_VERSION="`$SWIG_PL_PERL -e 'q([[); print $]] * 1000000,$/;'`"
- AC_MSG_RESULT([$PERL_VERSION])
- if test "$PERL_VERSION" -ge "5008000"; then
- SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$SWIG_PL_PERL -MExtUtils::Embed -e ccopts`"
- SWIG_PL_LINK="`$SWIG_PL_PERL -MExtUtils::Embed -e ldopts`"
- SWIG_PL_LINK="`SVN_REMOVE_STANDARD_LIB_DIRS($SWIG_PL_LINK)`"
+ dnl SWIG Perl bindings successfully configured, clear the error message
+ SWIG_PL_ERRMSG=""
+ else
+ AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
+ fi
+ fi
+ fi
- dnl SWIG Perl bindings successfully configured, clear the error message
- SWIG_PL_ERRMSG=""
+ SWIG_RB_COMPILE="none"
+ SWIG_RB_LINK="none"
+ SWIG_RB_ERRMSG="check config.log for details"
+ if test "$SWIG_RB_RUBY" = "none"; then
+ SWIG_RB_ERRMSG="You specfied not to build Ruby bindings or \
+suitable Ruby interpreter is not found."
else
- AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
- fi
- fi
+ if test "$SWIG" = "none"; then
+ AC_MSG_WARN([You specified to build SWIG Ruby bindings, but SWIG is not found.])
+ SWIG_RB_ERRMSG="SWIG is need to build SWIG Ruby bindings, but it is not found."
+ else
+ if test x"$SWIG_VERSION" = x"3""00""008"; then
+ # Use a local variable to escape the '#' sign.
+ ruby_swig_issue_602='https://subversion.apache.org/docs/release-notes/1.11#ruby-swig-issue-602'
+ AC_MSG_WARN([Ruby bindings are known not to support swig 3.0.8; see $ruby_swig_issue_602])
+ fi
+ rbconfig="$SWIG_RB_RUBY -rrbconfig -e "
+
+ for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
+ rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
+ do
+ rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
+ eval "rbconfig_$var_name=\"$rbconfig_tmp\""
+ done
+
+ AC_MSG_NOTICE([Configuring Ruby SWIG binding])
+
+ AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
+ if test -d "$rbconfig_rubyhdrdir"; then
+ dnl Ruby >=1.9
+ svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir"
+ if test -d "$rbconfig_rubyarchhdrdir"; then
+ dnl Ruby >=2.0
+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
+ else
+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
+ fi
+ else
+ dnl Ruby 1.8
+ svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
+ fi
+ ])
+ SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
- SWIG_RB_COMPILE="none"
- SWIG_RB_LINK="none"
- SWIG_RB_ERRMSG="check config.log for details"
- if test "$SWIG_RB_RUBY" != "none"; then
- if test x"$SWIG_VERSION" = x"3""00""008"; then
- # Use a local variable to escape the '#' sign.
- ruby_swig_issue_602='https://subversion.apache.org/docs/release-notes/1.11#ruby-swig-issue-602'
- AC_MSG_WARN([Ruby bindings are known not to support swig 3.0.8; see $ruby_swig_issue_602])
+ AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
+ svn_cv_ruby_compile="$rbconfig_CC $CFLAGS"
+ ])
+ SWIG_RB_COMPILE="$svn_cv_ruby_compile"
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-ansi])
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c89])
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c90])
+ dnl FIXME: Check that the compiler for Ruby actually supports this flag
+ SWIG_RB_COMPILE="$SWIG_RB_COMPILE -Wno-int-to-pointer-cast"
+
+ AC_CACHE_CHECK([how to link Ruby extensions], [svn_cv_ruby_link],[
+ svn_cv_ruby_link="`$SWIG_RB_RUBY -e 'ARGV.shift; print ARGV.join(%q( ))' \
+ $rbconfig_LDSHARED`"
+ svn_cv_ruby_link="$rbconfig_CC $svn_cv_ruby_link"
+ svn_cv_ruby_link="$svn_cv_ruby_link -shrext .$rbconfig_DLEXT"
+ ])
+ SWIG_RB_LINK="$svn_cv_ruby_link"
+
+ AC_CACHE_CHECK([how to link Ruby libraries], [ac_cv_ruby_libs], [
+ ac_cv_ruby_libs="$rbconfig_LIBRUBYARG $rbconfig_LIBS"
+ ])
+ SWIG_RB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_ruby_libs)`"
+
+ AC_MSG_CHECKING([for rb_errinfo])
+ old_CFLAGS="$CFLAGS"
+ old_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $svn_cv_ruby_includes"
+ SVN_STRIP_FLAG([CFLAGS], [-ansi])
+ SVN_STRIP_FLAG([CFLAGS], [-std=c89])
+ SVN_STRIP_FLAG([CFLAGS], [-std=c90])
+ LIBS="$SWIG_RB_LIBS"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
+#include <ruby.h>
+int main()
+{rb_errinfo();}]])], have_rb_errinfo="yes", have_rb_errinfo="no")
+ if test "$have_rb_errinfo" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_RB_ERRINFO], [1],
+ [Define to 1 if you have the `rb_errinfo' function.])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ CFLAGS="$old_CFLAGS"
+ LIBS="$old_LIBS"
+
+ AC_CACHE_VAL([svn_cv_ruby_sitedir],[
+ svn_cv_ruby_sitedir="$rbconfig_sitedir"
+ ])
+ AC_ARG_WITH([ruby-sitedir],
+ AS_HELP_STRING([--with-ruby-sitedir=SITEDIR],
+ [install Ruby bindings in SITEDIR
+ (default is same as ruby's one)]),
+ [svn_ruby_installdir="$withval"],
+ [svn_ruby_installdir="$svn_cv_ruby_sitedir"])
+
+ AC_MSG_CHECKING([where to install Ruby scripts])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir_libsuffix],[
+ svn_cv_ruby_sitedir_libsuffix="`echo "$rbconfig_sitelibdir" | \
+ $SED -e "s,^$rbconfig_sitedir,,"`"
+ ])
+ SWIG_RB_SITE_LIB_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_libsuffix}"
+ AC_MSG_RESULT([$SWIG_RB_SITE_LIB_DIR])
+
+ AC_MSG_CHECKING([where to install Ruby extensions])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
+ svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
+ $SED -e "s,^$rbconfig_sitedir,,"`"
+ ])
+ SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
+ AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])
+
+ AC_MSG_CHECKING([how to use output level for Ruby bindings tests])
+ AC_CACHE_VAL([svn_cv_ruby_test_verbose],[
+ svn_cv_ruby_test_verbose="normal"
+ ])
+ AC_ARG_WITH([ruby-test-verbose],
+ AS_HELP_STRING([--with-ruby-test-verbose=LEVEL],
+ [how to use output level for Ruby bindings tests
+ (default is normal)]),
+ [svn_ruby_test_verbose="$withval"],
+ [svn_ruby_test_verbose="$svn_cv_ruby_test_verbose"])
+ SWIG_RB_TEST_VERBOSE="$svn_ruby_test_verbose"
+ AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
+
+ dnl SWIG Ruby bindings successfully configured, clear the error message
+ SWIG_RB_ERRMSG=""
+ fi
fi
- rbconfig="$SWIG_RB_RUBY -rrbconfig -e "
+ ],
+ [
+ # in release mode
+ SWIG_PY_COMPILE="none"
+ SWIG_PY_LINK="none"
+ SWIG_PY_OPTS="none"
+ SWIG_PY_ERRMSG="check config.log for details"
+ if test "$SWIG_PY_PYTHON" = "none"; then
+ SWIG_PY_ERRMSG="You specfied not to build Python bindings or \
+suitable Python interpreter is not found."
+ else
+ AC_MSG_NOTICE([Configuring python swig binding])
+
+ AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
+ ac_cv_python_includes="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --includes`"
+ ])
+ SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
- for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
- rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
- do
- rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
- eval "rbconfig_$var_name=\"$rbconfig_tmp\""
- done
-
- AC_MSG_NOTICE([Configuring Ruby SWIG binding])
-
- AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
- if test -d "$rbconfig_rubyhdrdir"; then
- dnl Ruby >=1.9
- svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir"
- if test -d "$rbconfig_rubyarchhdrdir"; then
- dnl Ruby >=2.0
- svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
+ if test "$ac_cv_python_includes" = "none"; then
+ SWIG_PY_ERRMSG="no distutils found"
+ AC_MSG_WARN([python bindings cannot be built without distutils module])
else
- svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
+
+ python_header_found="no"
+
+ save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_cv_python_includes"
+ AC_CHECK_HEADER(Python.h, [
+ python_header_found="yes"
+ ])
+ CPPFLAGS="$save_cppflags"
+
+ if test "$python_header_found" = "no"; then
+ SWIG_PY_ERRMSG="no Python.h found"
+ AC_MSG_WARN([Python.h not found; disabling python swig bindings])
+ else
+ SVN_PY3C()
+
+ if test "$py3c_found" = "no"; then
+ SWIG_PY_ERRMSG="py3c library not found"
+ AC_MSG_WARN([py3c library not found; disabling python swig bindings])
+ else
+ AC_CACHE_CHECK([for compiling Python extensions], [ac_cv_python_compile],[
+ ac_cv_python_compile="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --compile`"
+ ])
+ SWIG_PY_COMPILE="$ac_cv_python_compile $CFLAGS"
+
+ AC_CACHE_CHECK([for linking Python extensions], [ac_cv_python_link],[
+ ac_cv_python_link="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --link`"
+ ])
+ SWIG_PY_LINK="$ac_cv_python_link"
+
+ AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
+ ac_cv_python_libs="`$SWIG_PY_PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
+ ])
+ SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+
+ SWIG_PY_ERRMSG=""
+ fi
+ fi
fi
+ fi
+
+ SWIG_PL_ERRMSG="check config.log for details"
+ if test "$SWIG_PL_PERL" = "none"; then
+ SWIG_PL_ERRMSG="You specfied not to build Perl bindings or \
+suitable Perl interpreter is not found."
else
- dnl Ruby 1.8
- svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
+ AC_MSG_CHECKING([perl version])
+ dnl Note that the q() bit is there to avoid unbalanced brackets
+ dnl which m4 really doesn't like.
+ PERL_VERSION="`$SWIG_PL_PERL -e 'q([[); print $]] * 1000000,$/;'`"
+ AC_MSG_RESULT([$PERL_VERSION])
+ if test "$PERL_VERSION" -ge "5008000"; then
+ SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$SWIG_PL_PERL -MExtUtils::Embed -e ccopts`"
+ SWIG_PL_LINK="`$SWIG_PL_PERL -MExtUtils::Embed -e ldopts`"
+ SWIG_PL_LINK="`SVN_REMOVE_STANDARD_LIB_DIRS($SWIG_PL_LINK)`"
+
+ dnl SWIG Perl bindings successfully configured, clear the error message
+ SWIG_PL_ERRMSG=""
+ else
+ AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
+ fi
fi
- ])
- SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
- AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
- svn_cv_ruby_compile="$rbconfig_CC $CFLAGS"
- ])
- SWIG_RB_COMPILE="$svn_cv_ruby_compile"
- SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-ansi])
- SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c89])
- SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c90])
- dnl FIXME: Check that the compiler for Ruby actually supports this flag
- SWIG_RB_COMPILE="$SWIG_RB_COMPILE -Wno-int-to-pointer-cast"
-
- AC_CACHE_CHECK([how to link Ruby extensions], [svn_cv_ruby_link],[
- svn_cv_ruby_link="`$SWIG_RB_RUBY -e 'ARGV.shift; print ARGV.join(%q( ))' \
- $rbconfig_LDSHARED`"
- svn_cv_ruby_link="$rbconfig_CC $svn_cv_ruby_link"
- svn_cv_ruby_link="$svn_cv_ruby_link -shrext .$rbconfig_DLEXT"
- ])
- SWIG_RB_LINK="$svn_cv_ruby_link"
+ SWIG_RB_COMPILE="none"
+ SWIG_RB_LINK="none"
+ SWIG_RB_ERRMSG="check config.log for details"
+ if test "$SWIG_RB_RUBY" = "none"; then
+ SWIG_RB_ERRMSG="You specfied not to build Ruby bindings or \
+suitable Ruby interpreter is not found."
+ else
+ rbconfig="$SWIG_RB_RUBY -rrbconfig -e "
- AC_CACHE_CHECK([how to link Ruby libraries], [ac_cv_ruby_libs], [
- ac_cv_ruby_libs="$rbconfig_LIBRUBYARG $rbconfig_LIBS"
- ])
- SWIG_RB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_ruby_libs)`"
+ for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
+ rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
+ do
+ rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
+ eval "rbconfig_$var_name=\"$rbconfig_tmp\""
+ done
+
+ AC_MSG_NOTICE([Configuring Ruby SWIG binding])
+
+ AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
+ if test -d "$rbconfig_rubyhdrdir"; then
+ dnl Ruby >=1.9
+ svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir"
+ if test -d "$rbconfig_rubyarchhdrdir"; then
+ dnl Ruby >=2.0
+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
+ else
+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
+ fi
+ else
+ dnl Ruby 1.8
+ svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
+ fi
+ ])
+ SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
- AC_MSG_CHECKING([for rb_errinfo])
- old_CFLAGS="$CFLAGS"
- old_LIBS="$LIBS"
- CFLAGS="$CFLAGS $svn_cv_ruby_includes"
- SVN_STRIP_FLAG([CFLAGS], [-ansi])
- SVN_STRIP_FLAG([CFLAGS], [-std=c89])
- SVN_STRIP_FLAG([CFLAGS], [-std=c90])
- LIBS="$SWIG_RB_LIBS"
- AC_LINK_IFELSE([AC_LANG_SOURCE([[
+ AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
+ svn_cv_ruby_compile="$rbconfig_CC $CFLAGS"
+ ])
+ SWIG_RB_COMPILE="$svn_cv_ruby_compile"
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-ansi])
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c89])
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c90])
+ dnl FIXME: Check that the compiler for Ruby actually supports this flag
+ SWIG_RB_COMPILE="$SWIG_RB_COMPILE -Wno-int-to-pointer-cast"
+
+ AC_CACHE_CHECK([how to link Ruby extensions], [svn_cv_ruby_link],[
+ svn_cv_ruby_link="`$SWIG_RB_RUBY -e 'ARGV.shift; print ARGV.join(%q( ))' \
+ $rbconfig_LDSHARED`"
+ svn_cv_ruby_link="$rbconfig_CC $svn_cv_ruby_link"
+ svn_cv_ruby_link="$svn_cv_ruby_link -shrext .$rbconfig_DLEXT"
+ ])
+ SWIG_RB_LINK="$svn_cv_ruby_link"
+
+ AC_CACHE_CHECK([how to link Ruby libraries], [ac_cv_ruby_libs], [
+ ac_cv_ruby_libs="$rbconfig_LIBRUBYARG $rbconfig_LIBS"
+ ])
+ SWIG_RB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_ruby_libs)`"
+
+ AC_MSG_CHECKING([for rb_errinfo])
+ old_CFLAGS="$CFLAGS"
+ old_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $svn_cv_ruby_includes"
+ SVN_STRIP_FLAG([CFLAGS], [-ansi])
+ SVN_STRIP_FLAG([CFLAGS], [-std=c89])
+ SVN_STRIP_FLAG([CFLAGS], [-std=c90])
+ LIBS="$SWIG_RB_LIBS"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
#include <ruby.h>
int main()
{rb_errinfo();}]])], have_rb_errinfo="yes", have_rb_errinfo="no")
- if test "$have_rb_errinfo" = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_RB_ERRINFO], [1],
- [Define to 1 if you have the `rb_errinfo' function.])
- else
- AC_MSG_RESULT([no])
- fi
- CFLAGS="$old_CFLAGS"
- LIBS="$old_LIBS"
+ if test "$have_rb_errinfo" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_RB_ERRINFO], [1],
+ [Define to 1 if you have the `rb_errinfo' function.])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ CFLAGS="$old_CFLAGS"
+ LIBS="$old_LIBS"
- AC_CACHE_VAL([svn_cv_ruby_sitedir],[
- svn_cv_ruby_sitedir="$rbconfig_sitedir"
- ])
- AC_ARG_WITH([ruby-sitedir],
- AS_HELP_STRING([--with-ruby-sitedir=SITEDIR],
- [install Ruby bindings in SITEDIR
- (default is same as ruby's one)]),
- [svn_ruby_installdir="$withval"],
- [svn_ruby_installdir="$svn_cv_ruby_sitedir"])
-
- AC_MSG_CHECKING([where to install Ruby scripts])
- AC_CACHE_VAL([svn_cv_ruby_sitedir_libsuffix],[
- svn_cv_ruby_sitedir_libsuffix="`echo "$rbconfig_sitelibdir" | \
- $SED -e "s,^$rbconfig_sitedir,,"`"
- ])
- SWIG_RB_SITE_LIB_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_libsuffix}"
- AC_MSG_RESULT([$SWIG_RB_SITE_LIB_DIR])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir],[
+ svn_cv_ruby_sitedir="$rbconfig_sitedir"
+ ])
+ AC_ARG_WITH([ruby-sitedir],
+ AS_HELP_STRING([--with-ruby-sitedir=SITEDIR],
+ [install Ruby bindings in SITEDIR
+ (default is same as ruby's one)]),
+ [svn_ruby_installdir="$withval"],
+ [svn_ruby_installdir="$svn_cv_ruby_sitedir"])
+
+ AC_MSG_CHECKING([where to install Ruby scripts])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir_libsuffix],[
+ svn_cv_ruby_sitedir_libsuffix="`echo "$rbconfig_sitelibdir" | \
+ $SED -e "s,^$rbconfig_sitedir,,"`"
+ ])
+ SWIG_RB_SITE_LIB_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_libsuffix}"
+ AC_MSG_RESULT([$SWIG_RB_SITE_LIB_DIR])
- AC_MSG_CHECKING([where to install Ruby extensions])
- AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
- svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
- $SED -e "s,^$rbconfig_sitedir,,"`"
- ])
- SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
- AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])
+ AC_MSG_CHECKING([where to install Ruby extensions])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
+ svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
+ $SED -e "s,^$rbconfig_sitedir,,"`"
+ ])
+ SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
+ AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])
- AC_MSG_CHECKING([how to use output level for Ruby bindings tests])
- AC_CACHE_VAL([svn_cv_ruby_test_verbose],[
- svn_cv_ruby_test_verbose="normal"
- ])
- AC_ARG_WITH([ruby-test-verbose],
- AS_HELP_STRING([--with-ruby-test-verbose=LEVEL],
- [how to use output level for Ruby bindings tests
- (default is normal)]),
- [svn_ruby_test_verbose="$withval"],
- [svn_ruby_test_verbose="$svn_cv_ruby_test_verbose"])
- SWIG_RB_TEST_VERBOSE="$svn_ruby_test_verbose"
- AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
+ AC_MSG_CHECKING([how to use output level for Ruby bindings tests])
+ AC_CACHE_VAL([svn_cv_ruby_test_verbose],[
+ svn_cv_ruby_test_verbose="normal"
+ ])
+ AC_ARG_WITH([ruby-test-verbose],
+ AS_HELP_STRING([--with-ruby-test-verbose=LEVEL],
+ [how to use output level for Ruby bindings tests
+ (default is normal)]),
+ [svn_ruby_test_verbose="$withval"],
+ [svn_ruby_test_verbose="$svn_cv_ruby_test_verbose"])
+ SWIG_RB_TEST_VERBOSE="$svn_ruby_test_verbose"
+ AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
- dnl SWIG Ruby bindings successfully configured, clear the error message
- SWIG_RB_ERRMSG=""
- fi
+ dnl SWIG Ruby bindings successfully configured, clear the error message
+ SWIG_RB_ERRMSG=""
+ fi
+ ])
AC_SUBST(SWIG)
AC_SUBST(SWIG_PY_INCLUDES)
AC_SUBST(SWIG_PY_COMPILE)
Modified: subversion/trunk/configure.ac
==============================================================================
--- subversion/trunk/configure.ac Fri Dec 18 08:23:03 2020 (r1)
+++ subversion/trunk/configure.ac Fri Dec 18 09:32:35 2020 (r2)
@@ -1321,21 +1321,36 @@
AC_ARG_WITH(swig_perl,
[AS_HELP_STRING([[--with-swig-perl[=PATH|auto|no]|--without-swig-perl]],
- [specify path to SWIG bindings target Perl interpreter [default=auto]])],
+ [Specify path to SWIG bindings target Perl interpreter
+ [default=auto]. If the option value is 'auto' or it is not
+ specfied, search for the Perl program.]
+ m4_ifndef([SVN_RELEASE_MODE],
+ [[Implies --with-swig=yes if PATH is specfied or Perl
+ is found on 'auto' detection.]]))
+],
[],
[
-if test "$PERL" = "no" -o "$PERL" = "none"; then
- with_swig_perl=no
- AC_MSG_WARN([Disabling the SWIG Perl bindings' build by setting the PERL])
- AC_MSG_WARN([environment variable to "none" is deprecated.])
- AC_MSG_WARN([])
- AC_MSG_WARN([Please use --without-swig-perl instead.])
+if test -n "$PERL"; then
+ if test "$PERL" = "no" -o "$PERL" = "none"; then
+ with_swig_perl=no
+ AC_MSG_WARN([Disabling the SWIG Perl bindings' build by setting the PERL])
+ AC_MSG_WARN([environment variable to "none" is deprecated.])
+ AC_MSG_WARN([])
+ AC_MSG_WARN([Please use --without-swig-perl instead.])
+ else
+ with_swig_perl=auto
+ AC_MSG_WARN([Specfying the Perl path for SWIG Perl bindings' build])
+ AC_MSG_WARN([by setting the PERL environment variable is deprecated.])
+ AC_MSG_WARN([])
+ AC_MSG_WARN([Please use --with-swig-perl=PATH instead.])
+ fi
else
with_swig_perl=auto
fi
])
case $with_swig_perl in
yes|auto|"")
+ # honor PERL variable only if it is set and is full path.
AC_PATH_PROG(PERL, perl, none)
SWIG_PL_PERL="$PERL"
;;
@@ -1351,14 +1366,16 @@
# Python: as a target of SWIG Python bindings
AC_ARG_WITH(swig_python,
[AS_HELP_STRING([[--with-swig-python[=PATH|auto|no]|--without-swig-python]],
- [specify path to SWIG bindings target Python interpreter [default=auto]])],
+ [Specify path to SWIG bindings target Python interpreter
+ [default=auto]. If the option value is 'auto' or it is not
+ specfied, search for the Python program.]
+ m4_ifndef([SVN_RELEASE_MODE],
+ [[Implies --with-swig=yes if PATH is specfied or Python
+ is found on 'auto' detection.]]))
+],
[],
[
-if test "$PYTHON" = "no" -o "$PYTHON" = "none"; then
- with_swig_python=no
-else
with_swig_python=auto
-fi
])
case $with_swig_python in
yes|auto|"")
@@ -1375,21 +1392,36 @@
AC_ARG_WITH(swig_ruby,
[AS_HELP_STRING([[--with-swig-ruby[=PATH|auto|no]|--without-swig-ruby]],
- [specify path to SWIG bindings target Ruby interpreter [default=auto]])],
+ [specify path to SWIG bindings target Ruby interpreter
+ [default=auto]. If the option value is 'auto' or it is not
+ specfied, search for the Ruby program.]
+ m4_ifndef([SVN_RELEASE_MODE],
+ [[Implies --with-swig=yes if PATH is specfied or Ruby
+ is found on 'auto' detection.]]))
+],
[],
[
-if test "$RUBY" = "no" -o "$RUBY" = "none"; then
- with_swig_ruby=no
- AC_MSG_WARN([Disabling the SWIG Ruby bindings' build by setting the RUBY])
- AC_MSG_WARN([environment variable to "none" is deprecated.])
- AC_MSG_WARN([])
- AC_MSG_WARN([Please use --without-swig-ruby instead.])
+if test -n "$RUBY"; then
+ if test "$RUBY" = "no" -o "$RUBY" = "none"; then
+ with_swig_ruby=no
+ AC_MSG_WARN([Disabling the SWIG Ruby bindings' build by setting the RUBY])
+ AC_MSG_WARN([environment variable to "none" is deprecated.])
+ AC_MSG_WARN([])
+ AC_MSG_WARN([Please use --without-swig-ruby instead.])
+ else
+ with_swig_ruby="$RUBY"
+ AC_MSG_WARN([Specfying the Ruby path for SWIG Ruby bindings' build])
+ AC_MSG_WARN([by setting the RUBY environment variable is deprecated.])
+ AC_MSG_WARN([])
+ AC_MSG_WARN([Please use --with-swig-ruby=PATH instead.])
+ fi
else
with_swig_ruby=auto
fi
])
case $with_swig_ruby in
yes|auto|"")
+ # honor RUBY variable only if it is set and is full path.
AC_PATH_PROGS(RUBY, ruby ruby1 ruby1.8 ruby18 ruby1.9 ruby19 ruby1.9.3 ruby193 ruby2 ruby2.0 ruby20 ruby2.1 ruby21 ruby2.2 ruby22 ruby2.3 ruby23 ruby2.4 ruby24, none)
SWIG_RB_RUBY="$RUBY"
;;
Modified: subversion/trunk/subversion/bindings/swig/INSTALL
==============================================================================
--- subversion/trunk/subversion/bindings/swig/INSTALL Fri Dec 18 08:23:03 2020 (r1)
+++ subversion/trunk/subversion/bindings/swig/INSTALL Fri Dec 18 09:32:35 2020 (r2)
@@ -141,7 +141,13 @@
See Subversion's own INSTALL file for details.
- Make sure that Subversion's ./configure script sees your installed SWIG!
+ If you are using a Subversion distribution tarball and want to rebuild
+ the SWIG language bindings C source files with your installed SWIG,
+ you need to execute autogen.sh, because the bundled configure script
+ and makefiles don't support it.
+
+ If you don't use SWIG bindings C source files already generated,
+ make sure that Subversion's ./configure script sees your installed SWIG!
It tries to detect SWIG near the very end of its output.
You can find it by running 'grep "^SWIG=" config.log'.