From 29cf3a93cc8a67edcf307ba944bb3d5f90a3d55a Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 21 Nov 2007 13:22:54 +0100 Subject: r26089: Move python detection to a separate file, and don't make it an error if it isn't available. (This used to be commit 4e7709379de2fb9bf1eafd9ee9cbe10a0e6df51e) --- source4/configure.ac | 120 +------------------------------------ source4/lib/tdb/libtdb.m4 | 32 ---------- source4/scripting/python/config.m4 | 117 ++++++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+), 151 deletions(-) create mode 100644 source4/scripting/python/config.m4 (limited to 'source4') diff --git a/source4/configure.ac b/source4/configure.ac index bb0dbf47f1..53fcc11804 100644 --- a/source4/configure.ac +++ b/source4/configure.ac @@ -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) diff --git a/source4/lib/tdb/libtdb.m4 b/source4/lib/tdb/libtdb.m4 index 7682edada9..1e17a7a4f2 100644 --- a/source4/lib/tdb/libtdb.m4 +++ b/source4/lib/tdb/libtdb.m4 @@ -28,35 +28,3 @@ AC_CHECK_HEADERS(getopt.h sys/select.h sys/time.h) AC_HAVE_DECL(pread, [#include ]) AC_HAVE_DECL(pwrite, [#include ]) - -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/source4/scripting/python/config.m4 b/source4/scripting/python/config.m4 new file mode 100644 index 0000000000..36bf8a6049 --- /dev/null +++ b/source4/scripting/python/config.m4 @@ -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]) -- cgit