diff options
author | Graham.Dumpleton <devnull@localhost> | 2009-04-14 00:44:44 +0000 |
---|---|---|
committer | Graham.Dumpleton <devnull@localhost> | 2009-04-14 00:44:44 +0000 |
commit | 966a0d54743dd1f267db49364c750cd84726a041 (patch) | |
tree | c5cbe00b04851cb8ffc72c3573172da681d8955b /configure.ac | |
parent | 7d9e1184d1ca3a05817c534631e4d564a3619781 (diff) | |
download | mod_wsgi-966a0d54743dd1f267db49364c750cd84726a041.tar.gz |
On MacOS X, wheere there is a .a file in config directory, that would normally
link to Python framework, then link against it rather than framework. This is
to get around issue where MacPorts Python framework doesn't seem to embed its
location properly into .so when linked against. This should also work for
normal Python distributions as well.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 46 |
1 files changed, 29 insertions, 17 deletions
diff --git a/configure.ac b/configure.ac index 5dea0b9..8c7f49b 100644 --- a/configure.ac +++ b/configure.ac @@ -76,6 +76,10 @@ AC_SUBST(CPPFLAGS) PYTHONLIBDIR=`${PYTHON} -c 'from sys import stdout; \ from distutils import sysconfig; \ stdout.write(sysconfig.get_config_var("LIBDIR"))'` +PYTHONCFGDIR=`${PYTHON} -c 'from sys import stdout; \ + import distutils.sysconfig; \ + stdout.write(distutils.sysconfig.get_python_lib(plat_specific=1, \ + standard_lib=1) +"/config")'` PYTHONFRAMEWORKDIR=`${PYTHON} -c 'from sys import stdout; \ from distutils import sysconfig; \ stdout.write(sysconfig.get_config_var("PYTHONFRAMEWORKDIR"))'` @@ -88,11 +92,7 @@ PYTHONFRAMEWORK=`${PYTHON} -c 'from sys import stdout; \ if test "${PYTHONFRAMEWORKDIR}" = "no-framework"; then LDFLAGS1="-L${PYTHONLIBDIR}" - LDFLAGS2=`${PYTHON} -c 'from sys import stdout; \ - import distutils.sysconfig; \ - stdout.write("-L" + \ - distutils.sysconfig.get_python_lib(plat_specific=1, \ - standard_lib=1) +"/config")'` + LDFLAGS2="-L${PYTHONCFGDIR}" LDLIBS1="-lpython${PYTHON_VERSION}" LDLIBS2=`${PYTHON} -c 'from sys import stdout; \ @@ -102,18 +102,30 @@ if test "${PYTHONFRAMEWORKDIR}" = "no-framework"; then from distutils import sysconfig; \ stdout.write(sysconfig.get_config_var("SYSLIBS"))'` else - LDFLAGS1="-F${PYTHONFRAMEWORKPREFIX} -framework ${PYTHONFRAMEWORK}" - - VERSION="${PYTHON_VERSION}" - STRING="${PYTHONFRAMEWORKDIR}/Versions/${VERSION}/${PYTHONFRAMEWORK}" - LDFLAGS2=`${PYTHON} -c "from sys import stdout; \ - from distutils import sysconfig; \ - stdout.write(sysconfig.get_config_var(\"LINKFORSHARED\").replace( \ - \"${STRING}\", ''))"` - - LDLIBS1=`${PYTHON} -c 'from sys import stdout; \ - from distutils import sysconfig; \ - stdout.write(sysconfig.get_config_var("LIBS"))'` + if test -f "${PYTHONCFGDIR}/libpython${PYTHON_VERSION}.a"; then + LDFLAGS2="-L${PYTHONCFGDIR}" + + LDLIBS1="-lpython${PYTHON_VERSION}" + LDLIBS2=`${PYTHON} -c 'from sys import stdout; \ + from distutils import sysconfig; \ + stdout.write(sysconfig.get_config_var("LIBS"))'` + LDLIBS3=`${PYTHON} -c 'from sys import stdout; \ + from distutils import sysconfig; \ + stdout.write(sysconfig.get_config_var("SYSLIBS"))'` + else + LDFLAGS1="-F${PYTHONFRAMEWORKPREFIX} -framework ${PYTHONFRAMEWORK}" + + VERSION="${PYTHON_VERSION}" + STRING="${PYTHONFRAMEWORKDIR}/Versions/${VERSION}/${PYTHONFRAMEWORK}" + LDFLAGS2=`${PYTHON} -c "from sys import stdout; \ + from distutils import sysconfig; \ + stdout.write(sysconfig.get_config_var( + \"LINKFORSHARED\").replace(\"${STRING}\", ''))"` + + LDLIBS1=`${PYTHON} -c 'from sys import stdout; \ + from distutils import sysconfig; \ + stdout.write(sysconfig.get_config_var("LIBS"))'` + fi fi CFLAGS="" |