You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by tr...@apache.org on 2017/12/28 23:38:34 UTC
svn commit: r1819452 - /subversion/branches/swig-py3/build/ac-macros/swig.m4
Author: troycurtisjr
Date: Thu Dec 28 23:38:34 2017
New Revision: 1819452
URL: http://svn.apache.org/viewvc?rev=1819452&view=rev
Log:
On branch swig-py3: Make swig python configure error more meaningful if
Python.h is not found.
* build/ac-macros/swig.m4
(SVN_FIND_SWIG): Add a AC_CHECK_HEADER for Python.h to verify its existence,
and provide a meaningful error if it is not found.
Found By: danielsh
Modified:
subversion/branches/swig-py3/build/ac-macros/swig.m4
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=1819452&r1=1819451&r2=1819452&view=diff
==============================================================================
--- subversion/branches/swig-py3/build/ac-macros/swig.m4 (original)
+++ subversion/branches/swig-py3/build/ac-macros/swig.m4 Thu Dec 28 23:38:34 2017
@@ -112,74 +112,88 @@ AC_DEFUN(SVN_FIND_SWIG,
if test "$ac_cv_python_includes" = "none"; then
AC_MSG_WARN([python bindings cannot be built without distutils module])
- fi
-
- SVN_PY3C()
-
- if test "$py3c_found" = "no"; then
- 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="`$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="`$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="`$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"
- AC_CACHE_CHECK([for Python >= 3], [ac_cv_python_is_py3],[
- ac_cv_python_is_py3="no"
- $PYTHON -c 'import sys; sys.exit(0x3000000 > sys.hexversion)' && \
- ac_cv_python_is_py3="yes"
- ])
-
- if test "$ac_cv_python_is_py3" = "yes"; then
- SWIG_PY_OPTS="-python -py3"
+ if test "$python_header_found" = "no"; then
+ AC_MSG_WARN([Python.h not found, disabling swig bindings])
else
- SWIG_PY_OPTS="-python"
- fi
+ SVN_PY3C()
- dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT
- dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT
- dnl thus the egrep patterns have a + in them.
- SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
- AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
- [svn_cv_pycfmt_apr_int64_t], [
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
- [#include <apr.h>
- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
- [svn_cv_pycfmt_apr_int64_t="L"])
- fi
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
- [#include <apr.h>
- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
- [svn_cv_pycfmt_apr_int64_t="l"])
+ if test "$py3c_found" = "no"; then
+ 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="`$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="`$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="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
+ ])
+ SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+
+ AC_CACHE_CHECK([for Python >= 3], [ac_cv_python_is_py3],[
+ ac_cv_python_is_py3="no"
+ $PYTHON -c 'import sys; sys.exit(0x3000000 > sys.hexversion)' && \
+ ac_cv_python_is_py3="yes"
+ ])
+
+ if test "$ac_cv_python_is_py3" = "yes"; then
+ SWIG_PY_OPTS="-python -py3"
+ else
+ SWIG_PY_OPTS="-python"
+ fi
+
+ dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT
+ dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT
+ dnl thus the egrep patterns have a + in them.
+ SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
+ AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
+ [svn_cv_pycfmt_apr_int64_t], [
+ if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+ AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
+ [#include <apr.h>
+ MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+ [svn_cv_pycfmt_apr_int64_t="L"])
+ fi
+ if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+ AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
+ [#include <apr.h>
+ MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+ [svn_cv_pycfmt_apr_int64_t="l"])
+ fi
+ if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+ AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd],
+ [#include <apr.h>
+ MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+ [svn_cv_pycfmt_apr_int64_t="i"])
+ fi
+ ])
+ CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS"
+ if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+ AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform])
+ fi
+ AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT],
+ ["$svn_cv_pycfmt_apr_int64_t"],
+ [Define to the Python/C API format character suitable]
+ [ for apr_int64_t])
fi
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd],
- [#include <apr.h>
- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
- [svn_cv_pycfmt_apr_int64_t="i"])
- fi
- ])
- CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS"
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform])
fi
- AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT],
- ["$svn_cv_pycfmt_apr_int64_t"],
- [Define to the Python/C API format character suitable]
- [ for apr_int64_t])
fi
fi