r26555: Use python-config utility to find python compile/link flags.
authorJelmer Vernooij <jelmer@samba.org>
Fri, 21 Dec 2007 06:36:17 +0000 (00:36 -0600)
committerStefan Metzmacher <metze@samba.org>
Mon, 24 Dec 2007 07:50:59 +0000 (01:50 -0600)
source/scripting/python/config.m4

index 96e4da9add1f9798e645dea739fd75a5b5fb8515..8951b4da08362551723bc5a941eebe5baf45634d 100644 (file)
@@ -13,112 +13,18 @@ if test -z "$PYTHON"; then
        AC_MSG_WARN([No python found])
 fi
 
-#
-# Check for a version of Python >= 2.1.0
-#
-AC_MSG_CHECKING([for a version of Python >= '2.1.0'])
-ac_supports_python_ver=`$PYTHON -c "import sys, string; \
-       ver = string.split(sys.version)[[0]]; \
-       print ver >= '2.1.0'"`
-if test "$ac_supports_python_ver" != "True"; then
+AC_PATH_PROG([PYTHON_CONFIG],[python[$PYTHON_VERSION]-config])
+if test -z "$PYTHON_CONFIG"; then
        working_python=no
-       AC_MSG_RESULT([no])
-else 
-       AC_MSG_RESULT([yes])
-fi
-
-#
-# Check if you have distutils, else fail
-#
-AC_MSG_CHECKING([for the distutils Python package])
-ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
-if test -z "$ac_distutils_result"; then
-       AC_MSG_RESULT([yes])
-       working_python=yes
+       AC_MSG_WARN([No python-config found])
 else
-       AC_MSG_RESULT([no])
-       working_python=no
-fi
-
-#
-# Check for Python include path
-#
-AC_MSG_CHECKING([for Python include path])
-if test -z "$PYTHON_CPPFLAGS"; then
-       python_path=`$PYTHON -c "import distutils.sysconfig; \
-                       print distutils.sysconfig.get_python_inc();"`
-       if test -n "${python_path}"; then
-               python_path="-I$python_path"
-       fi
-       PYTHON_CPPFLAGS=$python_path
-fi
-AC_MSG_RESULT([$PYTHON_CPPFLAGS])
-AC_SUBST([PYTHON_CPPFLAGS])
-
-#
-# Check for Python library path
-#
-AC_MSG_CHECKING([for Python library path])
-if test -z "$PYTHON_LDFLAGS"; then
-       # (makes two attempts to ensure we've got a version number
-       # from the interpreter)
-       py_version=`$PYTHON -c "from distutils.sysconfig import *; \
-               from string import join; \
-               print join(get_config_vars('VERSION'))"`
-       if test "$py_version" = "[None]"; then
-               if test -n "$PYTHON_VERSION"; then
-                       py_version=$PYTHON_VERSION
-               else
-                       py_version=`$PYTHON -c "import sys; \
-                               print sys.version[[:3]]"`
-               fi
-       fi
-
-       PYTHON_LDFLAGS=`$PYTHON -c "from distutils.sysconfig import *; \
-               from string import join; \
-               print '-L' + get_python_lib(0,1), \
-                       '-lpython';"`$py_version
-fi             
-AC_MSG_RESULT([$PYTHON_LDFLAGS])
-AC_SUBST([PYTHON_LDFLAGS])
-
-#
-# Check for site packages
-#
-AC_MSG_CHECKING([for Python site-packages path])
-if test -z "$PYTHON_SITE_PKG"; then
-       PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
-                       print distutils.sysconfig.get_python_lib(0,0);"`
-fi
-AC_MSG_RESULT([$PYTHON_SITE_PKG])
-AC_SUBST([PYTHON_SITE_PKG])
-
-#
-# libraries which must be linked in when embedding
-#
-AC_MSG_CHECKING(python extra libraries)
-if test -z "$PYTHON_EXTRA_LIBS"; then
-   PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
-                       conf = distutils.sysconfig.get_config_var; \
-                       print conf('LOCALMODLIBS'), conf('LIBS')"`
-fi
-AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
-AC_SUBST(PYTHON_EXTRA_LIBS)
-
-#
-# linking flags needed when embedding
-#
-AC_MSG_CHECKING(python extra linking flags)
-if test -z "$PYTHON_EXTRA_LDFLAGS"; then
-       PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
-               conf = distutils.sysconfig.get_config_var; \
-               print conf('LINKFORSHARED')"`
+       working_python=yes
 fi
-AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
-AC_SUBST(PYTHON_EXTRA_LDFLAGS)
 
-SMB_EXT_LIB(LIBPYTHON, [$PYTHON_LDFLAGS], [$PYTHON_CPPFLAGS])
+PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
+PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
 
+SMB_EXT_LIB(LIBPYTHON, [$PYTHON_LDFLAGS], [$PYTHON_CFLAGS])
 
 AC_MSG_CHECKING(working python module support)
 if test x$working_python = xyes
@@ -126,7 +32,7 @@ then
        ac_save_LIBS="$LIBS"
        ac_save_CFLAGS="$CFLAGS"
        LIBS="$LIBS $PYTHON_LDFLAGS"
-       CFLAGS="$CFLAGS $PYTHON_CPPFLAGS"
+       CFLAGS="$CFLAGS $PYTHON_CFLAGS"
 
        AC_TRY_LINK([
                        #include <Python.h>