diff options
Diffstat (limited to 'm4/ax_python_devel.m4')
| -rw-r--r-- | m4/ax_python_devel.m4 | 468 |
1 files changed, 468 insertions, 0 deletions
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4 new file mode 100644 index 0000000..935056c --- /dev/null +++ b/m4/ax_python_devel.m4 | |||
| @@ -0,0 +1,468 @@ | |||
| 1 | # =========================================================================== | ||
| 2 | # https://www.gnu.org/software/autoconf-archive/ax_python_devel.html | ||
| 3 | # =========================================================================== | ||
| 4 | # | ||
| 5 | # SYNOPSIS | ||
| 6 | # | ||
| 7 | # AX_PYTHON_DEVEL([version[,optional]]) | ||
| 8 | # | ||
| 9 | # DESCRIPTION | ||
| 10 | # | ||
| 11 | # Note: Defines as a precious variable "PYTHON_VERSION". Don't override it | ||
| 12 | # in your configure.ac. | ||
| 13 | # | ||
| 14 | # This macro checks for Python and tries to get the include path to | ||
| 15 | # 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output | ||
| 16 | # variables. It also exports $(PYTHON_EXTRA_LIBS) and | ||
| 17 | # $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code. | ||
| 18 | # | ||
| 19 | # You can search for some particular version of Python by passing a | ||
| 20 | # parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please | ||
| 21 | # note that you *have* to pass also an operator along with the version to | ||
| 22 | # match, and pay special attention to the single quotes surrounding the | ||
| 23 | # version number. Don't use "PYTHON_VERSION" for this: that environment | ||
| 24 | # variable is declared as precious and thus reserved for the end-user. | ||
| 25 | # | ||
| 26 | # By default this will fail if it does not detect a development version of | ||
| 27 | # python. If you want it to continue, set optional to true, like | ||
| 28 | # AX_PYTHON_DEVEL([], [true]). The ax_python_devel_found variable will be | ||
| 29 | # "no" if it fails. | ||
| 30 | # | ||
| 31 | # This macro should work for all versions of Python >= 2.1.0. As an end | ||
| 32 | # user, you can disable the check for the python version by setting the | ||
| 33 | # PYTHON_NOVERSIONCHECK environment variable to something else than the | ||
| 34 | # empty string. | ||
| 35 | # | ||
| 36 | # If you need to use this macro for an older Python version, please | ||
| 37 | # contact the authors. We're always open for feedback. | ||
| 38 | # | ||
| 39 | # LICENSE | ||
| 40 | # | ||
| 41 | # Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de> | ||
| 42 | # Copyright (c) 2009 Alan W. Irwin | ||
| 43 | # Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net> | ||
| 44 | # Copyright (c) 2009 Andrew Collier | ||
| 45 | # Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org> | ||
| 46 | # Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org> | ||
| 47 | # Copyright (c) 2013 Daniel Mullner <muellner@math.stanford.edu> | ||
| 48 | # | ||
| 49 | # This program is free software: you can redistribute it and/or modify it | ||
| 50 | # under the terms of the GNU General Public License as published by the | ||
| 51 | # Free Software Foundation, either version 3 of the License, or (at your | ||
| 52 | # option) any later version. | ||
| 53 | # | ||
| 54 | # This program is distributed in the hope that it will be useful, but | ||
| 55 | # WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 56 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | ||
| 57 | # Public License for more details. | ||
| 58 | # | ||
| 59 | # You should have received a copy of the GNU General Public License along | ||
| 60 | # with this program. If not, see <https://www.gnu.org/licenses/>. | ||
| 61 | # | ||
| 62 | # As a special exception, the respective Autoconf Macro's copyright owner | ||
| 63 | # gives unlimited permission to copy, distribute and modify the configure | ||
| 64 | # scripts that are the output of Autoconf when processing the Macro. You | ||
| 65 | # need not follow the terms of the GNU General Public License when using | ||
| 66 | # or distributing such scripts, even though portions of the text of the | ||
| 67 | # Macro appear in them. The GNU General Public License (GPL) does govern | ||
| 68 | # all other use of the material that constitutes the Autoconf Macro. | ||
| 69 | # | ||
| 70 | # This special exception to the GPL applies to versions of the Autoconf | ||
| 71 | # Macro released by the Autoconf Archive. When you make and distribute a | ||
| 72 | # modified version of the Autoconf Macro, you may extend this special | ||
| 73 | # exception to the GPL to apply to your modified version as well. | ||
| 74 | |||
| 75 | #serial 37 | ||
| 76 | |||
| 77 | AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL]) | ||
| 78 | AC_DEFUN([AX_PYTHON_DEVEL],[ | ||
| 79 | # Get whether it's optional | ||
| 80 | if test -z "$2"; then | ||
| 81 | ax_python_devel_optional=false | ||
| 82 | else | ||
| 83 | ax_python_devel_optional=$2 | ||
| 84 | fi | ||
| 85 | ax_python_devel_found=yes | ||
| 86 | |||
| 87 | # | ||
| 88 | # Allow the use of a (user set) custom python version | ||
| 89 | # | ||
| 90 | AC_ARG_VAR([PYTHON_VERSION],[The installed Python | ||
| 91 | version to use, for example '2.3'. This string | ||
| 92 | will be appended to the Python interpreter | ||
| 93 | canonical name.]) | ||
| 94 | |||
| 95 | AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]]) | ||
| 96 | if test -z "$PYTHON"; then | ||
| 97 | AC_MSG_WARN([Cannot find python$PYTHON_VERSION in your system path]) | ||
| 98 | if ! $ax_python_devel_optional; then | ||
| 99 | AC_MSG_ERROR([Giving up, python development not available]) | ||
| 100 | fi | ||
| 101 | ax_python_devel_found=no | ||
| 102 | PYTHON_VERSION="" | ||
| 103 | fi | ||
| 104 | |||
| 105 | if test $ax_python_devel_found = yes; then | ||
| 106 | # | ||
| 107 | # Check for a version of Python >= 2.1.0 | ||
| 108 | # | ||
| 109 | AC_MSG_CHECKING([for a version of Python >= '2.1.0']) | ||
| 110 | ac_supports_python_ver=`$PYTHON -c "import sys; \ | ||
| 111 | ver = sys.version.split ()[[0]]; \ | ||
| 112 | print (ver >= '2.1.0')"` | ||
| 113 | if test "$ac_supports_python_ver" != "True"; then | ||
| 114 | if test -z "$PYTHON_NOVERSIONCHECK"; then | ||
| 115 | AC_MSG_RESULT([no]) | ||
| 116 | AC_MSG_WARN([ | ||
| 117 | This version of the AC@&t@_PYTHON_DEVEL macro | ||
| 118 | doesn't work properly with versions of Python before | ||
| 119 | 2.1.0. You may need to re-run configure, setting the | ||
| 120 | variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG, | ||
| 121 | PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. | ||
| 122 | Moreover, to disable this check, set PYTHON_NOVERSIONCHECK | ||
| 123 | to something else than an empty string. | ||
| 124 | ]) | ||
| 125 | if ! $ax_python_devel_optional; then | ||
| 126 | AC_MSG_FAILURE([Giving up]) | ||
| 127 | fi | ||
| 128 | ax_python_devel_found=no | ||
| 129 | PYTHON_VERSION="" | ||
| 130 | else | ||
| 131 | AC_MSG_RESULT([skip at user request]) | ||
| 132 | fi | ||
| 133 | else | ||
| 134 | AC_MSG_RESULT([yes]) | ||
| 135 | fi | ||
| 136 | fi | ||
| 137 | |||
| 138 | if test $ax_python_devel_found = yes; then | ||
| 139 | # | ||
| 140 | # If the macro parameter ``version'' is set, honour it. | ||
| 141 | # A Python shim class, VPy, is used to implement correct version comparisons via | ||
| 142 | # string expressions, since e.g. a naive textual ">= 2.7.3" won't work for | ||
| 143 | # Python 2.7.10 (the ".1" being evaluated as less than ".3"). | ||
| 144 | # | ||
| 145 | if test -n "$1"; then | ||
| 146 | AC_MSG_CHECKING([for a version of Python $1]) | ||
| 147 | cat << EOF > ax_python_devel_vpy.py | ||
| 148 | class VPy: | ||
| 149 | def vtup(self, s): | ||
| 150 | return tuple(map(int, s.strip().replace("rc", ".").split("."))) | ||
| 151 | def __init__(self): | ||
| 152 | import sys | ||
| 153 | self.vpy = tuple(sys.version_info)[[:3]] | ||
| 154 | def __eq__(self, s): | ||
| 155 | return self.vpy == self.vtup(s) | ||
| 156 | def __ne__(self, s): | ||
| 157 | return self.vpy != self.vtup(s) | ||
| 158 | def __lt__(self, s): | ||
| 159 | return self.vpy < self.vtup(s) | ||
| 160 | def __gt__(self, s): | ||
| 161 | return self.vpy > self.vtup(s) | ||
| 162 | def __le__(self, s): | ||
| 163 | return self.vpy <= self.vtup(s) | ||
| 164 | def __ge__(self, s): | ||
| 165 | return self.vpy >= self.vtup(s) | ||
| 166 | EOF | ||
| 167 | ac_supports_python_ver=`$PYTHON -c "import ax_python_devel_vpy; \ | ||
| 168 | ver = ax_python_devel_vpy.VPy(); \ | ||
| 169 | print (ver $1)"` | ||
| 170 | rm -rf ax_python_devel_vpy*.py* __pycache__/ax_python_devel_vpy*.py* | ||
| 171 | if test "$ac_supports_python_ver" = "True"; then | ||
| 172 | AC_MSG_RESULT([yes]) | ||
| 173 | else | ||
| 174 | AC_MSG_RESULT([no]) | ||
| 175 | AC_MSG_WARN([this package requires Python $1. | ||
| 176 | If you have it installed, but it isn't the default Python | ||
| 177 | interpreter in your system path, please pass the PYTHON_VERSION | ||
| 178 | variable to configure. See ``configure --help'' for reference. | ||
| 179 | ]) | ||
| 180 | if ! $ax_python_devel_optional; then | ||
| 181 | AC_MSG_ERROR([Giving up]) | ||
| 182 | fi | ||
| 183 | ax_python_devel_found=no | ||
| 184 | PYTHON_VERSION="" | ||
| 185 | fi | ||
| 186 | fi | ||
| 187 | fi | ||
| 188 | |||
| 189 | if test $ax_python_devel_found = yes; then | ||
| 190 | # | ||
| 191 | # Check if you have distutils, else fail | ||
| 192 | # | ||
| 193 | AC_MSG_CHECKING([for the sysconfig Python package]) | ||
| 194 | ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1` | ||
| 195 | if test $? -eq 0; then | ||
| 196 | AC_MSG_RESULT([yes]) | ||
| 197 | IMPORT_SYSCONFIG="import sysconfig" | ||
| 198 | else | ||
| 199 | AC_MSG_RESULT([no]) | ||
| 200 | |||
| 201 | AC_MSG_CHECKING([for the distutils Python package]) | ||
| 202 | ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1` | ||
| 203 | if test $? -eq 0; then | ||
| 204 | AC_MSG_RESULT([yes]) | ||
| 205 | IMPORT_SYSCONFIG="from distutils import sysconfig" | ||
| 206 | else | ||
| 207 | AC_MSG_WARN([cannot import Python module "distutils". | ||
| 208 | Please check your Python installation. The error was: | ||
| 209 | $ac_sysconfig_result]) | ||
| 210 | if ! $ax_python_devel_optional; then | ||
| 211 | AC_MSG_ERROR([Giving up]) | ||
| 212 | fi | ||
| 213 | ax_python_devel_found=no | ||
| 214 | PYTHON_VERSION="" | ||
| 215 | fi | ||
| 216 | fi | ||
| 217 | fi | ||
| 218 | |||
| 219 | if test $ax_python_devel_found = yes; then | ||
| 220 | # | ||
| 221 | # Check for Python include path | ||
| 222 | # | ||
| 223 | AC_MSG_CHECKING([for Python include path]) | ||
| 224 | if test -z "$PYTHON_CPPFLAGS"; then | ||
| 225 | if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then | ||
| 226 | # sysconfig module has different functions | ||
| 227 | python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 228 | print (sysconfig.get_path ('include'));"` | ||
| 229 | plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 230 | print (sysconfig.get_path ('platinclude'));"` | ||
| 231 | else | ||
| 232 | # old distutils way | ||
| 233 | python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 234 | print (sysconfig.get_python_inc ());"` | ||
| 235 | plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 236 | print (sysconfig.get_python_inc (plat_specific=1));"` | ||
| 237 | fi | ||
| 238 | if test -n "${python_path}"; then | ||
| 239 | if test "${plat_python_path}" != "${python_path}"; then | ||
| 240 | python_path="-I$python_path -I$plat_python_path" | ||
| 241 | else | ||
| 242 | python_path="-I$python_path" | ||
| 243 | fi | ||
| 244 | fi | ||
| 245 | PYTHON_CPPFLAGS=$python_path | ||
| 246 | fi | ||
| 247 | AC_MSG_RESULT([$PYTHON_CPPFLAGS]) | ||
| 248 | AC_SUBST([PYTHON_CPPFLAGS]) | ||
| 249 | |||
| 250 | # | ||
| 251 | # Check for Python library path | ||
| 252 | # | ||
| 253 | AC_MSG_CHECKING([for Python library path]) | ||
| 254 | if test -z "$PYTHON_LIBS"; then | ||
| 255 | # (makes two attempts to ensure we've got a version number | ||
| 256 | # from the interpreter) | ||
| 257 | ac_python_version=`cat<<EOD | $PYTHON - | ||
| 258 | |||
| 259 | # join all versioning strings, on some systems | ||
| 260 | # major/minor numbers could be in different list elements | ||
| 261 | from sysconfig import * | ||
| 262 | e = get_config_var('VERSION') | ||
| 263 | if e is not None: | ||
| 264 | print(e) | ||
| 265 | EOD` | ||
| 266 | |||
| 267 | if test -z "$ac_python_version"; then | ||
| 268 | if test -n "$PYTHON_VERSION"; then | ||
| 269 | ac_python_version=$PYTHON_VERSION | ||
| 270 | else | ||
| 271 | ac_python_version=`$PYTHON -c "import sys; \ | ||
| 272 | print ("%d.%d" % sys.version_info[[:2]])"` | ||
| 273 | fi | ||
| 274 | fi | ||
| 275 | |||
| 276 | # Make the versioning information available to the compiler | ||
| 277 | AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"], | ||
| 278 | [If available, contains the Python version number currently in use.]) | ||
| 279 | |||
| 280 | # First, the library directory: | ||
| 281 | ac_python_libdir=`cat<<EOD | $PYTHON - | ||
| 282 | |||
| 283 | # There should be only one | ||
| 284 | $IMPORT_SYSCONFIG | ||
| 285 | e = sysconfig.get_config_var('LIBDIR') | ||
| 286 | if e is not None: | ||
| 287 | print (e) | ||
| 288 | EOD` | ||
| 289 | |||
| 290 | # Now, for the library: | ||
| 291 | ac_python_library=`cat<<EOD | $PYTHON - | ||
| 292 | |||
| 293 | $IMPORT_SYSCONFIG | ||
| 294 | c = sysconfig.get_config_vars() | ||
| 295 | if 'LDVERSION' in c: | ||
| 296 | print ('python'+c[['LDVERSION']]) | ||
| 297 | else: | ||
| 298 | print ('python'+c[['VERSION']]) | ||
| 299 | EOD` | ||
| 300 | |||
| 301 | # This small piece shamelessly adapted from PostgreSQL python macro; | ||
| 302 | # credits goes to momjian, I think. I'd like to put the right name | ||
| 303 | # in the credits, if someone can point me in the right direction... ? | ||
| 304 | # | ||
| 305 | if test -n "$ac_python_libdir" -a -n "$ac_python_library" | ||
| 306 | then | ||
| 307 | # use the official shared library | ||
| 308 | ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"` | ||
| 309 | PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library" | ||
| 310 | else | ||
| 311 | # old way: use libpython from python_configdir | ||
| 312 | ac_python_libdir=`$PYTHON -c \ | ||
| 313 | "from sysconfig import get_python_lib as f; \ | ||
| 314 | import os; \ | ||
| 315 | print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"` | ||
| 316 | PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version" | ||
| 317 | fi | ||
| 318 | |||
| 319 | if test -z "$PYTHON_LIBS"; then | ||
| 320 | AC_MSG_WARN([ | ||
| 321 | Cannot determine location of your Python DSO. Please check it was installed with | ||
| 322 | dynamic libraries enabled, or try setting PYTHON_LIBS by hand. | ||
| 323 | ]) | ||
| 324 | if ! $ax_python_devel_optional; then | ||
| 325 | AC_MSG_ERROR([Giving up]) | ||
| 326 | fi | ||
| 327 | ax_python_devel_found=no | ||
| 328 | PYTHON_VERSION="" | ||
| 329 | fi | ||
| 330 | fi | ||
| 331 | fi | ||
| 332 | |||
| 333 | if test $ax_python_devel_found = yes; then | ||
| 334 | AC_MSG_RESULT([$PYTHON_LIBS]) | ||
| 335 | AC_SUBST([PYTHON_LIBS]) | ||
| 336 | |||
| 337 | # | ||
| 338 | # Check for site packages | ||
| 339 | # | ||
| 340 | AC_MSG_CHECKING([for Python site-packages path]) | ||
| 341 | if test -z "$PYTHON_SITE_PKG"; then | ||
| 342 | if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then | ||
| 343 | PYTHON_SITE_PKG=`$PYTHON -c " | ||
| 344 | $IMPORT_SYSCONFIG; | ||
| 345 | if hasattr(sysconfig, 'get_default_scheme'): | ||
| 346 | scheme = sysconfig.get_default_scheme() | ||
| 347 | else: | ||
| 348 | scheme = sysconfig._get_default_scheme() | ||
| 349 | if scheme == 'posix_local': | ||
| 350 | # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/ | ||
| 351 | scheme = 'posix_prefix' | ||
| 352 | prefix = '$prefix' | ||
| 353 | if prefix == 'NONE': | ||
| 354 | prefix = '$ac_default_prefix' | ||
| 355 | sitedir = sysconfig.get_path('purelib', scheme, vars={'base': prefix}) | ||
| 356 | print(sitedir)"` | ||
| 357 | else | ||
| 358 | # distutils.sysconfig way | ||
| 359 | PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 360 | print (sysconfig.get_python_lib(0,0));"` | ||
| 361 | fi | ||
| 362 | fi | ||
| 363 | AC_MSG_RESULT([$PYTHON_SITE_PKG]) | ||
| 364 | AC_SUBST([PYTHON_SITE_PKG]) | ||
| 365 | |||
| 366 | # | ||
| 367 | # Check for platform-specific site packages | ||
| 368 | # | ||
| 369 | AC_MSG_CHECKING([for Python platform specific site-packages path]) | ||
| 370 | if test -z "$PYTHON_PLATFORM_SITE_PKG"; then | ||
| 371 | if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then | ||
| 372 | PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c " | ||
| 373 | $IMPORT_SYSCONFIG; | ||
| 374 | if hasattr(sysconfig, 'get_default_scheme'): | ||
| 375 | scheme = sysconfig.get_default_scheme() | ||
| 376 | else: | ||
| 377 | scheme = sysconfig._get_default_scheme() | ||
| 378 | if scheme == 'posix_local': | ||
| 379 | # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/ | ||
| 380 | scheme = 'posix_prefix' | ||
| 381 | prefix = '$prefix' | ||
| 382 | if prefix == 'NONE': | ||
| 383 | prefix = '$ac_default_prefix' | ||
| 384 | sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase': prefix}) | ||
| 385 | print(sitedir)"` | ||
| 386 | else | ||
| 387 | # distutils.sysconfig way | ||
| 388 | PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 389 | print (sysconfig.get_python_lib(1,0));"` | ||
| 390 | fi | ||
| 391 | fi | ||
| 392 | AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG]) | ||
| 393 | AC_SUBST([PYTHON_PLATFORM_SITE_PKG]) | ||
| 394 | |||
| 395 | # | ||
| 396 | # libraries which must be linked in when embedding | ||
| 397 | # | ||
| 398 | AC_MSG_CHECKING(python extra libraries) | ||
| 399 | if test -z "$PYTHON_EXTRA_LIBS"; then | ||
| 400 | PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 401 | conf = sysconfig.get_config_var; \ | ||
| 402 | print (conf('LIBS') + ' ' + conf('SYSLIBS'))"` | ||
| 403 | fi | ||
| 404 | AC_MSG_RESULT([$PYTHON_EXTRA_LIBS]) | ||
| 405 | AC_SUBST(PYTHON_EXTRA_LIBS) | ||
| 406 | |||
| 407 | # | ||
| 408 | # linking flags needed when embedding | ||
| 409 | # | ||
| 410 | AC_MSG_CHECKING(python extra linking flags) | ||
| 411 | if test -z "$PYTHON_EXTRA_LDFLAGS"; then | ||
| 412 | PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \ | ||
| 413 | conf = sysconfig.get_config_var; \ | ||
| 414 | print (conf('LINKFORSHARED'))"` | ||
| 415 | # Hack for macos, it sticks this in here. | ||
| 416 | PYTHON_EXTRA_LDFLAGS=`echo $PYTHON_EXTRA_LDFLAGS | sed 's/CoreFoundation.*$/CoreFoundation/'` | ||
| 417 | fi | ||
| 418 | AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS]) | ||
| 419 | AC_SUBST(PYTHON_EXTRA_LDFLAGS) | ||
| 420 | |||
| 421 | # | ||
| 422 | # final check to see if everything compiles alright | ||
| 423 | # | ||
| 424 | AC_MSG_CHECKING([consistency of all components of python development environment]) | ||
| 425 | # save current global flags | ||
| 426 | ac_save_LIBS="$LIBS" | ||
| 427 | ac_save_LDFLAGS="$LDFLAGS" | ||
| 428 | ac_save_CPPFLAGS="$CPPFLAGS" | ||
| 429 | LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS" | ||
| 430 | LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS" | ||
| 431 | CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS" | ||
| 432 | AC_LANG_PUSH([C]) | ||
| 433 | AC_LINK_IFELSE([ | ||
| 434 | AC_LANG_PROGRAM([[#include <Python.h>]], | ||
| 435 | [[Py_Initialize();]]) | ||
| 436 | ],[pythonexists=yes],[pythonexists=no]) | ||
| 437 | AC_LANG_POP([C]) | ||
| 438 | # turn back to default flags | ||
| 439 | CPPFLAGS="$ac_save_CPPFLAGS" | ||
| 440 | LIBS="$ac_save_LIBS" | ||
| 441 | LDFLAGS="$ac_save_LDFLAGS" | ||
| 442 | |||
| 443 | AC_MSG_RESULT([$pythonexists]) | ||
| 444 | |||
| 445 | if test ! "x$pythonexists" = "xyes"; then | ||
| 446 | AC_MSG_WARN([ | ||
| 447 | Could not link test program to Python. Maybe the main Python library has been | ||
| 448 | installed in some non-standard library path. If so, pass it to configure, | ||
| 449 | via the LIBS environment variable. | ||
| 450 | Example: ./configure LIBS="-L/usr/non-standard-path/python/lib" | ||
| 451 | ============================================================================ | ||
| 452 | ERROR! | ||
| 453 | You probably have to install the development version of the Python package | ||
| 454 | for your distribution. The exact name of this package varies among them. | ||
| 455 | ============================================================================ | ||
| 456 | ]) | ||
| 457 | if ! $ax_python_devel_optional; then | ||
| 458 | AC_MSG_ERROR([Giving up]) | ||
| 459 | fi | ||
| 460 | ax_python_devel_found=no | ||
| 461 | PYTHON_VERSION="" | ||
| 462 | fi | ||
| 463 | fi | ||
| 464 | |||
| 465 | # | ||
| 466 | # all done! | ||
| 467 | # | ||
| 468 | ]) | ||
