Author: troycurtisjr
Date: Sun Jan 6 00:42:27 2019
New Revision: 1850519
URL: http://svn.apache.org/viewvc?rev=1850519&view=rev
Log:
On branch swig-py3: Improve error messages for swig language builds.
* Makefile.in
(SWIG_PY_ERRMSG, SWIG_PL_ERRMSG, SWIG_RB_ERRMSG): New
* build/ac-macros/swig.m4
(SWIG_PY_ERRMSG, SWIG_PL_ERRMSG, SWIG_RB_ERRMSG): Set a meaningful error
message if the language binding is not configured for any reason, and clear
the error message if the configuration is successful.
* build/generator/gen_make.py
(Generator.write): Add 'name' and 'short_upper' to the ezt template data for
each swig language option.
* build/generator/templates/build-outputs.mk.ezt
(.swig_py_checked, .swig_pl_checked, .swig_rb_checked): New make targets.
(autogen-swig-py, autogen-swig-pl, autogen-swig-rb, swig-py, swig-pl,
swig-rb):
Add corresponding swig_<lang>_checked dependency to top-level swig building
targets.
Modified:
subversion/branches/swig-py3/Makefile.in
subversion/branches/swig-py3/build/ac-macros/swig.m4
subversion/branches/swig-py3/build/generator/gen_make.py
subversion/branches/swig-py3/build/generator/templates/build-outputs.mk.ezt
Modified: subversion/branches/swig-py3/Makefile.in
URL:
http://svn.apache.org/viewvc/subversion/branches/swig-py3/Makefile.in?rev=1850519&r1=1850518&r2=1850519&view=diff
==============================================================================
--- subversion/branches/swig-py3/Makefile.in (original)
+++ subversion/branches/swig-py3/Makefile.in Sun Jan 6 00:42:27 2019
@@ -150,7 +150,9 @@ SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ @S
SWIG_PY_COMPILE = @SWIG_PY_COMPILE@
SWIG_PY_LINK = @SWIG_PY_LINK@
SWIG_PY_LIBS = @SWIG_PY_LIBS@
+SWIG_PY_ERRMSG = @SWIG_PY_ERRMSG@
SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
+SWIG_PL_ERRMSG = @SWIG_PL_ERRMSG@
SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby
SWIG_RB_COMPILE = @SWIG_RB_COMPILE@
SWIG_RB_LINK = @SWIG_RB_LINK@
@@ -159,6 +161,7 @@ SWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB
SWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@
SWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@
SWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site
+SWIG_RB_ERRMSG = @SWIG_RB_ERRMSG@
CTYPESGEN = @CTYPESGEN@
CTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python
Modified: subversion/branches/swig-py3/build/ac-macros/swig.m4
URL:
http://svn.apache.org/viewvc/subversion/branches/swig-py3/build/ac-macros/swig.m4?rev=1850519&r1=1850518&r2=1850519&view=diff
==============================================================================
--- subversion/branches/swig-py3/build/ac-macros/swig.m4 (original)
+++ subversion/branches/swig-py3/build/ac-macros/swig.m4 Sun Jan 6 00:42:27
2019
@@ -103,6 +103,7 @@ AC_DEFUN(SVN_FIND_SWIG,
SWIG_PY_COMPILE="none"
SWIG_PY_LINK="none"
SWIG_PY_OPTS="none"
+ SWIG_PY_ERRMSG="check config.log for details"
if test "$PYTHON" != "none"; then
AC_MSG_NOTICE([Configuring python swig binding])
@@ -112,6 +113,7 @@ AC_DEFUN(SVN_FIND_SWIG,
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
@@ -125,11 +127,13 @@ AC_DEFUN(SVN_FIND_SWIG,
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],[
@@ -193,6 +197,9 @@ AC_DEFUN(SVN_FIND_SWIG,
["$svn_cv_pycfmt_apr_int64_t"],
[Define to the Python/C API format character
suitable]
[ for apr_int64_t])
+
+ dnl SWIG Python bindings successfully configured, clear the error
message
+ SWIG_PY_ERRMSG=""
fi
fi
@@ -200,6 +207,7 @@ AC_DEFUN(SVN_FIND_SWIG,
fi
+ SWIG_PL_ERRMSG="check config.log for details"
if test "$PERL" != "none"; then
AC_MSG_CHECKING([perl version])
dnl Note that the q() bit is there to avoid unbalanced brackets
@@ -210,6 +218,9 @@ AC_DEFUN(SVN_FIND_SWIG,
SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$PERL -MExtUtils::Embed -e ccopts`"
SWIG_PL_LINK="`$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
@@ -217,6 +228,7 @@ AC_DEFUN(SVN_FIND_SWIG,
SWIG_RB_COMPILE="none"
SWIG_RB_LINK="none"
+ SWIG_RB_ERRMSG="check config.log for details"
if test "$RUBY" != "none"; then
if test x"$SWIG_VERSION" = x"3""00""008"; then
# Use a local variable to escape the '#' sign.
@@ -334,6 +346,9 @@ int main()
[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
AC_SUBST(SWIG)
AC_SUBST(SWIG_PY_INCLUDES)
@@ -341,8 +356,10 @@ int main()
AC_SUBST(SWIG_PY_LINK)
AC_SUBST(SWIG_PY_LIBS)
AC_SUBST(SWIG_PY_OPTS)
+ AC_SUBST(SWIG_PY_ERRMSG)
AC_SUBST(SWIG_PL_INCLUDES)
AC_SUBST(SWIG_PL_LINK)
+ AC_SUBST(SWIG_PL_ERRMSG)
AC_SUBST(SWIG_RB_LINK)
AC_SUBST(SWIG_RB_LIBS)
AC_SUBST(SWIG_RB_INCLUDES)
@@ -350,4 +367,5 @@ int main()
AC_SUBST(SWIG_RB_SITE_LIB_DIR)
AC_SUBST(SWIG_RB_SITE_ARCH_DIR)
AC_SUBST(SWIG_RB_TEST_VERBOSE)
+ AC_SUBST(SWIG_RB_ERRMSG)
])
Modified: subversion/branches/swig-py3/build/generator/gen_make.py
URL:
http://svn.apache.org/viewvc/subversion/branches/swig-py3/build/generator/gen_make.py?rev=1850519&r1=1850518&r2=1850519&view=diff
==============================================================================
--- subversion/branches/swig-py3/build/generator/gen_make.py (original)
+++ subversion/branches/swig-py3/build/generator/gen_make.py Sun Jan 6
00:42:27 2019
@@ -208,7 +208,9 @@ class Generator(gen_base.GeneratorBase):
swig_lang_deps[objname.lang].append(str(objname))
for lang in self.swig.langs:
- data.swig_langs.append(_eztdata(short=self.swig.short[lang],
+ data.swig_langs.append(_eztdata(name=lang,
+ short=self.swig.short[lang],
+
short_upper=self.swig.short[lang].upper(),
deps=swig_lang_deps[lang]))
########################################
Modified:
subversion/branches/swig-py3/build/generator/templates/build-outputs.mk.ezt
URL:
http://svn.apache.org/viewvc/subversion/branches/swig-py3/build/generator/templates/build-outputs.mk.ezt?rev=1850519&r1=1850518&r2=1850519&view=diff
==============================================================================
--- subversion/branches/swig-py3/build/generator/templates/build-outputs.mk.ezt
(original)
+++ subversion/branches/swig-py3/build/generator/templates/build-outputs.mk.ezt
Sun Jan 6 00:42:27 2019
@@ -70,8 +70,18 @@ RELEASE_MODE = 1
# Section 3: SWIG autogen rules
########################################
[for swig_langs]
-autogen-swig-[swig_langs.short]:[for swig_langs.deps] [swig_langs.deps][end]
+.swig_[swig_langs.short]_checked:
+ @if [ -n "$(SWIG_[swig_langs.short_upper]_ERRMSG)" ]; then \
+ echo "SWIG [swig_langs.name] disabled at configure time:
$(SWIG_[swig_langs.short_upper]_ERRMSG)" >&2; \
+ exit 1; \
+ fi
+ @touch $@
+
+autogen-swig-[swig_langs.short]: .swig_[swig_langs.short]_checked [for
swig_langs.deps] [swig_langs.deps][end]
autogen-swig: autogen-swig-[swig_langs.short]
+
+# Ensure the swig build targets depend on the configuration check
+swig-[swig_langs.short]: .swig_[swig_langs.short]_checked
[end]