348 lines (283 with data), 9.4 kB
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
# Making releases:
# LIBMONA_MICRO_VERSION += 1;
# LIBMONA_INTERFACE_AGE += 1;
# LIBMONA_BINARY_AGE += 1;
# if any functions have been added, set LIBMONA_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set LIBMONA_BINARY_AGE and LIBMONA_INTERFACE_AGE to 0.
m4_define([libmona_major_version], [0])
m4_define([libmona_minor_version], [8])
m4_define([libmona_micro_version], [4])
m4_define([libmona_real_version],
[libmona_major_version.libmona_minor_version.libmona_micro_version])
m4_define([libmona_version], [libmona_real_version])
m4_define([libmona_interface_age], [0])
m4_define([libmona_binary_age], [2])
m4_define([libmona_unstable],
m4_if(m4_eval(libmona_minor_version % 2), [1], [yes], [no]))
m4_define([libmona_full_name], [The MONA library])
AC_INIT([libmona], [libmona_version], [tittge@cbs.mpg.de])
AC_CONFIG_SRCDIR([libmona/monaConfig.hh.in])
AM_INIT_AUTOMAKE(no-define)
AC_CONFIG_HEADER(config.h)
LIBMONA_MAJOR_VERSION=libmona_major_version
LIBMONA_MINOR_VERSION=libmona_minor_version
LIBMONA_MICRO_VERSION=libmona_micro_version
LIBMONA_INTERFACE_AGE=libmona_interface_age
LIBMONA_BINARY_AGE=libmona_binary_age
LIBMONA_VERSION=libmona_version
LIBMONA_UNSTABLE=libmona_unstable
AC_SUBST(LIBMONA_MAJOR_VERSION)
AC_SUBST(LIBMONA_MINOR_VERSION)
AC_SUBST(LIBMONA_MICRO_VERSION)
AC_SUBST(LIBMONA_INTERFACE_AGE)
AC_SUBST(LIBMONA_BINARY_AGE)
AC_SUBST(LIBMONA_VERSION)
AC_SUBST(LIBMONA_UNSTABLE)
dnl The symbol LIBMONA_UNSTABLE is defined above for substitution in
dnl Makefiles and conditionally defined here as a preprocessor symbol.
if test "x$LIBMONA_UNSTABLE" = "xyes"; then
AC_DEFINE(LIBMONA_UNSTABLE,1,
[Define to 1 if this is an unstable version of the libmona])
fi
# libtool versioning
m4_define([lt_release], [libmona_major_version.libmona_minor_version])
m4_define([lt_current], [m4_eval(libmona_micro_version - libmona_interface_age)])
m4_define([lt_revision], [libmona_interface_age])
m4_define([lt_age], [m4_eval(libmona_binary_age - libmona_interface_age)])
LT_RELEASE=lt_release
LT_CURRENT=lt_current
LT_REVISION=lt_revision
LT_AGE=lt_age
LT_VERSION_INFO="lt_current:lt_revision:lt_age"
m4_define([LT_CURRENT_MINUS_AGE],[m4_eval(lt_current - lt_age)])
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
AC_SUBST(LT_VERSION_INFO)
dnl Initialize maintainer mode
AM_MAINTAINER_MODE
# some generic stuff
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_MSG_CHECKING([whether to turn on debugging])
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],
[turn on debugging (default=no)]),
DEBUGFLAG="-g -ansi -Wall"; enable_debug=yes)
AM_CONDITIONAL(DEBUG, test "$enable_debug" = yes)
if test -n "$DEBUGFLAG"; then
AC_MSG_RESULT([yes])
CXXFLAGS="$DEBUGFLAG $CXXFLAGS"
CFLAGS="$DEBUGFLAG $CFLAGS"
AC_DEFINE(ENABLE_DEBUG, 1, [Define if debugging needs some extra code.])
else
AC_DEFINE(NDEBUG, 1, [Define we don't want debugging code.])
AC_MSG_RESULT([no])
fi
PLUGIN_SEARCH_PATH=${prefix}/lib/$PACKAGE_NAME/$PACKAGE_VERSION/plugins
AC_SUBST(PLUGIN_SEARCH_PATH)
AC_DEFINE_UNQUOTED(PLUGIN_SEARCH_PATH, "$PLUGIN_SEARCH_PATH", [Package plugin search path])
AC_SUBST(define_DEBUG_OUTPUT)
# appreciate aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
dnl Initialize CC
AC_PROG_CC
AM_PROG_CC_STDC
dnl Initialize CXX
AC_PROG_CXX
dnl Initialize libtool
AC_PROG_LIBTOOL
AC_SUBST(define_WORKAROUND_RTTI)
# Checks for system header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_TIME
AC_CHECK_HEADERS([limits.h sys/time.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_CHECK_TYPES([ptrdiff_t])
# Check for doxygen
AC_CHECK_PROG(have_doxygen,doxygen,"yes","no")
if test "x$have_doxygen" = "xyes"; then
AC_CHECK_PROG(HAVE_DOT,dot,"YES","NO")
AC_SUBST(HAVE_DOT)
else
AC_MSG_ERROR([
*** Doxygen is not installesd on your computer, though it is
*** required to build the documentation of this package.
*** The latest version of doxygen is always available from
*** http://www.doxygen.org])
fi
# Check for libpopt
AC_CHECK_HEADERS(popt.h)
SAVE_LIBS="$LIBS"
AC_CHECK_LIB(popt, poptGetContext,
POPT_LIB="-lpopt"; LIBS="$LIBS -lpopt",
POPT_LIB=""; AC_MSG_ERROR([popt library not found]))
AC_SUBST(POPT_LIB)
ACX_POPT_CONST
LIBS="$SAVE_LIBS"
# Check for libiberty (in binutils-dev; put in package dependencies)
AC_CHECK_HEADERS(libiberty.h)
SAVE_LIBS="$LIBS"
AC_CHECK_LIB(iberty, cplus_demangle,[
IBERTY_LIB="-liberty"; LIBS="$LIBS -liberty"
use_liberty=yes
AC_SUBST(HAVE_LIBERTY, 1, have the libiberty)
], [
use_liberty=no
])
AC_SUBST(IBERTY_LIB)
AM_CONDITIONAL(HAVE_LIBERTY, test x$use_liberty = xyes)
AC_CHECK_FUNCS(xcalloc)
AC_CHECK_FUNCS(xmemdup)
ACX_MALLOC_ATTRIBUTE
LIBS="$SAVE_LIBS"
# Check for libdl
SAVE_LIBS="$LIBS"
AC_CHECK_LIB(c, dlopen, DL_LIB="", [AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl")])
AC_SUBST(DL_LIB)
LIBS="$SAVE_LIBS"
#check for io plugin libraries
AC_CHECK_LIB(tiff, TIFFOpen,[
TIFF_LIB="-ltiff -lm"
AC_SUBST(TIFF_LIB)
build_tiffio_plugins=yes
], [build_tiffio_plugins=no], -lm)
AC_CHECK_HEADER(tiffio.h,,[build_tiffio_plugins=no])
PKG_CHECK_MODULES(FFTW3, "fftw3", build_fftw=yes, build_fftw=no)
AC_SUBST(FFTW3_LIBS)
AC_SUBST(FFTW3_CFLAGS)
AM_CONDITIONAL(HAVE_FFTW3, test x$build_fftw = xyes)
PKG_CHECK_MODULES(EXR, OpenEXR, [
build_exrio_plugins=yes
AC_DEFINE(HAVE_OPENEXR, 1, define if the OpenEXR library is available)
],build_exrio_plugins=no)
AC_SUBST(EXR_LIBS)
AC_SUBST(EXR_CFLAGS)
AM_CONDITIONAL(BUILD_EXRIO_PLUGINS, test x$build_exrio_plugins = xyes)
AC_CHECK_LIB(atlas, ATL_saxpy, [
AC_CHECK_LIB(ptcblas, cblas_saxpy, [
BLAS_LIBS="-lptcblas -latlas -lpthread -lm"
AC_SUBST(BLAS_LIBS)
AC_CHECK_HEADER(cblas.h, AC_DEFINE(HAVE_BLAS, 1, use the blas routines))
],[
AC_CHECK_LIB(cblas, cblas_saxpy, [
BLAS_LIBS="-lcblas -latlas -lm"
AC_SUBST(BLAS_LIBS)
AC_CHECK_HEADER(cblas.h, AC_DEFINE(HAVE_BLAS, 1, use the blas routines))
],, -latlas -lpthread -lm)
],-latlas -lpthread -lm)],[
AC_CHECK_LIB(cblas, cblas_saxpy, [
BLAS_LIBS="-lcblas -lpthread -lm"
AC_SUBST(BLAS_LIBS)
AC_CHECK_HEADER(cblas.h, AC_DEFINE(HAVE_BLAS, 1, use the blas routines))
],, -lpthread -lm)
], -lpthread -lm )
AM_CONDITIONAL(BUILD_TIFFIO_PLUGINS, test x$build_tiffio_plugins = xyes)
AC_CHECK_LIB(png12, png_create_read_struct,[
PNG_LIB="-lpng12 -lm -lz"
AC_SUBST(PNG_LIB)
build_pngio_plugins=yes
], [build_pngio_plugins=no], -lm -lz)
AC_CHECK_HEADER(png.h,,[build_pngio_plugins=no])
AM_CONDITIONAL(BUILD_PNGIO_PLUGINS, test x$build_pngio_plugins = xyes)
#check for GTS
SAVE_LIBS="$LIBS"
AM_PATH_GTS(0.7.3,[
AC_DEFINE(HAVE_GTS, 1,[Define if we have libgts.])
build_gts_plugins=yes
],[
build_gts_plugins=no
])
AM_CONDITIONAL(BUILD_GTS_PLUGINS, test x$build_gts_plugins = xyes)
LIBS="$SAVE_LIBS"
#check for VISTAIO
PKG_CHECK_MODULES(VISTAIO, libvistaio, [
build_vistaio_plugins=yes
AC_DEFINE(HAVE_VISTAIO, 1, define if the VISTAIO library is available)
],build_VISTAIO_plugins=no)
AC_SUBST(EXR_LIBS)
AC_SUBST(EXR_CFLAGS)
AM_CONDITIONAL(BUILD_VISTAIO_PLUGINS, test x$build_vistaio_plugins = xyes)
LIBS="$SAVE_LIBS"
SAVE_LIBS="$LIBS"
AC_CHECK_LIB(netcdf, nc_open, [
MINC_LIB="-lnetcdf"
build_minc_plugins=yes
],[
build_minc_plugins=no
], -L$prefix/lib)
if test x$build_minc_plugins = xyes
then
AC_CHECK_LIB(minc, miopen,[
MINC_LIB="-lminc -lnetcdf"
build_minc_plugins=yes
], [
build_minc_plugins=no
], -lnetcdf -L$prefix/lib)
fi
AM_CONDITIONAL(BUILD_MINC_PLUGINS, test x$build_minc_plugins = xyes)
AC_SUBST(MINC_LIB)
LIBS="$SAVE_LIBS"
dnl Checks some more functions.
AC_LANG(C++)
AC_TYPE_SIGNAL
AC_CHECK_FUNCS([difftime floor getcwd memset pow regcomp sqrt strerror strchr strtoul])
dnl check some boost functionality
AX_BOOST_BASE([1.34])
CXXFLAGS="$CXXFLAGS $BOOST_CPPFLAGS"
AX_BOOST_THREAD
AX_BOOST_FILESYSTEM
LIBS="$LIBS $BOOST_THREAD_LIB $BOOST_FILESYSTEM_LIB $BOOST_LDFLAGS"
dnl Set PACKAGE PREFIX
if test "x${prefix}" = "xNONE"; then
packageprefix=${ac_default_prefix}
else
packageprefix=${prefix}
fi
dnl set the standard flags for this library
libmona_cflags="-I$prefix/include/libmona-${LT_RELEASE}"
libmona_libs="-L$prefix/lib -lmona -lm -ldl $BOOST_THREAD_LIB $BOOST_LDFLAGS"
AC_SUBST(libmona_cflags)
AC_SUBST(libmona_libs)
AC_CONFIG_FILES([Makefile
libmona-config
libmona.pc
m4/Makefile
doc/library.dox
doc/Makefile
doc/version.tex
doc/src/Makefile
doc/examples/Makefile
libopt/Makefile
libmona/monaConfig.hh
libmona/Makefile
plugins/Makefile
plugins/io/Makefile
plugins/filter/Makefile
scripts/Makefile
src/Makefile
test/Makefile]
libmona.spec
,[chmod +x libmona-config])
AC_OUTPUT
echo "================================="
echo "Build additional IO Plugins:"
echo " exr......$build_exrio_plugins"
echo " gts......$build_gts_plugins"
echo " minc.....$build_minc_plugins"
echo " png......$build_pngio_plugins"
echo " tiff.....$build_tiffio_plugins"
echo " vista....$build_vistaio_plugins"
echo "Build additional Filter Plugins:"
echo " fft......$build_fftw"
echo "================================="