Author: jelmer Date: 2007-11-21 13:22:54 +0000 (Wed, 21 Nov 2007) New Revision: 26089
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26089 Log: Move python detection to a separate file, and don't make it an error if it isn't available. Added: branches/SAMBA_4_0/source/scripting/python/config.m4 Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/configure.ac branches/SAMBA_4_0/source/lib/tdb/libtdb.m4 Changeset: Property changes on: branches/SAMBA_4_0 ___________________________________________________________________ Name: bzr:revision-info ...skipped... Name: bzr:file-ids ...skipped... Name: bzr:revision-id:v3-trunk0 ...skipped... Modified: branches/SAMBA_4_0/source/configure.ac =================================================================== --- branches/SAMBA_4_0/source/configure.ac 2007-11-21 13:07:16 UTC (rev 26088) +++ branches/SAMBA_4_0/source/configure.ac 2007-11-21 13:22:54 UTC (rev 26089) @@ -78,125 +78,7 @@ 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) Modified: branches/SAMBA_4_0/source/lib/tdb/libtdb.m4 =================================================================== --- branches/SAMBA_4_0/source/lib/tdb/libtdb.m4 2007-11-21 13:07:16 UTC (rev 26088) +++ branches/SAMBA_4_0/source/lib/tdb/libtdb.m4 2007-11-21 13:22:54 UTC (rev 26089) @@ -28,35 +28,3 @@ 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) Added: branches/SAMBA_4_0/source/scripting/python/config.m4 =================================================================== --- branches/SAMBA_4_0/source/scripting/python/config.m4 2007-11-21 13:07:16 UTC (rev 26088) +++ branches/SAMBA_4_0/source/scripting/python/config.m4 2007-11-21 13:22:54 UTC (rev 26089) @@ -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])
