dnl Process this file with autoconf to produce a configure script. AC_INIT(PyIlmBase, 2.2.0) AC_SUBST(PYILMBASE_VERSION, 2.2.0) AC_CANONICAL_HOST AC_CONFIG_SRCDIR(PyIex/iexmodule.cpp) AC_CONFIG_HEADER(config/PyIlmBaseConfig.h) AM_INIT_AUTOMAKE(1.6.3) dnl Require automake 1.6.3 or better AM_MAINTAINER_MODE dnl static python modules make no sense - disable static AC_DISABLE_STATIC LIBTOOL_CURRENT=2 LIBTOOL_REVISION=2 LIBTOOL_AGE=0 LIBTOOL_VERSION=$LIBTOOL_CURRENT:$LIBTOOL_REVISION:$LIBTOOL_AGE AC_SUBST(LIBTOOL_VERSION) dnl Checks for programs. AC_PROG_CXX AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_LIBTOOL AC_PROG_MAKE_SET dnl dnl PKGCONFIG preparations dnl if test -z "${PKG_CONFIG_PATH}"; then PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig fi export PKG_CONFIG_PATH dnl dnl get ccflags and libs from openexr packages, then check dnl whether test programs compile AM_PATH_PKGCONFIG( [ILMBASE_CXXFLAGS], [ILMBASE_LDFLAGS], [ILMBASE_LIBS], [IlmBase], [OpenEXR], [-L/usr/local/lib], [-lImath -lHalf -lIex -lIexMath -lIlmThread -lpthread], [ilmbase-prefix]) AM_COMPILELINKRUN( [IlmBase], [ilmbasetest], [$ILMBASE_CXXFLAGS], [$ILMBASE_LDFLAGS], [$ILMBASE_LIBS],[[ #include #include #ifndef IMATH_NAMESPACE #define IMATH_NAMESPACE Imath #endif ]], [[ double d = IMATH_NAMESPACE::succd(.23); d+= .2; ]], AC_MSG_RESULT([Compiled and ran IlmBase test program.]), AC_MSG_ERROR([Could not compile IlmBase test program.])) LDFLAGS="$LDFLAGS $ILMBASE_LDFLAGS" dnl Checks for python and boost python AM_PATH_PYTHON PYTHON_INC_DIR=`$PYTHON -c 'from distutils.sysconfig import *; print get_python_inc()'` PYTHON_LIB_DIR=`$PYTHON -c 'from distutils.sysconfig import *; print get_config_var("LIBDIR")'` LIBS="$LIBS -lpython$PYTHON_VERSION" BOOST_PYTHON_CXXFLAGS="" BOOST_PYTHON_LDFLAGS="" BOOST_PYTHON_LIBS="" BOOST_PYTHON_LIBNAME="boost_python" AC_ARG_WITH( [boost-include-dir], [AS_HELP_STRING([--with-boost-include-dir],["boost include directory"])], [BOOST_PYTHON_CXXFLAGS="-I$withval"]) AC_ARG_WITH( [boost-lib-dir], [AS_HELP_STRING([--with-boost-lib-dir],["boost library directory"])], [BOOST_PYTHON_LDFLAGS="-L$withval"]) AC_ARG_WITH( [boost-python-libname], [AS_HELP_STRING([--with-boost-python-libname],["boost::python library name (default: boost_python)"])], [BOOST_PYTHON_LIBNAME="$withval"]) CXXFLAGS="$CXXFLAGS $BOOST_PYTHON_CXXFLAGS -I$PYTHON_INC_DIR" LDFLAGS="$LDFLAGS $BOOST_PYTHON_LDFLAGS -L$PYTHON_LIB_DIR" BOOST_PYTHON_LIBS="-l$BOOST_PYTHON_LIBNAME" AM_COMPILELINKRUN( [boost::python], [boostpythontest], [$CXXFLAGS], [$LDFLAGS], [$LIBS $BOOST_PYTHON_LIBS],[[ #include #include ]], [[Py_Initialize(); boost::python::object obj;]], AC_MSG_RESULT([Compiled and ran boost::python test program.]), AC_MSG_ERROR([Could not compile boost::python test program.])) dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(limits.h unistd.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_MSG_CHECKING(for gcc optimization flags) old_cflags=$CFLAGS CFLAGS="$CFLAGS -pipe" AC_TRY_COMPILE([#include ], [ printf ("hello, world"); ], [ EXTRA_OPT_CFLAGS="-pipe"],[ EXTRA_OPT_CFLAGS=""]) CFLAGS=$old_cflags AC_MSG_RESULT([$EXTRA_OPT_CFLAGS]) dnl Platform-specific stuff case "$host" in *linux*) AC_DEFINE(HAVE_LINUX_PROCFS) ;; *darwin*) AC_DEFINE(HAVE_DARWIN) ;; esac NUMPY_CXXFLAGS=`$PYTHON -c 'from numpy.distutils.misc_util import *; import string; print string.join(@<:@"-I"+x for x in get_numpy_include_dirs()@:>@," ")'` AC_ARG_WITH([numpy], [AS_HELP_STRING([--without-numpy], [disable support for numpy])], [], [with_numpy=yes]) dnl header check not quite working yet dnl AC_LANG(['C++']) dnl AS_IF([test "x$with_numpy" != xno],[ dnl CPPFLAGS="$CPPFLAGS -I$NUMPY_INC_DIR" dnl AC_CHECK_HEADER([numpy/arrayobject.h], dnl [], dnl [AC_MSG_FAILURE([numpy test failed (--without-numpy to disable)])], dnl []) dnl ]) AM_CONDITIONAL([BUILD_PYIMATHNUMPY], [test "$with_numpy" = yes]) AM_CFLAGS="$EXTRA_OPT_CFLAGS" AM_CXXFLAGS="$EXTRA_OPT_CFLAGS" AM_LDFLAGS="$ILMBASE_LDFLAGS $PYTHON_LDFLAGS" AC_SUBST(AM_CFLAGS) AC_SUBST(AM_CXXFLAGS) AC_SUBST(AM_LDFLAGS) AC_SUBST(BOOST_PYTHON_LIBS) AC_SUBST(NUMPY_CXXFLAGS) AC_CONFIG_FILES([ Makefile PyIlmBase.pc config/Makefile PyIex/Makefile PyIexTest/Makefile PyIexTest/pyIexTest PyImath/Makefile PyImathTest/Makefile PyImathTest/pyImathTest PyImathNumpy/Makefile ]) AC_OUTPUT AC_MSG_RESULT([ --------------------------------------------- Summary for PyIlmBase features: Python version $PYTHON_VERSION boost::python libname $BOOST_PYTHON_LIBNAME --------------------------------------------- ])