17b5038d7SDag-Erling Smørgrav# =========================================================================== 2*5afab0e5SDag-Erling Smørgrav# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html 37b5038d7SDag-Erling Smørgrav# =========================================================================== 47b5038d7SDag-Erling Smørgrav# 57b5038d7SDag-Erling Smørgrav# SYNOPSIS 67b5038d7SDag-Erling Smørgrav# 77b5038d7SDag-Erling Smørgrav# AX_PYTHON_DEVEL([version]) 87b5038d7SDag-Erling Smørgrav# 97b5038d7SDag-Erling Smørgrav# DESCRIPTION 107b5038d7SDag-Erling Smørgrav# 117b5038d7SDag-Erling Smørgrav# Note: Defines as a precious variable "PYTHON_VERSION". Don't override it 127b5038d7SDag-Erling Smørgrav# in your configure.ac. 137b5038d7SDag-Erling Smørgrav# 147b5038d7SDag-Erling Smørgrav# This macro checks for Python and tries to get the include path to 15*5afab0e5SDag-Erling Smørgrav# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output 16*5afab0e5SDag-Erling Smørgrav# variables. It also exports $(PYTHON_EXTRA_LIBS) and 177b5038d7SDag-Erling Smørgrav# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code. 187b5038d7SDag-Erling Smørgrav# 197b5038d7SDag-Erling Smørgrav# You can search for some particular version of Python by passing a 207b5038d7SDag-Erling Smørgrav# parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please 217b5038d7SDag-Erling Smørgrav# note that you *have* to pass also an operator along with the version to 227b5038d7SDag-Erling Smørgrav# match, and pay special attention to the single quotes surrounding the 237b5038d7SDag-Erling Smørgrav# version number. Don't use "PYTHON_VERSION" for this: that environment 247b5038d7SDag-Erling Smørgrav# variable is declared as precious and thus reserved for the end-user. 257b5038d7SDag-Erling Smørgrav# 267b5038d7SDag-Erling Smørgrav# This macro should work for all versions of Python >= 2.1.0. As an end 277b5038d7SDag-Erling Smørgrav# user, you can disable the check for the python version by setting the 287b5038d7SDag-Erling Smørgrav# PYTHON_NOVERSIONCHECK environment variable to something else than the 297b5038d7SDag-Erling Smørgrav# empty string. 307b5038d7SDag-Erling Smørgrav# 317b5038d7SDag-Erling Smørgrav# If you need to use this macro for an older Python version, please 327b5038d7SDag-Erling Smørgrav# contact the authors. We're always open for feedback. 337b5038d7SDag-Erling Smørgrav# 347b5038d7SDag-Erling Smørgrav# LICENSE 357b5038d7SDag-Erling Smørgrav# 367b5038d7SDag-Erling Smørgrav# Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de> 3717d15b25SDag-Erling Smørgrav# Copyright (c) 2009 Alan W. Irwin 387b5038d7SDag-Erling Smørgrav# Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net> 3917d15b25SDag-Erling Smørgrav# Copyright (c) 2009 Andrew Collier 407b5038d7SDag-Erling Smørgrav# Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org> 417b5038d7SDag-Erling Smørgrav# Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org> 4217d15b25SDag-Erling Smørgrav# Copyright (c) 2013 Daniel Mullner <muellner@math.stanford.edu> 437b5038d7SDag-Erling Smørgrav# 447b5038d7SDag-Erling Smørgrav# This program is free software: you can redistribute it and/or modify it 457b5038d7SDag-Erling Smørgrav# under the terms of the GNU General Public License as published by the 467b5038d7SDag-Erling Smørgrav# Free Software Foundation, either version 3 of the License, or (at your 477b5038d7SDag-Erling Smørgrav# option) any later version. 487b5038d7SDag-Erling Smørgrav# 497b5038d7SDag-Erling Smørgrav# This program is distributed in the hope that it will be useful, but 507b5038d7SDag-Erling Smørgrav# WITHOUT ANY WARRANTY; without even the implied warranty of 517b5038d7SDag-Erling Smørgrav# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 527b5038d7SDag-Erling Smørgrav# Public License for more details. 537b5038d7SDag-Erling Smørgrav# 547b5038d7SDag-Erling Smørgrav# You should have received a copy of the GNU General Public License along 55*5afab0e5SDag-Erling Smørgrav# with this program. If not, see <https://www.gnu.org/licenses/>. 567b5038d7SDag-Erling Smørgrav# 577b5038d7SDag-Erling Smørgrav# As a special exception, the respective Autoconf Macro's copyright owner 587b5038d7SDag-Erling Smørgrav# gives unlimited permission to copy, distribute and modify the configure 597b5038d7SDag-Erling Smørgrav# scripts that are the output of Autoconf when processing the Macro. You 607b5038d7SDag-Erling Smørgrav# need not follow the terms of the GNU General Public License when using 617b5038d7SDag-Erling Smørgrav# or distributing such scripts, even though portions of the text of the 627b5038d7SDag-Erling Smørgrav# Macro appear in them. The GNU General Public License (GPL) does govern 637b5038d7SDag-Erling Smørgrav# all other use of the material that constitutes the Autoconf Macro. 647b5038d7SDag-Erling Smørgrav# 657b5038d7SDag-Erling Smørgrav# This special exception to the GPL applies to versions of the Autoconf 667b5038d7SDag-Erling Smørgrav# Macro released by the Autoconf Archive. When you make and distribute a 677b5038d7SDag-Erling Smørgrav# modified version of the Autoconf Macro, you may extend this special 687b5038d7SDag-Erling Smørgrav# exception to the GPL to apply to your modified version as well. 697b5038d7SDag-Erling Smørgrav 70*5afab0e5SDag-Erling Smørgrav#serial 21 717b5038d7SDag-Erling Smørgrav 727b5038d7SDag-Erling SmørgravAU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL]) 737b5038d7SDag-Erling SmørgravAC_DEFUN([AX_PYTHON_DEVEL],[ 747b5038d7SDag-Erling Smørgrav # 757b5038d7SDag-Erling Smørgrav # Allow the use of a (user set) custom python version 767b5038d7SDag-Erling Smørgrav # 777b5038d7SDag-Erling Smørgrav AC_ARG_VAR([PYTHON_VERSION],[The installed Python 787b5038d7SDag-Erling Smørgrav version to use, for example '2.3'. This string 797b5038d7SDag-Erling Smørgrav will be appended to the Python interpreter 807b5038d7SDag-Erling Smørgrav canonical name.]) 817b5038d7SDag-Erling Smørgrav 827b5038d7SDag-Erling Smørgrav AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]]) 837b5038d7SDag-Erling Smørgrav if test -z "$PYTHON"; then 847b5038d7SDag-Erling Smørgrav AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path]) 857b5038d7SDag-Erling Smørgrav PYTHON_VERSION="" 867b5038d7SDag-Erling Smørgrav fi 877b5038d7SDag-Erling Smørgrav 887b5038d7SDag-Erling Smørgrav # 897b5038d7SDag-Erling Smørgrav # Check for a version of Python >= 2.1.0 907b5038d7SDag-Erling Smørgrav # 917b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING([for a version of Python >= '2.1.0']) 927b5038d7SDag-Erling Smørgrav ac_supports_python_ver=`$PYTHON -c "import sys; \ 937b5038d7SDag-Erling Smørgrav ver = sys.version.split ()[[0]]; \ 947b5038d7SDag-Erling Smørgrav print (ver >= '2.1.0')"` 957b5038d7SDag-Erling Smørgrav if test "$ac_supports_python_ver" != "True"; then 967b5038d7SDag-Erling Smørgrav if test -z "$PYTHON_NOVERSIONCHECK"; then 977b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([no]) 987b5038d7SDag-Erling Smørgrav AC_MSG_FAILURE([ 997b5038d7SDag-Erling SmørgravThis version of the AC@&t@_PYTHON_DEVEL macro 1007b5038d7SDag-Erling Smørgravdoesn't work properly with versions of Python before 1017b5038d7SDag-Erling Smørgrav2.1.0. You may need to re-run configure, setting the 102*5afab0e5SDag-Erling Smørgravvariables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG, 1037b5038d7SDag-Erling SmørgravPYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. 1047b5038d7SDag-Erling SmørgravMoreover, to disable this check, set PYTHON_NOVERSIONCHECK 1057b5038d7SDag-Erling Smørgravto something else than an empty string. 1067b5038d7SDag-Erling Smørgrav]) 1077b5038d7SDag-Erling Smørgrav else 1087b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([skip at user request]) 1097b5038d7SDag-Erling Smørgrav fi 1107b5038d7SDag-Erling Smørgrav else 1117b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 1127b5038d7SDag-Erling Smørgrav fi 1137b5038d7SDag-Erling Smørgrav 1147b5038d7SDag-Erling Smørgrav # 1157b5038d7SDag-Erling Smørgrav # if the macro parameter ``version'' is set, honour it 1167b5038d7SDag-Erling Smørgrav # 1177b5038d7SDag-Erling Smørgrav if test -n "$1"; then 1187b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING([for a version of Python $1]) 1197b5038d7SDag-Erling Smørgrav ac_supports_python_ver=`$PYTHON -c "import sys; \ 1207b5038d7SDag-Erling Smørgrav ver = sys.version.split ()[[0]]; \ 1217b5038d7SDag-Erling Smørgrav print (ver $1)"` 1227b5038d7SDag-Erling Smørgrav if test "$ac_supports_python_ver" = "True"; then 1237b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 1247b5038d7SDag-Erling Smørgrav else 1257b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([no]) 1267b5038d7SDag-Erling Smørgrav AC_MSG_ERROR([this package requires Python $1. 1277b5038d7SDag-Erling SmørgravIf you have it installed, but it isn't the default Python 1287b5038d7SDag-Erling Smørgravinterpreter in your system path, please pass the PYTHON_VERSION 1297b5038d7SDag-Erling Smørgravvariable to configure. See ``configure --help'' for reference. 1307b5038d7SDag-Erling Smørgrav]) 1317b5038d7SDag-Erling Smørgrav PYTHON_VERSION="" 1327b5038d7SDag-Erling Smørgrav fi 1337b5038d7SDag-Erling Smørgrav fi 1347b5038d7SDag-Erling Smørgrav 1357b5038d7SDag-Erling Smørgrav # 1367b5038d7SDag-Erling Smørgrav # Check if you have distutils, else fail 1377b5038d7SDag-Erling Smørgrav # 1387b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING([for the distutils Python package]) 1397b5038d7SDag-Erling Smørgrav ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` 140*5afab0e5SDag-Erling Smørgrav if test $? -eq 0; then 1417b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 1427b5038d7SDag-Erling Smørgrav else 1437b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([no]) 1447b5038d7SDag-Erling Smørgrav AC_MSG_ERROR([cannot import Python module "distutils". 1457b5038d7SDag-Erling SmørgravPlease check your Python installation. The error was: 1467b5038d7SDag-Erling Smørgrav$ac_distutils_result]) 1477b5038d7SDag-Erling Smørgrav PYTHON_VERSION="" 1487b5038d7SDag-Erling Smørgrav fi 1497b5038d7SDag-Erling Smørgrav 1507b5038d7SDag-Erling Smørgrav # 1517b5038d7SDag-Erling Smørgrav # Check for Python include path 1527b5038d7SDag-Erling Smørgrav # 1537b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING([for Python include path]) 1547b5038d7SDag-Erling Smørgrav if test -z "$PYTHON_CPPFLAGS"; then 1557b5038d7SDag-Erling Smørgrav python_path=`$PYTHON -c "import distutils.sysconfig; \ 1567b5038d7SDag-Erling Smørgrav print (distutils.sysconfig.get_python_inc ());"` 15717d15b25SDag-Erling Smørgrav plat_python_path=`$PYTHON -c "import distutils.sysconfig; \ 15817d15b25SDag-Erling Smørgrav print (distutils.sysconfig.get_python_inc (plat_specific=1));"` 1597b5038d7SDag-Erling Smørgrav if test -n "${python_path}"; then 16017d15b25SDag-Erling Smørgrav if test "${plat_python_path}" != "${python_path}"; then 16117d15b25SDag-Erling Smørgrav python_path="-I$python_path -I$plat_python_path" 16217d15b25SDag-Erling Smørgrav else 1637b5038d7SDag-Erling Smørgrav python_path="-I$python_path" 1647b5038d7SDag-Erling Smørgrav fi 16517d15b25SDag-Erling Smørgrav fi 1667b5038d7SDag-Erling Smørgrav PYTHON_CPPFLAGS=$python_path 1677b5038d7SDag-Erling Smørgrav fi 1687b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([$PYTHON_CPPFLAGS]) 1697b5038d7SDag-Erling Smørgrav AC_SUBST([PYTHON_CPPFLAGS]) 1707b5038d7SDag-Erling Smørgrav 1717b5038d7SDag-Erling Smørgrav # 1727b5038d7SDag-Erling Smørgrav # Check for Python library path 1737b5038d7SDag-Erling Smørgrav # 1747b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING([for Python library path]) 175*5afab0e5SDag-Erling Smørgrav if test -z "$PYTHON_LIBS"; then 1767b5038d7SDag-Erling Smørgrav # (makes two attempts to ensure we've got a version number 1777b5038d7SDag-Erling Smørgrav # from the interpreter) 1787b5038d7SDag-Erling Smørgrav ac_python_version=`cat<<EOD | $PYTHON - 1797b5038d7SDag-Erling Smørgrav 1807b5038d7SDag-Erling Smørgrav# join all versioning strings, on some systems 1817b5038d7SDag-Erling Smørgrav# major/minor numbers could be in different list elements 1827b5038d7SDag-Erling Smørgravfrom distutils.sysconfig import * 18317d15b25SDag-Erling Smørgrave = get_config_var('VERSION') 18417d15b25SDag-Erling Smørgravif e is not None: 18517d15b25SDag-Erling Smørgrav print(e) 18617d15b25SDag-Erling SmørgravEOD` 1877b5038d7SDag-Erling Smørgrav 1887b5038d7SDag-Erling Smørgrav if test -z "$ac_python_version"; then 1897b5038d7SDag-Erling Smørgrav if test -n "$PYTHON_VERSION"; then 1907b5038d7SDag-Erling Smørgrav ac_python_version=$PYTHON_VERSION 1917b5038d7SDag-Erling Smørgrav else 1927b5038d7SDag-Erling Smørgrav ac_python_version=`$PYTHON -c "import sys; \ 1937b5038d7SDag-Erling Smørgrav print (sys.version[[:3]])"` 1947b5038d7SDag-Erling Smørgrav fi 1957b5038d7SDag-Erling Smørgrav fi 1967b5038d7SDag-Erling Smørgrav 1977b5038d7SDag-Erling Smørgrav # Make the versioning information available to the compiler 1987b5038d7SDag-Erling Smørgrav AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"], 1997b5038d7SDag-Erling Smørgrav [If available, contains the Python version number currently in use.]) 2007b5038d7SDag-Erling Smørgrav 2017b5038d7SDag-Erling Smørgrav # First, the library directory: 2027b5038d7SDag-Erling Smørgrav ac_python_libdir=`cat<<EOD | $PYTHON - 2037b5038d7SDag-Erling Smørgrav 2047b5038d7SDag-Erling Smørgrav# There should be only one 2057b5038d7SDag-Erling Smørgravimport distutils.sysconfig 20617d15b25SDag-Erling Smørgrave = distutils.sysconfig.get_config_var('LIBDIR') 20717d15b25SDag-Erling Smørgravif e is not None: 2087b5038d7SDag-Erling Smørgrav print (e) 20917d15b25SDag-Erling SmørgravEOD` 2107b5038d7SDag-Erling Smørgrav 2117b5038d7SDag-Erling Smørgrav # Now, for the library: 21217d15b25SDag-Erling Smørgrav ac_python_library=`cat<<EOD | $PYTHON - 2137b5038d7SDag-Erling Smørgrav 21417d15b25SDag-Erling Smørgravimport distutils.sysconfig 21517d15b25SDag-Erling Smørgravc = distutils.sysconfig.get_config_vars() 21617d15b25SDag-Erling Smørgravif 'LDVERSION' in c: 21717d15b25SDag-Erling Smørgrav print ('python'+c[['LDVERSION']]) 21817d15b25SDag-Erling Smørgravelse: 21917d15b25SDag-Erling Smørgrav print ('python'+c[['VERSION']]) 22017d15b25SDag-Erling SmørgravEOD` 2217b5038d7SDag-Erling Smørgrav 2227b5038d7SDag-Erling Smørgrav # This small piece shamelessly adapted from PostgreSQL python macro; 2237b5038d7SDag-Erling Smørgrav # credits goes to momjian, I think. I'd like to put the right name 2247b5038d7SDag-Erling Smørgrav # in the credits, if someone can point me in the right direction... ? 2257b5038d7SDag-Erling Smørgrav # 22617d15b25SDag-Erling Smørgrav if test -n "$ac_python_libdir" -a -n "$ac_python_library" 2277b5038d7SDag-Erling Smørgrav then 2287b5038d7SDag-Erling Smørgrav # use the official shared library 2297b5038d7SDag-Erling Smørgrav ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"` 230*5afab0e5SDag-Erling Smørgrav PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library" 2317b5038d7SDag-Erling Smørgrav else 2327b5038d7SDag-Erling Smørgrav # old way: use libpython from python_configdir 2337b5038d7SDag-Erling Smørgrav ac_python_libdir=`$PYTHON -c \ 2347b5038d7SDag-Erling Smørgrav "from distutils.sysconfig import get_python_lib as f; \ 2357b5038d7SDag-Erling Smørgrav import os; \ 2367b5038d7SDag-Erling Smørgrav print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"` 237*5afab0e5SDag-Erling Smørgrav PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version" 2387b5038d7SDag-Erling Smørgrav fi 2397b5038d7SDag-Erling Smørgrav 240*5afab0e5SDag-Erling Smørgrav if test -z "PYTHON_LIBS"; then 2417b5038d7SDag-Erling Smørgrav AC_MSG_ERROR([ 2427b5038d7SDag-Erling Smørgrav Cannot determine location of your Python DSO. Please check it was installed with 243*5afab0e5SDag-Erling Smørgrav dynamic libraries enabled, or try setting PYTHON_LIBS by hand. 2447b5038d7SDag-Erling Smørgrav ]) 2457b5038d7SDag-Erling Smørgrav fi 2467b5038d7SDag-Erling Smørgrav fi 247*5afab0e5SDag-Erling Smørgrav AC_MSG_RESULT([$PYTHON_LIBS]) 248*5afab0e5SDag-Erling Smørgrav AC_SUBST([PYTHON_LIBS]) 2497b5038d7SDag-Erling Smørgrav 2507b5038d7SDag-Erling Smørgrav # 2517b5038d7SDag-Erling Smørgrav # Check for site packages 2527b5038d7SDag-Erling Smørgrav # 2537b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING([for Python site-packages path]) 2547b5038d7SDag-Erling Smørgrav if test -z "$PYTHON_SITE_PKG"; then 2557b5038d7SDag-Erling Smørgrav PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \ 2567b5038d7SDag-Erling Smørgrav print (distutils.sysconfig.get_python_lib(1,0));"` 2577b5038d7SDag-Erling Smørgrav fi 2587b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([$PYTHON_SITE_PKG]) 2597b5038d7SDag-Erling Smørgrav AC_SUBST([PYTHON_SITE_PKG]) 2607b5038d7SDag-Erling Smørgrav 2617b5038d7SDag-Erling Smørgrav # 2627b5038d7SDag-Erling Smørgrav # libraries which must be linked in when embedding 2637b5038d7SDag-Erling Smørgrav # 2647b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING(python extra libraries) 2657b5038d7SDag-Erling Smørgrav if test -z "$PYTHON_EXTRA_LIBS"; then 2667b5038d7SDag-Erling Smørgrav PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \ 2677b5038d7SDag-Erling Smørgrav conf = distutils.sysconfig.get_config_var; \ 268*5afab0e5SDag-Erling Smørgrav print (conf('LIBS') + ' ' + conf('SYSLIBS'))"` 2697b5038d7SDag-Erling Smørgrav fi 2707b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([$PYTHON_EXTRA_LIBS]) 2717b5038d7SDag-Erling Smørgrav AC_SUBST(PYTHON_EXTRA_LIBS) 2727b5038d7SDag-Erling Smørgrav 2737b5038d7SDag-Erling Smørgrav # 2747b5038d7SDag-Erling Smørgrav # linking flags needed when embedding 2757b5038d7SDag-Erling Smørgrav # 2767b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING(python extra linking flags) 2777b5038d7SDag-Erling Smørgrav if test -z "$PYTHON_EXTRA_LDFLAGS"; then 2787b5038d7SDag-Erling Smørgrav PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \ 2797b5038d7SDag-Erling Smørgrav conf = distutils.sysconfig.get_config_var; \ 2807b5038d7SDag-Erling Smørgrav print (conf('LINKFORSHARED'))"` 2817b5038d7SDag-Erling Smørgrav fi 2827b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS]) 2837b5038d7SDag-Erling Smørgrav AC_SUBST(PYTHON_EXTRA_LDFLAGS) 2847b5038d7SDag-Erling Smørgrav 2857b5038d7SDag-Erling Smørgrav # 2867b5038d7SDag-Erling Smørgrav # final check to see if everything compiles alright 2877b5038d7SDag-Erling Smørgrav # 2887b5038d7SDag-Erling Smørgrav AC_MSG_CHECKING([consistency of all components of python development environment]) 2897b5038d7SDag-Erling Smørgrav # save current global flags 2907b5038d7SDag-Erling Smørgrav ac_save_LIBS="$LIBS" 291*5afab0e5SDag-Erling Smørgrav ac_save_LDFLAGS="$LDFLAGS" 2927b5038d7SDag-Erling Smørgrav ac_save_CPPFLAGS="$CPPFLAGS" 293*5afab0e5SDag-Erling Smørgrav LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS" 294*5afab0e5SDag-Erling Smørgrav LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS" 2957b5038d7SDag-Erling Smørgrav CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS" 2967b5038d7SDag-Erling Smørgrav AC_LANG_PUSH([C]) 2977b5038d7SDag-Erling Smørgrav AC_LINK_IFELSE([ 2987b5038d7SDag-Erling Smørgrav AC_LANG_PROGRAM([[#include <Python.h>]], 2997b5038d7SDag-Erling Smørgrav [[Py_Initialize();]]) 3007b5038d7SDag-Erling Smørgrav ],[pythonexists=yes],[pythonexists=no]) 3017b5038d7SDag-Erling Smørgrav AC_LANG_POP([C]) 3027b5038d7SDag-Erling Smørgrav # turn back to default flags 3037b5038d7SDag-Erling Smørgrav CPPFLAGS="$ac_save_CPPFLAGS" 3047b5038d7SDag-Erling Smørgrav LIBS="$ac_save_LIBS" 305*5afab0e5SDag-Erling Smørgrav LDFLAGS="$ac_save_LDFLAGS" 3067b5038d7SDag-Erling Smørgrav 3077b5038d7SDag-Erling Smørgrav AC_MSG_RESULT([$pythonexists]) 3087b5038d7SDag-Erling Smørgrav 3097b5038d7SDag-Erling Smørgrav if test ! "x$pythonexists" = "xyes"; then 3107b5038d7SDag-Erling Smørgrav AC_MSG_FAILURE([ 3117b5038d7SDag-Erling Smørgrav Could not link test program to Python. Maybe the main Python library has been 3127b5038d7SDag-Erling Smørgrav installed in some non-standard library path. If so, pass it to configure, 313*5afab0e5SDag-Erling Smørgrav via the LIBS environment variable. 314*5afab0e5SDag-Erling Smørgrav Example: ./configure LIBS="-L/usr/non-standard-path/python/lib" 3157b5038d7SDag-Erling Smørgrav ============================================================================ 3167b5038d7SDag-Erling Smørgrav ERROR! 3177b5038d7SDag-Erling Smørgrav You probably have to install the development version of the Python package 3187b5038d7SDag-Erling Smørgrav for your distribution. The exact name of this package varies among them. 3197b5038d7SDag-Erling Smørgrav ============================================================================ 3207b5038d7SDag-Erling Smørgrav ]) 3217b5038d7SDag-Erling Smørgrav PYTHON_VERSION="" 3227b5038d7SDag-Erling Smørgrav fi 3237b5038d7SDag-Erling Smørgrav 3247b5038d7SDag-Erling Smørgrav # 3257b5038d7SDag-Erling Smørgrav # all done! 3267b5038d7SDag-Erling Smørgrav # 3277b5038d7SDag-Erling Smørgrav]) 328