r26089: Move python detection to a separate file, and don't make it an error if it...
authorJelmer Vernooij <jelmer@samba.org>
Wed, 21 Nov 2007 12:22:54 +0000 (13:22 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:45:59 +0000 (05:45 +0100)
source/configure.ac
source/lib/tdb/libtdb.m4
source/scripting/python/config.m4 [new file with mode: 0644]

index bb0dbf47f11158eaa2be84b746f7b602f21085b0..53fcc11804892bef6b86ba17ffed81868b8a8bea 100644 (file)
@@ -78,125 +78,7 @@ m4_include(lib/tls/config.m4)
 m4_include(lib/events/config.m4)
 
 dnl m4_include(auth/kerberos/config.m4)
-
-AC_ARG_VAR([PYTHON_VERSION],[The installed Python
-       version to use, for example '2.3'. This string 
-       will be appended to the Python interpreter
-       canonical name.])
-
-AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]])
-if test -z "$PYTHON"; then
-       AC_MSG_ERROR([No python found])
-fi
-
-AC_SUBST(PYTHON)
-
-#
-# 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_MSG_RESULT([no])
-       AC_MSG_ERROR([No recent version of python found])
-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])
-else
-       AC_MSG_RESULT([no])
-       AC_MSG_ERROR([distutils not available])
-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')"`
-fi
-AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
-AC_SUBST(PYTHON_EXTRA_LDFLAGS)
-
-SMB_EXT_LIB(LIBPYTHON, [$PYTHON_LDFLAGS], [$PYTHON_CPPFLAGS])
-SMB_ENABLE(LIBPYTHON)
-
+m4_include(scripting/python/config.m4)
 m4_include(auth/gensec/config.m4)
 m4_include(smbd/process_model.m4)
 m4_include(ntvfs/posix/config.m4)
index 7682edada9312d9c6c204ba56dc2db005de78d3d..1e17a7a4f23c74ea30eaf3914c5346b1915776df 100644 (file)
@@ -28,35 +28,3 @@ AC_CHECK_HEADERS(getopt.h sys/select.h sys/time.h)
 
 AC_HAVE_DECL(pread, [#include <unistd.h>])
 AC_HAVE_DECL(pwrite, [#include <unistd.h>])
-
-AC_MSG_CHECKING([for Python])
-
-PYTHON=
-AC_ARG_WITH(python,
-[  --with-python=PYTHONNAME  build Python libraries],
-[ case "${withval-python}" in
-  yes)
-        PYTHON=python
-        ;;
-  no)
-        PYTHON=
-        ;;
-  *)
-        PYTHON=${withval-python}
-        ;;
-  esac ])
-
-if test x"$PYTHON" != "x"; then
-       incdir=`python -c 'import sys; print "%s/include/python%d.%d" % (sys.prefix, sys.version_info[[0]], sys.version_info[[1]])'`
-       CPPFLAGS="$CPPFLAGS -I $incdir"
-fi
-
-if test x"$PYTHON" != "x"; then
-       AC_MSG_RESULT([${withval-python}])
-else
-       SMB_ENABLE(swig_tdb, NO)
-       AC_MSG_RESULT(no)
-fi
-
-AC_SUBST(PYTHON)
diff --git a/source/scripting/python/config.m4 b/source/scripting/python/config.m4
new file mode 100644 (file)
index 0000000..36bf8a6
--- /dev/null
@@ -0,0 +1,117 @@
+AC_ARG_VAR([PYTHON_VERSION],[The installed Python
+       version to use, for example '2.3'. This string 
+       will be appended to the Python interpreter
+       canonical name.])
+
+AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]])
+if test -z "$PYTHON"; then
+       AC_MSG_WARN([No python found])
+       SMB_ENABLE(LIBPYTHON,NO)
+else
+       SMB_ENABLE(LIBPYTHON,YES)
+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_MSG_RESULT([no])
+       AC_MSG_ERROR([No recent version of python found])
+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])
+else
+       AC_MSG_RESULT([no])
+       AC_MSG_ERROR([distutils not available])
+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')"`
+fi
+AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
+AC_SUBST(PYTHON_EXTRA_LDFLAGS)
+
+SMB_EXT_LIB(LIBPYTHON, [$PYTHON_LDFLAGS], [$PYTHON_CPPFLAGS])