--- trunk/OOPSE-3.0/ac-tools/configure.in 2005/03/04 15:29:03 2081 +++ trunk/OOPSE-3.0/ac-tools/configure.in 2005/04/13 22:30:22 2190 @@ -228,7 +228,210 @@ dnl AC_SUBST(USE_SPRNG) dnl ACX_SPRNG dnl fi dnl AC_SUBST(USE_SPRNG) + +dnl ######################################## +dnl # Check for CGAL headers and libraries # +dnl ######################################## + +USE_CGAL=no +cgal_makefile=auto +AC_ARG_WITH(cgal-makefile,[ --with-cgal-makefile=FILE CGAL makefile that should be used], cgal_makefile="$withval") + +if test "x$cgal_makefile" != xno; then + + if test "x$cgal_makefile" = xauto -a "x$CGAL_MAKEFILE" != x; then + cgal_makefile="$CGAL_MAKEFILE" + fi + + echo "cgal_makefile $cgal_makefile" + + if test -f "$cgal_makefile"; then + + cat >config.tmp.Makefile <config.tmp.cgalvariables + @echo CGAL_INCLDIR=\"\${CGAL_INCL_DIR}\" >>config.tmp.cgalvariables + @echo CGAL_INCLCONFDIR=\"\${CGAL_INCL_CONF_DIR}\" >>config.tmp.cgalvariables + @echo CGAL_LIBDIR=\"\${CGAL_LIB_DIR}/\${CGAL_OS_COMPILER}\" >>config.tmp.cgalvariables + @echo CGAL_RLIBDIR=\"\${CGAL_LIB_DIR}/\${CGAL_OS_COMPILER}\" >>config.tmp.cgalvariables + @echo CGAL_CXXFLAGS=\"\${CGAL_CXXFLAGS}\" >>config.tmp.cgalvariables + @echo GMP_INCLDIR=\"\${GMP_INCL_DIR}\" >>config.tmp.cgalvariables + @echo GMP_LIBDIR=\"\${GMP_LIB_DIR}\" >>config.tmp.cgalvariables + @echo GMP_RLIBDIR=\"\${GMP_LIB_DIR}\" >>config.tmp.cgalvariables + @echo LEDA_INCLDIR=\"\${LEDA_INCL_DIR}\" >>config.tmp.cgalvariables + @echo LEDA_LIBDIR=\"\${LEDA_LIB_DIR}\" >>config.tmp.cgalvariables + @echo LEDA_RLIBDIR=\"\${LEDA_LIB_DIR}\" >>config.tmp.cgalvariables +EOF + + make -s -f config.tmp.Makefile + . config.tmp.cgalvariables + + rm -f config.tmp.Makefile config.tmp.cgalvariables + + if test "x$CGAL_INCLDIR" = "x"; then + CGAL_INCLDIR="" + fi + + if test "x$CGAL_LIBDIR" = "x"; then + CGAL_LIBDIR="" + fi + + if test "x$CGAL_RLIBDIR" = "x"; then + CGAL_RLIBDIR="" + fi + if test "x$LEDA_INCLDIR" = "x"; then + LEDA_INCLDIR="" + fi + + if test "x$LEDA_LIBDIR" = "x"; then + LEDA_LIBDIR="" + fi + + if test "x$LEDA_RLIBDIR" = "x"; then + LEDA_RLIBDIR="" + fi + + if test "x$GMP_INCLDIR" = "x"; then + GMP_INCLDIR="" + fi + + if test "x$GMP_LIBDIR" = "x"; then + GMP_LIBDIR="" + fi + + if test "x$GMP_RLIBDIR" = "x"; then + GMP_RLIBDIR="" + fi + + echo "CGAL_OS_COMPILER $CGAL_OS_COMPILER" + echo "CGAL_INCLDIR $CGAL_INCLDIR" + echo "CGAL_INCLCONFDIR $CGAL_INCLCONFDIR" + echo "CGAL_LIBDIR $CGAL_LIBDIR" + echo "CGAL_CXXFLAGS $CGAL_CXXFLAGS" + echo "LEDA_INCLDIR $LEDA_INCLDIR" + echo "LEDA_LIBDIR $LEDA_LIBDIR" + echo "GMP_INCLDIR $GMP_INCLDIR" + echo "GMP_LIBDIR $GMP_LIBDIR" + + AC_LANG_PUSH(C++) + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -I$CGAL_INCLDIR -I$CGAL_INCLCONFDIR" + AC_CHECK_HEADER(CGAL/Cartesian.h, cgal=yes, cgal=no) + CXXFLAGS="$save_CXXFLAGS" + + if test "x$cgal" = xyes; then + AC_MSG_CHECKING([for CGAL version]) + LOCATION=${CGAL_INCLDIR} + LOCATION=${LOCATION:-/usr/include} + if test -f $LOCATION/CGAL/version.h; then + CGAL_VERSION=`grep '#define.*\.*' $LOCATION/CGAL/version.h | sed 's/[^0-9\.]*//g'` + else + CGAL_VERSION=`grep '#define.*\.*' $LOCATION/CGAL/config.h | sed 's/[^0-9\.]*//g'` + fi +changequote({, })dnl + if echo $CGAL_VERSION | grep -q "^[3456789]"; then +changequote([, ])dnl + AC_MSG_RESULT([($CGAL_VERSION) yes]) + else + AC_MSG_RESULT([($CGAL_VERSION) no]) + cgal=no + fi + fi + + if test "x$cgal" = xyes; then + CGAL_LIBS="-lCGAL" + AC_MSG_CHECKING([whether CGAL uses LEDA]) + if echo $CGAL_CXXFLAGS | grep -q -- -DCGAL_USE_LEDA; then + CGAL_USES_LEDA=yes + AC_MSG_RESULT([yes]) + CGAL_DEFINES="-DCGAL_USE_LEDA -DLEDA_PREFIX" + else + AC_MSG_RESULT([no]) + CGAL_USES_LEDA=no + fi + + AC_MSG_CHECKING([whether CGAL uses GMP]) + if echo $CGAL_CXXFLAGS | grep -q -- -DCGAL_USE_GMP; then + CGAL_USES_GMP=yes + AC_MSG_RESULT([yes]) + CGAL_DEFINES="-DCGAL_USE_GMP $CGAL_DEFINES" + else + AC_MSG_RESULT([no]) + CGAL_USES_GMP=no + fi + + CGAL_LIBS="$CGAL_LIBS -lm" + + CGAL_CXXFLAGS="-ftemplate-depth-50" + + echo "CGAL_USES_LEDA $CGAL_USES_LEDA" + echo "CGAL_USES_GMP $CGAL_USES_GMP" + echo "CGAL_INCLDIR $CGAL_INCLDIR" + echo "CGAL_LIBDIR $CGAL_LIBDIR" + echo "CGAL_DEFINES $CGAL_DEFINES" + echo "CGAL_CXXFLAGS $CGAL_CXXFLAGS" + echo "CGAL_LIBS $CGAL_LIBS" + fi + + if test "x$cgal" = xyes; then + save_LIBS="$LIBS" + LIBS="$LIBS -L$CGAL_LIBDIR" + if test "x$CGAL_USES_LEDA" = xyes; then + LIBS="-lL $LIBS -L$LEDA_LIBDIR" + fi + # if test "x$CGAL_USES_GMP" = xyes; then + # LIBS="-lgmp $LIBS $GMP_LIBDIR" + # fi + AC_CHECK_CXX_LIB(CGAL, ::CGAL::Cartesian::Point_2, [#include ], [::CGAL::Cartesian::Point_2 P], [cgal=yes], [cgal=no], -I$CGAL_INCLDIR -I$CGAL_INCLCONFDIR) + LIBS="$save_LIBS" + fi + + fi + AC_LANG_POP() + +fi + +if test "x$cgal" = xyes; then + USE_CGAL=yes + AC_DEFINE(HAVE_CGAL, 1, [Is defined if the CGAL library is available.]) + AC_DEFINE_UNQUOTED(CGAL_VERSION, $CGAL_VERSION, [The CGAL version number.]) +changequote({, })dnl + if ! echo $CGAL_VERSION | grep -q "^3.0"; then +changequote([, ])dnl + AC_MSG_WARN(*****************************************************) + AC_MSG_WARN(*** Warning: Your CGAL version is newer than the ***) + AC_MSG_WARN(*** supported versions. It may still work though. ***) + AC_MSG_WARN(*****************************************************) + fi +else + if test "x$cgal_makefile" != xno; then + AC_MSG_WARN(*********************************************************) + AC_MSG_WARN(*** Warning: CGAL was not found. ***) + AC_MSG_WARN(*** Run \"configure\" with the appropriate options. ***) + AC_MSG_WARN(*** CGAL support will be disabled. ***) + AC_MSG_WARN(*********************************************************) + fi + CGAL_INCLDIR= + CGAL_LIBDIR= + CGAL_RLIBDIR= + CGAL_DEFINES= + CGAL_CXXFLAGS= + CGAL_LIBS= +fi + +AC_SUBST(USE_CGAL) +CGAL_INC_DIR="${CGAL_INCLDIR} ${CGAL_INCLCONFDIR}" +AC_SUBST(CGAL_INC_DIR) +CGAL_LIB_DIR=${CGAL_LIBDIR} +AC_SUBST(CGAL_LIB_DIR) +CGAL_RLIB_DIR=${CGAL_RLIBDIR} +AC_SUBST(CGAL_RLIB_DIR) +AC_SUBST(CGAL_DEFINES) +AC_SUBST(CGAL_CXXFLAGS) +AC_SUBST(CGAL_LIBS) + dnl CHECK_MKL BB_ENABLE_DOXYGEN @@ -293,6 +496,6 @@ AC_CONFIG_FILES([make/Makefile src/utils/Makefile]) AC_SUBST(PREPDEFFLAG) AC_SUBST(F90_MODULE_NAMES) AC_CONFIG_HEADER([src/config.h]) -AC_CONFIG_FILES([make/Makefile src/utils/Makefile]) +AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/applications/nanoRodBuilder/Makefile]) AC_OUTPUT