xref: /aoo4110/main/aclocal.m4 (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
2*b1cdbd2cSJim Jagielski
3*b1cdbd2cSJim Jagielski# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4*b1cdbd2cSJim Jagielski# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
5*b1cdbd2cSJim Jagielski# This file is free software; the Free Software Foundation
6*b1cdbd2cSJim Jagielski# gives unlimited permission to copy and/or distribute it,
7*b1cdbd2cSJim Jagielski# with or without modifications, as long as this notice is preserved.
8*b1cdbd2cSJim Jagielski
9*b1cdbd2cSJim Jagielski# This program is distributed in the hope that it will be useful,
10*b1cdbd2cSJim Jagielski# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11*b1cdbd2cSJim Jagielski# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12*b1cdbd2cSJim Jagielski# PARTICULAR PURPOSE.
13*b1cdbd2cSJim Jagielski
14*b1cdbd2cSJim Jagielski# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
15*b1cdbd2cSJim Jagielski# serial 1 (pkg-config-0.24)
16*b1cdbd2cSJim Jagielski#
17*b1cdbd2cSJim Jagielski# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
18*b1cdbd2cSJim Jagielski#
19*b1cdbd2cSJim Jagielski# This program is free software; you can redistribute it and/or modify
20*b1cdbd2cSJim Jagielski# it under the terms of the GNU General Public License as published by
21*b1cdbd2cSJim Jagielski# the Free Software Foundation; either version 2 of the License, or
22*b1cdbd2cSJim Jagielski# (at your option) any later version.
23*b1cdbd2cSJim Jagielski#
24*b1cdbd2cSJim Jagielski# This program is distributed in the hope that it will be useful, but
25*b1cdbd2cSJim Jagielski# WITHOUT ANY WARRANTY; without even the implied warranty of
26*b1cdbd2cSJim Jagielski# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
27*b1cdbd2cSJim Jagielski# General Public License for more details.
28*b1cdbd2cSJim Jagielski#
29*b1cdbd2cSJim Jagielski# You should have received a copy of the GNU General Public License
30*b1cdbd2cSJim Jagielski# along with this program; if not, write to the Free Software
31*b1cdbd2cSJim Jagielski# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32*b1cdbd2cSJim Jagielski#
33*b1cdbd2cSJim Jagielski# As a special exception to the GNU General Public License, if you
34*b1cdbd2cSJim Jagielski# distribute this file as part of a program that contains a
35*b1cdbd2cSJim Jagielski# configuration script generated by Autoconf, you may include it under
36*b1cdbd2cSJim Jagielski# the same distribution terms that you use for the rest of that program.
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski# PKG_PROG_PKG_CONFIG([MIN-VERSION])
39*b1cdbd2cSJim Jagielski# ----------------------------------
40*b1cdbd2cSJim JagielskiAC_DEFUN([PKG_PROG_PKG_CONFIG],
41*b1cdbd2cSJim Jagielski[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
42*b1cdbd2cSJim Jagielskim4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
43*b1cdbd2cSJim Jagielskim4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
44*b1cdbd2cSJim JagielskiAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
45*b1cdbd2cSJim JagielskiAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
46*b1cdbd2cSJim JagielskiAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
47*b1cdbd2cSJim Jagielski
48*b1cdbd2cSJim Jagielskiif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
49*b1cdbd2cSJim Jagielski	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
50*b1cdbd2cSJim Jagielskifi
51*b1cdbd2cSJim Jagielskiif test -n "$PKG_CONFIG"; then
52*b1cdbd2cSJim Jagielski	_pkg_min_version=m4_default([$1], [0.9.0])
53*b1cdbd2cSJim Jagielski	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
54*b1cdbd2cSJim Jagielski	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
55*b1cdbd2cSJim Jagielski		AC_MSG_RESULT([yes])
56*b1cdbd2cSJim Jagielski	else
57*b1cdbd2cSJim Jagielski		AC_MSG_RESULT([no])
58*b1cdbd2cSJim Jagielski		PKG_CONFIG=""
59*b1cdbd2cSJim Jagielski	fi
60*b1cdbd2cSJim Jagielskifi[]dnl
61*b1cdbd2cSJim Jagielski])# PKG_PROG_PKG_CONFIG
62*b1cdbd2cSJim Jagielski
63*b1cdbd2cSJim Jagielski# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
64*b1cdbd2cSJim Jagielski#
65*b1cdbd2cSJim Jagielski# Check to see whether a particular set of modules exists.  Similar
66*b1cdbd2cSJim Jagielski# to PKG_CHECK_MODULES(), but does not set variables or print errors.
67*b1cdbd2cSJim Jagielski#
68*b1cdbd2cSJim Jagielski# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
69*b1cdbd2cSJim Jagielski# only at the first occurence in configure.ac, so if the first place
70*b1cdbd2cSJim Jagielski# it's called might be skipped (such as if it is within an "if", you
71*b1cdbd2cSJim Jagielski# have to call PKG_CHECK_EXISTS manually
72*b1cdbd2cSJim Jagielski# --------------------------------------------------------------
73*b1cdbd2cSJim JagielskiAC_DEFUN([PKG_CHECK_EXISTS],
74*b1cdbd2cSJim Jagielski[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
75*b1cdbd2cSJim Jagielskiif test -n "$PKG_CONFIG" && \
76*b1cdbd2cSJim Jagielski    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
77*b1cdbd2cSJim Jagielski  m4_default([$2], [:])
78*b1cdbd2cSJim Jagielskim4_ifvaln([$3], [else
79*b1cdbd2cSJim Jagielski  $3])dnl
80*b1cdbd2cSJim Jagielskifi])
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielski# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
83*b1cdbd2cSJim Jagielski# ---------------------------------------------
84*b1cdbd2cSJim Jagielskim4_define([_PKG_CONFIG],
85*b1cdbd2cSJim Jagielski[if test -n "$$1"; then
86*b1cdbd2cSJim Jagielski    pkg_cv_[]$1="$$1"
87*b1cdbd2cSJim Jagielski elif test -n "$PKG_CONFIG"; then
88*b1cdbd2cSJim Jagielski    PKG_CHECK_EXISTS([$3],
89*b1cdbd2cSJim Jagielski                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
90*b1cdbd2cSJim Jagielski		      test "x$?" != "x0" && pkg_failed=yes ],
91*b1cdbd2cSJim Jagielski		     [pkg_failed=yes])
92*b1cdbd2cSJim Jagielski else
93*b1cdbd2cSJim Jagielski    pkg_failed=untried
94*b1cdbd2cSJim Jagielskifi[]dnl
95*b1cdbd2cSJim Jagielski])# _PKG_CONFIG
96*b1cdbd2cSJim Jagielski
97*b1cdbd2cSJim Jagielski# _PKG_SHORT_ERRORS_SUPPORTED
98*b1cdbd2cSJim Jagielski# -----------------------------
99*b1cdbd2cSJim JagielskiAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
100*b1cdbd2cSJim Jagielski[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
101*b1cdbd2cSJim Jagielskiif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
102*b1cdbd2cSJim Jagielski        _pkg_short_errors_supported=yes
103*b1cdbd2cSJim Jagielskielse
104*b1cdbd2cSJim Jagielski        _pkg_short_errors_supported=no
105*b1cdbd2cSJim Jagielskifi[]dnl
106*b1cdbd2cSJim Jagielski])# _PKG_SHORT_ERRORS_SUPPORTED
107*b1cdbd2cSJim Jagielski
108*b1cdbd2cSJim Jagielski
109*b1cdbd2cSJim Jagielski# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
110*b1cdbd2cSJim Jagielski# [ACTION-IF-NOT-FOUND])
111*b1cdbd2cSJim Jagielski#
112*b1cdbd2cSJim Jagielski#
113*b1cdbd2cSJim Jagielski# Note that if there is a possibility the first call to
114*b1cdbd2cSJim Jagielski# PKG_CHECK_MODULES might not happen, you should be sure to include an
115*b1cdbd2cSJim Jagielski# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
116*b1cdbd2cSJim Jagielski#
117*b1cdbd2cSJim Jagielski#
118*b1cdbd2cSJim Jagielski# --------------------------------------------------------------
119*b1cdbd2cSJim JagielskiAC_DEFUN([PKG_CHECK_MODULES],
120*b1cdbd2cSJim Jagielski[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
121*b1cdbd2cSJim JagielskiAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
122*b1cdbd2cSJim JagielskiAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
123*b1cdbd2cSJim Jagielski
124*b1cdbd2cSJim Jagielskipkg_failed=no
125*b1cdbd2cSJim JagielskiAC_MSG_CHECKING([for $1])
126*b1cdbd2cSJim Jagielski
127*b1cdbd2cSJim Jagielski_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
128*b1cdbd2cSJim Jagielski_PKG_CONFIG([$1][_LIBS], [libs], [$2])
129*b1cdbd2cSJim Jagielski
130*b1cdbd2cSJim Jagielskim4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
131*b1cdbd2cSJim Jagielskiand $1[]_LIBS to avoid the need to call pkg-config.
132*b1cdbd2cSJim JagielskiSee the pkg-config man page for more details.])
133*b1cdbd2cSJim Jagielski
134*b1cdbd2cSJim Jagielskiif test $pkg_failed = yes; then
135*b1cdbd2cSJim Jagielski   	AC_MSG_RESULT([no])
136*b1cdbd2cSJim Jagielski        _PKG_SHORT_ERRORS_SUPPORTED
137*b1cdbd2cSJim Jagielski        if test $_pkg_short_errors_supported = yes; then
138*b1cdbd2cSJim Jagielski	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
139*b1cdbd2cSJim Jagielski        else
140*b1cdbd2cSJim Jagielski	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
141*b1cdbd2cSJim Jagielski        fi
142*b1cdbd2cSJim Jagielski	# Put the nasty error message in config.log where it belongs
143*b1cdbd2cSJim Jagielski	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
144*b1cdbd2cSJim Jagielski
145*b1cdbd2cSJim Jagielski	m4_default([$4], [AC_MSG_ERROR(
146*b1cdbd2cSJim Jagielski[Package requirements ($2) were not met:
147*b1cdbd2cSJim Jagielski
148*b1cdbd2cSJim Jagielski$$1_PKG_ERRORS
149*b1cdbd2cSJim Jagielski
150*b1cdbd2cSJim JagielskiConsider adjusting the PKG_CONFIG_PATH environment variable if you
151*b1cdbd2cSJim Jagielskiinstalled software in a non-standard prefix.
152*b1cdbd2cSJim Jagielski
153*b1cdbd2cSJim Jagielski_PKG_TEXT])[]dnl
154*b1cdbd2cSJim Jagielski        ])
155*b1cdbd2cSJim Jagielskielif test $pkg_failed = untried; then
156*b1cdbd2cSJim Jagielski     	AC_MSG_RESULT([no])
157*b1cdbd2cSJim Jagielski	m4_default([$4], [AC_MSG_FAILURE(
158*b1cdbd2cSJim Jagielski[The pkg-config script could not be found or is too old.  Make sure it
159*b1cdbd2cSJim Jagielskiis in your PATH or set the PKG_CONFIG environment variable to the full
160*b1cdbd2cSJim Jagielskipath to pkg-config.
161*b1cdbd2cSJim Jagielski
162*b1cdbd2cSJim Jagielski_PKG_TEXT
163*b1cdbd2cSJim Jagielski
164*b1cdbd2cSJim JagielskiTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
165*b1cdbd2cSJim Jagielski        ])
166*b1cdbd2cSJim Jagielskielse
167*b1cdbd2cSJim Jagielski	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
168*b1cdbd2cSJim Jagielski	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
169*b1cdbd2cSJim Jagielski        AC_MSG_RESULT([yes])
170*b1cdbd2cSJim Jagielski	$3
171*b1cdbd2cSJim Jagielskifi[]dnl
172*b1cdbd2cSJim Jagielski])# PKG_CHECK_MODULES
173*b1cdbd2cSJim Jagielski
174*b1cdbd2cSJim Jagielski# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
175*b1cdbd2cSJim Jagielski# Free Software Foundation, Inc.
176*b1cdbd2cSJim Jagielski#
177*b1cdbd2cSJim Jagielski# This file is free software; the Free Software Foundation
178*b1cdbd2cSJim Jagielski# gives unlimited permission to copy and/or distribute it,
179*b1cdbd2cSJim Jagielski# with or without modifications, as long as this notice is preserved.
180*b1cdbd2cSJim Jagielski
181*b1cdbd2cSJim Jagielski# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
182*b1cdbd2cSJim Jagielski# ---------------------------------------------------------------------------
183*b1cdbd2cSJim Jagielski# Adds support for distributing Python modules and packages.  To
184*b1cdbd2cSJim Jagielski# install modules, copy them to $(pythondir), using the python_PYTHON
185*b1cdbd2cSJim Jagielski# automake variable.  To install a package with the same name as the
186*b1cdbd2cSJim Jagielski# automake package, install to $(pkgpythondir), or use the
187*b1cdbd2cSJim Jagielski# pkgpython_PYTHON automake variable.
188*b1cdbd2cSJim Jagielski#
189*b1cdbd2cSJim Jagielski# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
190*b1cdbd2cSJim Jagielski# locations to install python extension modules (shared libraries).
191*b1cdbd2cSJim Jagielski# Another macro is required to find the appropriate flags to compile
192*b1cdbd2cSJim Jagielski# extension modules.
193*b1cdbd2cSJim Jagielski#
194*b1cdbd2cSJim Jagielski# If your package is configured with a different prefix to python,
195*b1cdbd2cSJim Jagielski# users will have to add the install directory to the PYTHONPATH
196*b1cdbd2cSJim Jagielski# environment variable, or create a .pth file (see the python
197*b1cdbd2cSJim Jagielski# documentation for details).
198*b1cdbd2cSJim Jagielski#
199*b1cdbd2cSJim Jagielski# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
200*b1cdbd2cSJim Jagielski# cause an error if the version of python installed on the system
201*b1cdbd2cSJim Jagielski# doesn't meet the requirement.  MINIMUM-VERSION should consist of
202*b1cdbd2cSJim Jagielski# numbers and dots only.
203*b1cdbd2cSJim JagielskiAC_DEFUN([AM_PATH_PYTHON],
204*b1cdbd2cSJim Jagielski [
205*b1cdbd2cSJim Jagielski  dnl Find a Python interpreter.  Python versions prior to 2.0 are not
206*b1cdbd2cSJim Jagielski  dnl supported. (2.0 was released on October 16, 2000).
207*b1cdbd2cSJim Jagielski  m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
208*b1cdbd2cSJim Jagielski                    [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl
209*b1cdbd2cSJim Jagielskipython2.1 python2.0])
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski  m4_if([$1],[],[
212*b1cdbd2cSJim Jagielski    dnl No version check is needed.
213*b1cdbd2cSJim Jagielski    # Find any Python interpreter.
214*b1cdbd2cSJim Jagielski    if test -z "$PYTHON"; then
215*b1cdbd2cSJim Jagielski      AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
216*b1cdbd2cSJim Jagielski    fi
217*b1cdbd2cSJim Jagielski    am_display_PYTHON=python
218*b1cdbd2cSJim Jagielski  ], [
219*b1cdbd2cSJim Jagielski    dnl A version check is needed.
220*b1cdbd2cSJim Jagielski    if test -n "$PYTHON"; then
221*b1cdbd2cSJim Jagielski      # If the user set $PYTHON, use it and don't search something else.
222*b1cdbd2cSJim Jagielski      AC_MSG_CHECKING([whether $PYTHON version >= $1])
223*b1cdbd2cSJim Jagielski      AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
224*b1cdbd2cSJim Jagielski			      [AC_MSG_RESULT(yes)],
225*b1cdbd2cSJim Jagielski			      [AC_MSG_ERROR(too old)])
226*b1cdbd2cSJim Jagielski      am_display_PYTHON=$PYTHON
227*b1cdbd2cSJim Jagielski    else
228*b1cdbd2cSJim Jagielski      # Otherwise, try each interpreter until we find one that satisfies
229*b1cdbd2cSJim Jagielski      # VERSION.
230*b1cdbd2cSJim Jagielski      AC_CACHE_CHECK([for a Python interpreter with version >= $1],
231*b1cdbd2cSJim Jagielski	[am_cv_pathless_PYTHON],[
232*b1cdbd2cSJim Jagielski	for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
233*b1cdbd2cSJim Jagielski	  test "$am_cv_pathless_PYTHON" = none && break
234*b1cdbd2cSJim Jagielski	  AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
235*b1cdbd2cSJim Jagielski	done])
236*b1cdbd2cSJim Jagielski      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
237*b1cdbd2cSJim Jagielski      if test "$am_cv_pathless_PYTHON" = none; then
238*b1cdbd2cSJim Jagielski	PYTHON=:
239*b1cdbd2cSJim Jagielski      else
240*b1cdbd2cSJim Jagielski        AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
241*b1cdbd2cSJim Jagielski      fi
242*b1cdbd2cSJim Jagielski      am_display_PYTHON=$am_cv_pathless_PYTHON
243*b1cdbd2cSJim Jagielski    fi
244*b1cdbd2cSJim Jagielski  ])
245*b1cdbd2cSJim Jagielski
246*b1cdbd2cSJim Jagielski  if test "$PYTHON" = :; then
247*b1cdbd2cSJim Jagielski  dnl Run any user-specified action, or abort.
248*b1cdbd2cSJim Jagielski    m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
249*b1cdbd2cSJim Jagielski  else
250*b1cdbd2cSJim Jagielski
251*b1cdbd2cSJim Jagielski  dnl Query Python for its version number.  Getting [:3] seems to be
252*b1cdbd2cSJim Jagielski  dnl the best way to do this; it's what "site.py" does in the standard
253*b1cdbd2cSJim Jagielski  dnl library.
254*b1cdbd2cSJim Jagielski
255*b1cdbd2cSJim Jagielski  AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
256*b1cdbd2cSJim Jagielski    [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
257*b1cdbd2cSJim Jagielski  AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
258*b1cdbd2cSJim Jagielski
259*b1cdbd2cSJim Jagielski  dnl Use the values of $prefix and $exec_prefix for the corresponding
260*b1cdbd2cSJim Jagielski  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
261*b1cdbd2cSJim Jagielski  dnl distinct variables so they can be overridden if need be.  However,
262*b1cdbd2cSJim Jagielski  dnl general consensus is that you shouldn't need this ability.
263*b1cdbd2cSJim Jagielski
264*b1cdbd2cSJim Jagielski  AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
265*b1cdbd2cSJim Jagielski  AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
266*b1cdbd2cSJim Jagielski
267*b1cdbd2cSJim Jagielski  dnl At times (like when building shared libraries) you may want
268*b1cdbd2cSJim Jagielski  dnl to know which OS platform Python thinks this is.
269*b1cdbd2cSJim Jagielski
270*b1cdbd2cSJim Jagielski  AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
271*b1cdbd2cSJim Jagielski    [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
272*b1cdbd2cSJim Jagielski  AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
273*b1cdbd2cSJim Jagielski
274*b1cdbd2cSJim Jagielski
275*b1cdbd2cSJim Jagielski  dnl Set up 4 directories:
276*b1cdbd2cSJim Jagielski
277*b1cdbd2cSJim Jagielski  dnl pythondir -- where to install python scripts.  This is the
278*b1cdbd2cSJim Jagielski  dnl   site-packages directory, not the python standard library
279*b1cdbd2cSJim Jagielski  dnl   directory like in previous automake betas.  This behavior
280*b1cdbd2cSJim Jagielski  dnl   is more consistent with lispdir.m4 for example.
281*b1cdbd2cSJim Jagielski  dnl Query distutils for this directory.  distutils does not exist in
282*b1cdbd2cSJim Jagielski  dnl Python 1.5, so we fall back to the hardcoded directory if it
283*b1cdbd2cSJim Jagielski  dnl doesn't work.
284*b1cdbd2cSJim Jagielski  AC_CACHE_CHECK([for $am_display_PYTHON script directory],
285*b1cdbd2cSJim Jagielski    [am_cv_python_pythondir],
286*b1cdbd2cSJim Jagielski    [if test "x$prefix" = xNONE
287*b1cdbd2cSJim Jagielski     then
288*b1cdbd2cSJim Jagielski       am_py_prefix=$ac_default_prefix
289*b1cdbd2cSJim Jagielski     else
290*b1cdbd2cSJim Jagielski       am_py_prefix=$prefix
291*b1cdbd2cSJim Jagielski     fi
292*b1cdbd2cSJim Jagielski     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 ||
293*b1cdbd2cSJim Jagielski     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
294*b1cdbd2cSJim Jagielski     case $am_cv_python_pythondir in
295*b1cdbd2cSJim Jagielski     $am_py_prefix*)
296*b1cdbd2cSJim Jagielski       am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
297*b1cdbd2cSJim Jagielski       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
298*b1cdbd2cSJim Jagielski       ;;
299*b1cdbd2cSJim Jagielski     *)
300*b1cdbd2cSJim Jagielski       case $am_py_prefix in
301*b1cdbd2cSJim Jagielski         /usr|/System*) ;;
302*b1cdbd2cSJim Jagielski         *)
303*b1cdbd2cSJim Jagielski	  am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
304*b1cdbd2cSJim Jagielski	  ;;
305*b1cdbd2cSJim Jagielski       esac
306*b1cdbd2cSJim Jagielski       ;;
307*b1cdbd2cSJim Jagielski     esac
308*b1cdbd2cSJim Jagielski    ])
309*b1cdbd2cSJim Jagielski  AC_SUBST([pythondir], [$am_cv_python_pythondir])
310*b1cdbd2cSJim Jagielski
311*b1cdbd2cSJim Jagielski  dnl pkgpythondir -- $PACKAGE directory under pythondir.  Was
312*b1cdbd2cSJim Jagielski  dnl   PYTHON_SITE_PACKAGE in previous betas, but this naming is
313*b1cdbd2cSJim Jagielski  dnl   more consistent with the rest of automake.
314*b1cdbd2cSJim Jagielski
315*b1cdbd2cSJim Jagielski  AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
316*b1cdbd2cSJim Jagielski
317*b1cdbd2cSJim Jagielski  dnl pyexecdir -- directory for installing python extension modules
318*b1cdbd2cSJim Jagielski  dnl   (shared libraries)
319*b1cdbd2cSJim Jagielski  dnl Query distutils for this directory.  distutils does not exist in
320*b1cdbd2cSJim Jagielski  dnl Python 1.5, so we fall back to the hardcoded directory if it
321*b1cdbd2cSJim Jagielski  dnl doesn't work.
322*b1cdbd2cSJim Jagielski  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
323*b1cdbd2cSJim Jagielski    [am_cv_python_pyexecdir],
324*b1cdbd2cSJim Jagielski    [if test "x$exec_prefix" = xNONE
325*b1cdbd2cSJim Jagielski     then
326*b1cdbd2cSJim Jagielski       am_py_exec_prefix=$am_py_prefix
327*b1cdbd2cSJim Jagielski     else
328*b1cdbd2cSJim Jagielski       am_py_exec_prefix=$exec_prefix
329*b1cdbd2cSJim Jagielski     fi
330*b1cdbd2cSJim Jagielski     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 ||
331*b1cdbd2cSJim Jagielski     echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
332*b1cdbd2cSJim Jagielski     case $am_cv_python_pyexecdir in
333*b1cdbd2cSJim Jagielski     $am_py_exec_prefix*)
334*b1cdbd2cSJim Jagielski       am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
335*b1cdbd2cSJim Jagielski       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
336*b1cdbd2cSJim Jagielski       ;;
337*b1cdbd2cSJim Jagielski     *)
338*b1cdbd2cSJim Jagielski       case $am_py_exec_prefix in
339*b1cdbd2cSJim Jagielski         /usr|/System*) ;;
340*b1cdbd2cSJim Jagielski         *)
341*b1cdbd2cSJim Jagielski	   am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
342*b1cdbd2cSJim Jagielski	   ;;
343*b1cdbd2cSJim Jagielski       esac
344*b1cdbd2cSJim Jagielski       ;;
345*b1cdbd2cSJim Jagielski     esac
346*b1cdbd2cSJim Jagielski    ])
347*b1cdbd2cSJim Jagielski  AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
348*b1cdbd2cSJim Jagielski
349*b1cdbd2cSJim Jagielski  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
350*b1cdbd2cSJim Jagielski
351*b1cdbd2cSJim Jagielski  AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
352*b1cdbd2cSJim Jagielski
353*b1cdbd2cSJim Jagielski  dnl Run any user-specified action.
354*b1cdbd2cSJim Jagielski  $2
355*b1cdbd2cSJim Jagielski  fi
356*b1cdbd2cSJim Jagielski
357*b1cdbd2cSJim Jagielski])
358*b1cdbd2cSJim Jagielski
359*b1cdbd2cSJim Jagielski
360*b1cdbd2cSJim Jagielski# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
361*b1cdbd2cSJim Jagielski# ---------------------------------------------------------------------------
362*b1cdbd2cSJim Jagielski# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
363*b1cdbd2cSJim Jagielski# Run ACTION-IF-FALSE otherwise.
364*b1cdbd2cSJim Jagielski# This test uses sys.hexversion instead of the string equivalent (first
365*b1cdbd2cSJim Jagielski# word of sys.version), in order to cope with versions such as 2.2c1.
366*b1cdbd2cSJim Jagielski# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
367*b1cdbd2cSJim JagielskiAC_DEFUN([AM_PYTHON_CHECK_VERSION],
368*b1cdbd2cSJim Jagielski [prog="import sys
369*b1cdbd2cSJim Jagielski# split strings by '.' and convert to numeric.  Append some zeros
370*b1cdbd2cSJim Jagielski# because we need at least 4 digits for the hex conversion.
371*b1cdbd2cSJim Jagielski# map returns an iterator in Python 3.0 and a list in 2.x
372*b1cdbd2cSJim Jagielskiminver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
373*b1cdbd2cSJim Jagielskiminverhex = 0
374*b1cdbd2cSJim Jagielski# xrange is not present in Python 3.0 and range returns an iterator
375*b1cdbd2cSJim Jagielskifor i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
376*b1cdbd2cSJim Jagielskisys.exit(sys.hexversion < minverhex)"
377*b1cdbd2cSJim Jagielski  AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
378*b1cdbd2cSJim Jagielski
379*b1cdbd2cSJim Jagielski# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
380*b1cdbd2cSJim Jagielski#
381*b1cdbd2cSJim Jagielski# This file is free software; the Free Software Foundation
382*b1cdbd2cSJim Jagielski# gives unlimited permission to copy and/or distribute it,
383*b1cdbd2cSJim Jagielski# with or without modifications, as long as this notice is preserved.
384*b1cdbd2cSJim Jagielski
385*b1cdbd2cSJim Jagielski# AM_RUN_LOG(COMMAND)
386*b1cdbd2cSJim Jagielski# -------------------
387*b1cdbd2cSJim Jagielski# Run COMMAND, save the exit status in ac_status, and log it.
388*b1cdbd2cSJim Jagielski# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
389*b1cdbd2cSJim JagielskiAC_DEFUN([AM_RUN_LOG],
390*b1cdbd2cSJim Jagielski[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
391*b1cdbd2cSJim Jagielski   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
392*b1cdbd2cSJim Jagielski   ac_status=$?
393*b1cdbd2cSJim Jagielski   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
394*b1cdbd2cSJim Jagielski   (exit $ac_status); }])
395*b1cdbd2cSJim Jagielski
396