2003-08-25 22:20:43 +00:00
dnl
dnl Copyright 2003 Free Software Foundation, Inc.
dnl
dnl This file is part of Hamlib, actually cloned from GNU Radio
dnl
dnl GNU Radio is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl
dnl GNU Radio is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with GNU Radio; see the file COPYING. If not, write to
dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
dnl Boston, MA 02111-1307, USA.
dnl
# PYTHON_DEVEL()
#
# Checks for Python and tries to get the include path to 'Python.h'.
# It provides the $(PYTHON_CPPFLAGS) output variable.
AC_DEFUN([PYTHON_DEVEL],[
2008-10-31 23:06:49 +00:00
AM_PATH_PYTHON([1.5],, [:])
2003-08-25 22:20:43 +00:00
# Check for Python include path
AC_MSG_CHECKING([for Python include path])
2008-10-31 23:06:49 +00:00
if test "$PYTHON" = : -o -z "$PYTHON" ; then
2003-10-01 18:08:44 +00:00
AC_MSG_WARN([cannot find Python path])
else
2003-08-25 22:20:43 +00:00
python_path=${PYTHON%/bin*}
for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do
python_path=`find $i -type f -name Python.h -print`
if test -n "$python_path" ; then
break
fi
done
for i in $python_path ; do
python_path=${python_path%/Python.h}
break
done
AC_MSG_RESULT([$python_path])
if test -z "$python_path" ; then
2003-09-21 20:25:07 +00:00
AC_MSG_WARN([cannot find Python include path])
2003-10-01 18:08:44 +00:00
else
AC_SUBST(PYTHON_CPPFLAGS,[-I$python_path])
2005-04-13 18:56:19 +00:00
# Check for Python headers usability
python_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
AC_CHECK_HEADERS([Python.h],, [cf_with_python_devel=no])
CPPFLAGS="$python_save_CPPFLAGS"
if test "$cf_with_python_devel" != "no" ; then
# Check for Python library path
AC_MSG_CHECKING([for Python library path])
python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
if test -n "$python_path" ; then
break
fi
done
python_path=`echo $python_path | sed "s,/libpython.*$,,"`
AC_MSG_RESULT([$python_path])
if test -z "$python_path" ; then
AC_MSG_WARN([cannot find Python library path])
2003-10-01 18:08:44 +00:00
fi
2005-04-13 18:56:19 +00:00
AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$PYTHON_VERSION"])
#
python_site=`echo $python_path | sed "s/config/site-packages/"`
AC_SUBST([PYTHON_SITE_PKG],[$python_site])
#
# libraries which must be linked in when embedding
#
AC_MSG_CHECKING(python extra libraries)
PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
conf = distutils.sysconfig.get_config_var; \
print conf('LOCALMODLIBS')+' '+conf('LIBS')"
AC_MSG_RESULT($PYTHON_EXTRA_LIBS)`
AC_SUBST(PYTHON_EXTRA_LIBS)
# Check for Python library usability
python_save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $PYTHON_LDFLAGS"
AC_CHECK_FUNC(PyArg_Parse,
[cf_with_python_devel=yes],
[cf_with_python_devel=no])
LDFLAGS="$python_save_LDFLAGS"
2003-08-25 22:20:43 +00:00
fi
2005-04-13 18:56:19 +00:00
fi
fi
2003-08-25 22:20:43 +00:00
])