diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/aclocal/mkdirp.m4 | 146 | ||||
| -rw-r--r-- | contrib/aclocal/python.m4 | 209 | 
2 files changed, 355 insertions, 0 deletions
diff --git a/contrib/aclocal/mkdirp.m4 b/contrib/aclocal/mkdirp.m4 new file mode 100644 index 00000000000..d2f7edd5ccd --- /dev/null +++ b/contrib/aclocal/mkdirp.m4 @@ -0,0 +1,146 @@ +# Excerpt from autoconf/autoconf/programs.m4 +# This file is part of Autoconf.                       -*- Autoconf -*- +# Checking for programs. + +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. + +# This file is part of Autoconf.  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 3 of the License, 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. +# +# Under Section 7 of GPL version 3, you are granted additional +# permissions described in the Autoconf Configure Script Exception, +# version 3.0, as published by the Free Software Foundation. +# +# You should have received a copy of the GNU General Public License +# and a copy of the Autoconf Configure Script Exception along with +# this program; see the files COPYINGv3 and COPYING.EXCEPTION +# respectively.  If not, see <http://www.gnu.org/licenses/>. + +# Written by David MacKenzie, with help from +# Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor, +# Roland McGrath, Noah Friedman, david d zuhn, and many others. + +# AC_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is known to be thread-safe, and fall back to +# install-sh -d otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake.  There are at least two reasons why we must not +# use `-m 0755': +#   - it causes special bits like SGID to be ignored, +#   - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are vulnerable to race conditions: +# if a parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out.  Consequently we +# restrict ourselves to known race-free implementations. +# +# Automake used to define mkdir_p as `mkdir -p .', in order to +# allow $(mkdir_p) to be used without argument.  As in +#   $(mkdir_p) $(somedir) +# where $(somedir) is conditionally defined.  However we don't do +# that for MKDIR_P. +#  1. before we restricted the check to GNU mkdir, `mkdir -p .' was +#     reported to fail in read-only directories.  The system where this +#     happened has been forgotten. +#  2. in practice we call $(MKDIR_P) on directories such as +#       $(MKDIR_P) "$(DESTDIR)$(somedir)" +#     and we don't want to create $(DESTDIR) if $(somedir) is empty. +#     To support the latter case, we have to write +#       test -z "$(somedir)" || $(MKDIR_P) "$(DESTDIR)$(somedir)" +#     so $(MKDIR_P) always has an argument. +#     We will have better chances of detecting a missing test if +#     $(MKDIR_P) complains about missing arguments. +#  3. $(MKDIR_P) is named after `mkdir -p' and we don't expect this +#     to accept no argument. +#  4. having something like `mkdir .' in the output is unsightly. +# +# On NextStep and OpenStep, the `mkdir' command does not +# recognize any option.  It will interpret all options as +# directories to create. +AN_MAKEVAR([MKDIR_P], [AC_PROG_MKDIR_P]) +AC_DEFUN_ONCE([AC_PROG_MKDIR_P], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl + +AC_MSG_CHECKING([for a thread-safe mkdir -p]) +if test -z "$MKDIR_P"; then +  AC_CACHE_VAL([ac_cv_path_mkdir], +    [_AS_PATH_WALK([$PATH$PATH_SEPARATOR/opt/sfw/bin], +      [for ac_prog in mkdir gmkdir; do +	 for ac_exec_ext in '' $ac_executable_extensions; do +	   AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]) || continue +	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( +	     'mkdir (GNU coreutils) '* | \ +	     'mkdir (coreutils) '* | \ +	     'mkdir (fileutils) '4.1*) +	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext +	       break 3;; +	   esac +	 done +       done])]) +  test -d ./--version && rmdir ./--version +  if test "${ac_cv_path_mkdir+set}" = set; then +    MKDIR_P="$ac_cv_path_mkdir -p" +  else +    # As a last resort, use the slow shell script.  Don't cache a +    # value for MKDIR_P within a source directory, because that will +    # break other packages using the cache if that directory is +    # removed, or if the value is a relative name. +    MKDIR_P="$ac_install_sh -d" +  fi +fi +dnl status.m4 does special magic for MKDIR_P instead of AC_SUBST, +dnl to get relative names right.  However, also AC_SUBST here so +dnl that Automake versions before 1.10 will pick it up (they do not +dnl trace AC_SUBST_TRACE). +dnl FIXME: Remove this once we drop support for Automake < 1.10. +AC_SUBST([MKDIR_P])dnl +AC_MSG_RESULT([$MKDIR_P]) +])# AC_PROG_MKDIR_P + + +# From automake/m4/mkdirp.m4 +##                                                          -*- Autoconf -*- +# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[ +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in +  [[\\/$]]* | ?:[[\\/]]*) ;; +  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) diff --git a/contrib/aclocal/python.m4 b/contrib/aclocal/python.m4 new file mode 100644 index 00000000000..a39a9009046 --- /dev/null +++ b/contrib/aclocal/python.m4 @@ -0,0 +1,209 @@ +## ------------------------                                 -*- Autoconf -*- +## Python file handling +## From Andrew Dalke +## Updated by James Henstridge +## ------------------------ +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------------------------- +# 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 2.0 are not +  dnl supported. (2.0 was released on October 16, 2000). +  m4_define_default([_AM_PYTHON_INTERPRETER_LIST], +                    [python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 dnl +python2.1 python2.0]) + +  m4_if([$1],[],[ +    dnl No version check is needed. +    # Find any Python interpreter. +    if test -z "$PYTHON"; then +      AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) +    fi +    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)]) +      am_display_PYTHON=$PYTHON +    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 none; do +	  test "$am_cv_pathless_PYTHON" = none && break +	  AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) +	done]) +      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. +      if test "$am_cv_pathless_PYTHON" = none; then +	PYTHON=: +      else +        AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) +      fi +      am_display_PYTHON=$am_cv_pathless_PYTHON +    fi +  ]) + +  if test "$PYTHON" = :; then +  dnl Run any user-specified action, or abort. +    m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) +  else + +  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; sys.stdout.write(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; sys.stdout.write(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], +    [if test "x$prefix" = xNONE +     then +       am_py_prefix=$ac_default_prefix +     else +       am_py_prefix=$prefix +     fi +     am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null || +     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` +     case $am_cv_python_pythondir in +     $am_py_prefix*) +       am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` +       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` +       ;; +     *) +       case $am_py_prefix in +         /usr|/System*) ;; +         *) +	  am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages +	  ;; +       esac +       ;; +     esac +    ]) +  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], +    [if test "x$exec_prefix" = xNONE +     then +       am_py_exec_prefix=$am_py_prefix +     else +       am_py_exec_prefix=$exec_prefix +     fi +     am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null || +     echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"` +     case $am_cv_python_pyexecdir in +     $am_py_exec_prefix*) +       am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` +       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` +       ;; +     *) +       case $am_py_exec_prefix in +         /usr|/System*) ;; +         *) +	   am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages +	   ;; +       esac +       ;; +     esac +    ]) +  AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) + +  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) + +  AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) + +  dnl Run any user-specified action. +  $2 +  fi + +]) + + +# 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. +# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). +AC_DEFUN([AM_PYTHON_CHECK_VERSION], + [prog="import sys +# split strings by '.' and convert to numeric.  Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] +sys.exit(sys.hexversion < minverhex)" +  AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])  | 
