chiark / gitweb /
use python-config if it is present to get Python include path
authorSteven G. Johnson <stevenj@alum.mit.edu>
Thu, 28 Mar 2013 20:33:42 +0000 (16:33 -0400)
committerSteven G. Johnson <stevenj@alum.mit.edu>
Thu, 28 Mar 2013 21:02:59 +0000 (17:02 -0400)
NEWS
configure.ac

diff --git a/NEWS b/NEWS
index 67f4e9c73f579f122b85427b8ada9e32539b09d0..b5aad902889abc3f657f11394403a875ad382c5a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,10 @@ NLopt 2.4
 
 * Fix swig dir for VPATH builds, thanks to Sandro Vitenti for the bug report.
 
+* Use python-config program in the configure script to find the include
+  directories for Python, if possible (may be overridden by PYTHON_CONFIG
+  environment variable).
+
 * Bugfix in copy constructor for C++ and Python interfaces.
 
 NLopt 2.3.1 (16 September 2012)
index 69247c27542be9b7058b65a3c5674144fe5b64f3..11e112c83526232141c0079c949ea6cf9aaeff88 100644 (file)
@@ -162,10 +162,18 @@ else
 dnl Python:
 AM_PATH_PYTHON([],[have_python=yes],[have_python=no])
 if test $have_python = yes; then
-  AC_MSG_CHECKING([for Python include directory])
-  pinc=`echo "import distutils.sysconfig; print distutils.sysconfig.get_python_inc()" | $PYTHON - 2>/dev/null`
+  AC_ARG_VAR([PYTHON_CONFIG], [python-config program])
+  AC_PATH_PROGS([PYTHON_CONFIG], [python$PYTHON_VERSION-config python-config],
+                [unknown], [`dirname $PYTHON`:$PATH])
+  AC_MSG_CHECKING([for Python include flags])
+  if test "x$PYTHON_CONFIG" = "xunknown"; then
+      pinc=-I`echo "import distutils.sysconfig; print distutils.sysconfig.get_python_inc()" | $PYTHON - 2>/dev/null`
+      test "x$pinc" = "x-I" && pinc=""
+  else
+      pinc=`$PYTHON_CONFIG --includes 2>/dev/null`
+  fi
   AC_MSG_RESULT([${pinc:-unknown}])
-  test -n "$pinc" && PYTHON_INCLUDES="-I$pinc"
+  PYTHON_INCLUDES="$pinc"
   save_CPPFLAGS=$CPPFLAGS
   CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
   AC_CHECK_HEADER([Python.h], [], [AC_MSG_WARN([disabling Python wrappers])