]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2006-09-04 16:47:39 by siretart]
authorsiretart <siretart@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 4 Sep 2006 16:47:39 +0000 (16:47 +0000)
committersiretart <siretart@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 4 Sep 2006 16:47:39 +0000 (16:47 +0000)
These changes were necessary to make lcd4linux build on current debian etch/unstable
systems. I cannot really imagine how this was supposed to work, so I replaced
the old modified python.m4 with an uptodate version of ac_python_devel.m4 from
autoconf_archive. both .m4 files seem to have a common anchestor, but ac_python_devel.m4
has clearly seen a lot of more love, so let's better stay with upstream
(autoconf archive), so we can blame them if anything breaks.

Moreover, this actually works

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@705 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

ac_python_devel.m4 [new file with mode: 0644]
configure.in
python.m4 [deleted file]

diff --git a/ac_python_devel.m4 b/ac_python_devel.m4
new file mode 100644 (file)
index 0000000..6d67d4e
--- /dev/null
@@ -0,0 +1,185 @@
+dnl @synopsis AC_PYTHON_DEVEL([version])
+dnl
+dnl Checks for Python and tries to get the include path to 'Python.h'.
+dnl It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS) output
+dnl variables. Also exports $(PYTHON_EXTRA_LIBS) and
+dnl $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
+dnl
+dnl You can search for some particular version of Python by passing a
+dnl parameter to this macro, for example ">= '2.3.1'", or "== '2.4'".
+dnl Please note that you *have* to pass also an operator along with the
+dnl version to match, and pay special attention to the single quotes
+dnl surrounding the version number.
+dnl
+dnl If the user wants to employ a particular version of Python, she can
+dnl now pass to configure the PYTHON_VERSION environment variable. This
+dnl is only limited by the macro parameter set by the packager.
+dnl
+dnl This macro should work for all versions of Python >= 2.1.0. You can
+dnl disable the check for the python version by setting the
+dnl PYTHON_NOVERSIONCHECK environment variable to something else than
+dnl the empty string.
+dnl
+dnl If you need to use this macro for an older Python version, please
+dnl contact the authors. We're always open for feedback.
+dnl
+dnl @category InstalledPackages
+dnl @author Sebastian Huber <sebastian-huber@web.de>
+dnl @author Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+dnl @author Rafael Laboissiere <laboissiere@psy.mpg.de>
+dnl @author Andrew Collier <colliera@nu.ac.za>
+dnl @author Matteo Settenvini <matteo@member.fsf.org>
+dnl @version 2006-02-05
+dnl @license GPLWithACException
+
+AC_DEFUN([AC_PYTHON_DEVEL],[
+       #
+       # Allow the use of a (user set) custom python version
+       #
+       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([Cannot find python$PYTHON_VERSION in your system path])
+       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
+               if test -z "$PYTHON_NOVERSIONCHECK"; then
+                       AC_MSG_RESULT([no])
+                       AC_MSG_FAILURE([
+This version of the AC@&t@_PYTHON_DEVEL macro
+doesn't work properly with versions of Python before
+2.1.0. You may need to re-run configure, setting the
+variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
+PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
+Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
+to something else than an empty string.
+])dnl
+               else
+                       AC_MSG_RESULT([skip at user request])
+               fi
+       else 
+               AC_MSG_RESULT([yes])
+       fi
+       
+       #
+       # if the macro parameter ``version'' is set, honour it
+       #
+       if test -n "$1"; then
+               AC_MSG_CHECKING([for a version of Python $1])
+               ac_supports_python_ver=`$PYTHON -c "import sys, string; \
+                       ver = string.split(sys.version)[[0]]; \
+                       print ver $1"`
+               if test "$ac_supports_python_ver" = "True"; then
+                  AC_MSG_RESULT([yes])
+               else
+                       AC_MSG_RESULT([no])
+                       AC_MSG_ERROR([this package requires Python $1. 
+If you have it installed, but it isn't the default Python
+interpreter in your system path, please pass the PYTHON_VERSION 
+variable to configure. See ``configure --help'' for reference.
+])dnl
+               fi
+       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([cannot import Python module "distutils".
+Please check your Python installation. The error was:
+$ac_distutils_result])
+       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)
+])
index ca233da5bf892564e93e654f73162d938434646f..6cdb0685b9e215395b96fb0557f9e05e8f8d2e45 100644 (file)
@@ -46,6 +46,7 @@ sinclude(curses.m4)
 AC_CHECK_CURSES
 
 # Checks for X11
+AC_PATH_X
 AC_PATH_XTRA
 # double-check for X11
 if test "$no_x" != "yes"; then
@@ -77,8 +78,8 @@ AC_ARG_WITH(python,
 [  --with-python           enable python support [[default=no]]],
 [AC_MSG_RESULT($withval)], [AC_MSG_RESULT(no)])
 if test "$with_python" = "yes"; then
-  sinclude(python.m4)
-  PYTHON__DEVEL
+  sinclude(ac_python_devel.m4)
+  AC_PYTHON_DEVEL
 fi
 
 # drivers
diff --git a/python.m4 b/python.m4
deleted file mode 100644 (file)
index 02cbe4e..0000000
--- a/python.m4
+++ /dev/null
@@ -1,234 +0,0 @@
-## ------------------------
-## Python file handling
-## From Andrew Dalke
-## Updated by James Henstridge
-## ------------------------
-
-# Copyright 1999, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# AM_PATH_PYTHON([MINIMUM-VERSION])
-
-# Adds support for distributing Python modules and packages.  To
-# install modules, copy them to $(pythondir), using the python_PYTHON
-# automake variable.  To install a package with the same name as the
-# automake package, install to $(pkgpythondir), or use the
-# pkgpython_PYTHON automake variable.
-
-# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
-# locations to install python extension modules (shared libraries).
-# Another macro is required to find the appropriate flags to compile
-# extension modules.
-
-# If your package is configured with a different prefix to python,
-# users will have to add the install directory to the PYTHONPATH
-# environment variable, or create a .pth file (see the python
-# documentation for details).
-
-# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
-# cause an error if the version of python installed on the system
-# doesn't meet the requirement.  MINIMUM-VERSION should consist of
-# numbers and dots only.
-
-AC_DEFUN([AM_PATH_PYTHON],
- [
-  dnl Find a Python interpreter.  Python versions prior to 1.5 are not
-  dnl supported because the default installation locations changed from
-  dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
-  dnl in 1.5.
-  m4_define([_AM_PYTHON_INTERPRETER_LIST],
-           [python python2 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5])
-
-  m4_if([$1],[],[
-    dnl No version check is needed.
-    # Find any Python interpreter.
-    AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST)
-    am_display_PYTHON=python
-  ], [
-    dnl A version check is needed.
-    if test -n "$PYTHON"; then
-      # If the user set $PYTHON, use it and don't search something else.
-      AC_MSG_CHECKING([whether $PYTHON version >= $1])
-      AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
-                             [AC_MSG_RESULT(yes)],
-                             [AC_MSG_ERROR(too old)])
-    else
-      # Otherwise, try each interpreter until we find one that satisfies
-      # VERSION.
-      AC_CACHE_CHECK([for a Python interpreter with version >= $1],
-       [am_cv_pathless_PYTHON],[
-       for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST : ; do
-          if test "$am_cv_pathless_PYTHON" = : ; then
-            AC_MSG_ERROR([no suitable Python interpreter found])
-         fi
-          AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
-        done])
-      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
-      AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
-      am_display_PYTHON=$am_cv_pathless_PYTHON
-    fi
-  ])
-
-  dnl Query Python for its version number.  Getting [:3] seems to be
-  dnl the best way to do this; it's what "site.py" does in the standard
-  dnl library.
-
-  AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
-    [am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`])
-  AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
-
-  dnl Use the values of $prefix and $exec_prefix for the corresponding
-  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
-  dnl distinct variables so they can be overridden if need be.  However,
-  dnl general consensus is that you shouldn't need this ability.
-
-  AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
-  AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
-
-  dnl At times (like when building shared libraries) you may want
-  dnl to know which OS platform Python thinks this is.
-
-  AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
-    [am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`])
-  AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
-
-
-  dnl Set up 4 directories:
-
-  dnl pythondir -- where to install python scripts.  This is the
-  dnl   site-packages directory, not the python standard library
-  dnl   directory like in previous automake betas.  This behavior
-  dnl   is more consistent with lispdir.m4 for example.
-  dnl Query distutils for this directory.  distutils does not exist in
-  dnl Python 1.5, so we fall back to the hardcoded directory if it
-  dnl doesn't work.
-  AC_CACHE_CHECK([for $am_display_PYTHON script directory],
-    [am_cv_python_pythondir],
-    [am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null ||
-     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`])
-  AC_SUBST([pythondir], [$am_cv_python_pythondir])
-
-  dnl pkgpythondir -- $PACKAGE directory under pythondir.  Was
-  dnl   PYTHON_SITE_PACKAGE in previous betas, but this naming is
-  dnl   more consistent with the rest of automake.
-
-  AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
-
-  dnl pyexecdir -- directory for installing python extension modules
-  dnl   (shared libraries)
-  dnl Query distutils for this directory.  distutils does not exist in
-  dnl Python 1.5, so we fall back to the hardcoded directory if it
-  dnl doesn't work.
-  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
-    [am_cv_python_pyexecdir],
-    [am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null ||
-     echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`])
-  AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
-
-  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
-
-  AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
-])
-
-
-# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
-# ---------------------------------------------------------------------------
-# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
-# Run ACTION-IF-FALSE otherwise.
-# This test uses sys.hexversion instead of the string equivalent (first
-# word of sys.version), in order to cope with versions such as 2.2c1.
-# hexversion has been introduced in Python 1.5.2; it's probably not
-# worth to support older versions (1.5.1 was released on October 31, 1998).
-AC_DEFUN([AM_PYTHON_CHECK_VERSION],
- [prog="import sys, string
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-minver = map(int, string.split('$2', '.')) + [[0, 0, 0]]
-minverhex = 0
-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]]
-sys.exit(sys.hexversion < minverhex)"
-  AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
-
-
-
-dnl M.Reinelt 2005/06/03: Changed name from AC_PYTHON_DEVEL 
-dnl to AC_PYTHON__DEVEL to avoid clashes with swig.m4
-
-dnl @synopsis AC_PYTHON__DEVEL
-dnl
-dnl Checks for Python and tries to get the include path to 'Python.h'.
-dnl It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS) output
-dnl variable.
-dnl
-dnl @category InstalledPackages
-dnl @author Sebastian Huber <sebastian-huber@web.de>
-dnl @author Alan W. Irwin <irwin@beluga.phys.uvic.ca>
-dnl @author Rafael Laboissiere <laboissiere@psy.mpg.de>
-dnl @author Andrew Collier <colliera@nu.ac.za>
-dnl @version 2004-07-14
-dnl @license GPLWithACException
-
-AC_DEFUN([AC_PYTHON__DEVEL],[
-       #
-       # should allow for checking of python version here...
-       #
-       AC_REQUIRE([AM_PATH_PYTHON])
-
-       # Check for Python include path
-       AC_MSG_CHECKING([for Python include path])
-       python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
-       for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do
-               python_path=`find $i -type f -name Python.h -print | sed "1q"`
-               if test -n "$python_path" ; then
-                       break
-               fi
-       done
-       python_path=`echo $python_path | sed "s,/Python.h$,,"`
-       AC_MSG_RESULT([$python_path])
-       if test -z "$python_path" ; then
-               AC_MSG_ERROR([cannot find Python include path])
-       fi
-       AC_SUBST([PYTHON_CPPFLAGS],[-I$python_path])
-
-       # Check for Python library path
-       AC_MSG_CHECKING([for Python library path])
-       python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
-       for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
-               python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
-               if test -n "$python_path" ; then
-                       break
-               fi
-       done
-       python_path=`echo $python_path | sed "s,/libpython.*$,,"`
-       AC_MSG_RESULT([$python_path])
-       if test -z "$python_path" ; then
-               AC_MSG_ERROR([cannot find Python library path])
-       fi
-       AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$PYTHON_VERSION"])
-       #
-       python_site=`echo $python_path | sed "s/config/site-packages/"`
-       AC_SUBST([PYTHON_SITE_PKG],[$python_site])
-       #
-       # libraries which must be linked in when embedding
-       #
-       AC_MSG_CHECKING(python extra libraries)
-       PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
-                conf = distutils.sysconfig.get_config_var; \
-                print conf('LOCALMODLIBS')+' '+conf('LIBS')"
-       AC_MSG_RESULT($PYTHON_EXTRA_LIBS)`
-       AC_SUBST(PYTHON_EXTRA_LIBS)
-])