diff --git a/configure.in b/configure.in index e6b6578d..fcc8f656 100644 --- a/configure.in +++ b/configure.in @@ -704,17 +704,23 @@ if test "$with_python" != "no" ; then echo Found python in $with_python/bin/python PYTHON="$with_python/bin/python" else - if test -x "$with_python" - then - echo Found python in $with_python - PYTHON="$with_python" - else - if test -x "$PYTHON" - then - echo Found python in environment PYTHON=$PYTHON - with_python=`$PYTHON -c "import sys; print sys.exec_prefix"` - else - AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5) + if test -x "$with_python/python.exe" + then + echo Found python in $with_python/python.exe + PYTHON="$with_python/python.exe" + else + if test -x "$with_python" + then + echo Found python in $with_python + PYTHON="$with_python" + else + if test -x "$PYTHON" + then + echo Found python in environment PYTHON=$PYTHON + with_python=`$PYTHON -c "import sys; print sys.exec_prefix"` + else + AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5) + fi fi fi fi @@ -741,7 +747,14 @@ if test "$with_python" != "no" ; then PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages else - echo could not find python$PYTHON_VERSION/Python.h + if test -r $with_python/include/Python.h -a \ + -d $with_python/lib/site-packages + then + PYTHON_INCLUDES=$with_python/include + PYTHON_SITE_PACKAGES=$with_python/lib/site-packages + else + echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h + fi fi fi if test ! -d "$PYTHON_SITE_PACKAGES" @@ -1397,6 +1410,7 @@ WIN32_EXTRA_LIBADD= WIN32_EXTRA_LDFLAGS= CYGWIN_EXTRA_LDFLAGS= CYGWIN_EXTRA_PYTHON_LIBADD= +WIN32_EXTRA_PYTHON_LIBADD= case "$host" in *-*-mingw*) CPPFLAGS="$CPPFLAGS -DWIN32" @@ -1405,6 +1419,10 @@ case "$host" in AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation]) AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around]) AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around]) + if test "${PYTHON}" != "" + then + WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython${PYTHON_VERSION//./}" + fi ;; *-*-cygwin*) CYGWIN_EXTRA_LDFLAGS="-no-undefined" @@ -1416,6 +1434,7 @@ case "$host" in esac AC_SUBST(WIN32_EXTRA_LIBADD) AC_SUBST(WIN32_EXTRA_LDFLAGS) +AC_SUBST(WIN32_EXTRA_PYTHON_LIBADD) AC_SUBST(CYGWIN_EXTRA_LDFLAGS) AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD) diff --git a/python/Makefile.am b/python/Makefile.am index 3cf87e7c..d2a22534 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -31,7 +31,7 @@ python_LTLIBRARIES = libxml2mod.la libxml2mod_la_SOURCES = $(srcdir)/libxml.c $(srcdir)/types.c nodist_libxml2mod_la_SOURCES = libxml2-py.c -libxml2mod_la_LIBADD = $(mylibs) @CYGWIN_EXTRA_PYTHON_LIBADD@ @PYTHON_LIBS@ +libxml2mod_la_LIBADD = $(mylibs) @CYGWIN_EXTRA_PYTHON_LIBADD@ @WIN32_EXTRA_PYTHON_LIBADD@ @PYTHON_LIBS@ $(srcdir)/libxml.c: libxml2-py.h # to generate before to compile