[cig-commits] r9169 - in cs/benchmark/cigma/trunk/build: . m4

luis at geodynamics.org luis at geodynamics.org
Mon Jan 28 23:37:10 PST 2008


Author: luis
Date: 2008-01-28 23:37:10 -0800 (Mon, 28 Jan 2008)
New Revision: 9169

Added:
   cs/benchmark/cigma/trunk/build/Makefile.am
   cs/benchmark/cigma/trunk/build/m4/cigma_zlib.m4
   cs/benchmark/cigma/trunk/build/old-configure.ac
Modified:
   cs/benchmark/cigma/trunk/build/configure.ac
   cs/benchmark/cigma/trunk/build/m4/cigma_hdf5.m4
   cs/benchmark/cigma/trunk/build/m4/cigma_python.m4
   cs/benchmark/cigma/trunk/build/m4/cigma_vtk.m4
   cs/benchmark/cigma/trunk/build/variables.in
Log:
Autoconf detection of Python, Numpy, HDF5, and VTK libraries


Added: cs/benchmark/cigma/trunk/build/Makefile.am
===================================================================
--- cs/benchmark/cigma/trunk/build/Makefile.am	                        (rev 0)
+++ cs/benchmark/cigma/trunk/build/Makefile.am	2008-01-29 07:37:10 UTC (rev 9169)
@@ -0,0 +1 @@
+ACLOCAL_AMFLAGS = -I ./m4

Modified: cs/benchmark/cigma/trunk/build/configure.ac
===================================================================
--- cs/benchmark/cigma/trunk/build/configure.ac	2008-01-29 07:37:09 UTC (rev 9168)
+++ cs/benchmark/cigma/trunk/build/configure.ac	2008-01-29 07:37:10 UTC (rev 9169)
@@ -1,16 +1,18 @@
-dnl Check that this is the cigma source tree
-AC_INIT(../src/h5io/h5io.h)
+AC_PREREQ(2.59)
+AC_INIT([Cigma], [0.9.1], [cig-cs at geodynamics.org], [cigma])
+AC_CONFIG_AUX_DIR([./aux-config])
+AC_CONFIG_HEADER([config.h])
+AC_CONFIG_MACRO_DIR([m4])
+AM_INIT_AUTOMAKE([foreign])
 
-dnl Parse '--with' command-line options
-AC_ARG_WITH(hdf5-prefix,
-            AC_HELP_STRING([--with-hdf5-prefix=PFX],
-                           [prefix where the HDF5 library and include files are installed]),
-            [HDF5_PREFIX=$withval])
-AC_ARG_WITH(zlib-prefix,
-            AC_HELP_STRING([--with-zlib-prefix=PFX],
-                           [prefix where the ZLIB library and include files are installed]),
-            ZLIB_PREFIX=$withval)
 
+
+CIGMA_OPTIONS_ZLIB
+CIGMA_OPTIONS_HDF5
+CIGMA_OPTIONS_VTK
+
+
+
 dnl Get the operating system name
 UNAME=`uname`
 
@@ -51,45 +53,23 @@
 dnl See if we need a .exe extension on executables
 AC_EXEEXT
 
+
 dnl Check for standard math library
 AC_CHECK_LIB(m,main)
 
-CIGMA_LIBS=""
-CIGMA_DIRS="h5io ann"
 
-dnl Check for zlib
-ZLIB=""
-if test "x${ZLIB_PREFIX}" != "x"; then
-  LDFLAGS="-L${ZLIB_PREFIX} -L${ZLIB_PREFIX}/lib ${LDFLAGS}"
-fi
-AC_CHECK_LIB(z,main,ZLIB="yes",ZLIB="no")
+dnl Check for the python include directories
+CIGMA_PATH_PYTHON
 
-dnl Check for HDF5 (needs ZLIB)
-if test "x${ZLIB}" = "xyes"; then
-  if test "x${HDF5_PREFIX}" != "x"; then
-    LDFLAGS="-L${HDF5_PREFIX}/lib ${LDFLAGS}"
-  fi
-  AC_CHECK_LIB(hdf5,main,HDF5="yes",HDF5="no")
-  if test "x${HDF5}" = "xyes"; then
-    if test "x${HDF5_PREFIX}" = "x"; then
-      CIGMA_LIBS="${CIGMA_LIBS} -lhdf5"
-    else
-      CIGMA_LIBS="${CIGMA_LIBS} -L${HDF5_PREFIX}/lib -lhdf5"
-      FLAGS="${FLAGS} -I${HDF5_PREFIX}/include"
-    fi
-  fi
-fi
+dnl Check for zlib and hdf5
+CIGMA_PATH_ZLIB
+CIGMA_PATH_HDF5
 
-dnl Complete zlib link line (zlib must be linked after HDF5)
-if test "x${ZLIB}" = "xyes"; then
-  if test "x${ZLIB_PREFIX}" = "x"; then
-    CIGMA_LIBS="${CIGMA_LIBS} -lz"
-  else
-    CIGMA_LIBS="${CIGMA_LIBS} -L${ZLIB_PREFIX} -L${ZLIB_PREFIX}/lib -lz"
-    FLAGS="${FLAGS} -I${ZLIB_PREFIX} -I${ZLIB_PREFIX}/include"
-  fi
-fi
+dnl Check for vtk-5.0
+AM_PATH_VTK
 
+
+
 dnl Write output
 AC_SUBST(UNAME)
 AC_SUBST(FLAGS)
@@ -98,8 +78,24 @@
 AC_SUBST(CIGMA_DIRS)
 AC_SUBST(CIGMA_LIBS)
 AC_SUBST(AR)
-AC_OUTPUT(variables)
 
+AC_SUBST(VTK_INCLUDES)
+AC_SUBST(VTK_LIBS)
+AC_SUBST(VTK_LDFLAGS)
+
+AC_SUBST(HDF5_INCLUDES)
+AC_SUBST(HDF5_LIBS)
+AC_SUBST(HDF5_LDFLAGS)
+
+AC_SUBST(PYTHON_INCLUDES)
+AC_SUBST(PYTHON_LIBS)
+AC_SUBST(PYTHON_LDFLAGS)
+
+AC_CONFIG_FILES([Makefile variables])
+
+AC_OUTPUT
+
+
 dnl Print some information
 echo "********************************************************************"
 echo "Cigma is configured for"

Modified: cs/benchmark/cigma/trunk/build/m4/cigma_hdf5.m4
===================================================================
--- cs/benchmark/cigma/trunk/build/m4/cigma_hdf5.m4	2008-01-29 07:37:09 UTC (rev 9168)
+++ cs/benchmark/cigma/trunk/build/m4/cigma_hdf5.m4	2008-01-29 07:37:10 UTC (rev 9169)
@@ -11,7 +11,7 @@
     AC_ARG_VAR(HDF5_HOME, [home path to HDF5 library])
     AC_ARG_WITH([hdf5],
         [AC_HELP_STRING([--with-hdf5],
-                        [enable HDF5 @<:@default=/usr@:>@])],
+                        [The prefix where HDF5 is installed @<:@default=/usr@:>@])],
         [with_hdf5="$withval"],
         [with_hdf5="/usr"])
 ])
@@ -22,11 +22,12 @@
 #
 AC_DEFUN([CIGMA_PATH_HDF5],[
     
+    # AC_REQUIRE([CIGMA_PATH_ZLIB])
+
+
     if [[ $with_hdf5 = "yes" ]]; then
-
-        dnl in case user wrote --with-hdf5=yes
+        dnl In case user wrote --with-hdf5=yes
         with_hdf5="/usr"
-
     fi
 
 
@@ -34,7 +35,7 @@
 
         HDF5_PREFIX="$with_hdf5"
 
-        AC_CHECK_FILE([$HDF5_PREFIX/include/hdf5.h],[hdf5Found="OK"])
+        AC_CHECK_FILE([$HDF5_PREFIX/include/hdf5.h], [hdf5Found="OK"])
         AC_MSG_CHECKING([if HDF5 is installed in $HDF5_PREFIX])
 
         if [[ -z "$hdf5Found" ]]; then
@@ -46,9 +47,15 @@
         else
 
             dnl HDF5 found!
+
             AC_MSG_RESULT([yes])
-            HDF5_CFLAGS="-I$HDF5_PREFIX/include"
-            HDF5_CXXFLAGS="$HDF5_CFLAGS"
+
+            AC_CHECK_LIB(hdf5,main,[hdf5lib="OK"])
+
+            #HDF5_CFLAGS="-I$HDF5_PREFIX/include"
+            #HDF5_CXXFLAGS="$HDF5_CFLAGS"
+
+            HDF5_INCLUDES="-I$HDF5_PREFIX/include"
             HDF5_LIBS="-lhdf5"
             HDF5_LDFLAGS="-L$HDF5_PREFIX/lib $HDF5_LIBS -Wl,--rpath -Wl,$HDF5_PREFIX/lib"
             $2
@@ -61,9 +68,8 @@
         dnl nothing to do?
         /bin/false
 
-    fi  # if [[ $with_hdf5 != "no" ]];
+    fi
 
-
 ])
 
 # vim: syntax=config

Modified: cs/benchmark/cigma/trunk/build/m4/cigma_python.m4
===================================================================
--- cs/benchmark/cigma/trunk/build/m4/cigma_python.m4	2008-01-29 07:37:09 UTC (rev 9168)
+++ cs/benchmark/cigma/trunk/build/m4/cigma_python.m4	2008-01-29 07:37:10 UTC (rev 9169)
@@ -5,35 +5,36 @@
 
 ##############################################################################
 #
-# CIGMA_PYTHON_INCDIR
+# CIGMA_PATH_PYTHON
 #
-# Determine the directory containing <Python.h>
+# Determine the directories containing <Python.h> and <numpy/arrayobject.h>
 #
-AC_DEFUN([CIGMA_PYTHON_INCDIR],[
+AC_DEFUN([CIGMA_PATH_PYTHON],[
 
     AC_REQUIRE([AM_PATH_PYTHON])
 
     AC_CACHE_CHECK([for $am_display_PYTHON include directory],
                    [PYTHON_INCDIR],
-                   [PYTHON_INCDIR=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null
-                                    || echo "$PYTHON_PREFIX/include/python$PYTHON_VERSION"`])
+                   [PYTHON_INCDIR=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null || echo "$PYTHON_PREFIX/include/python$PYTHON_VERSION"`])
 
-    AC_MSG_CHECKING([for $am_display_PYTHON numpy include directory])
+    #AC_MSG_CHECKING([for $am_display_PYTHON numpy include directory])
 
     NUMPY_INCDIR=`$PYTHON -c "import numpy; print numpy.get_include()" 2>/dev/null`
-    if [[ -n "$PYTHON_NUMPY_INCDIR" ]]; then
-        AC_CHECK_FILE([$NUMPY_INCDIR/numpy/arrayobject.h], [numpyFound="OK"])
-        if [[ -z "$numpyFound" ]]; then
-            AC_MSG_RESULT([yes])
-        else
-            AC_MSG_RESULT([no])
-        fi
-    else
-        AC_MSG_RESULT([no])
+    if [[ -n "$NUMPY_INCDIR" ]]; then
+        AC_CHECK_FILE([$NUMPY_INCDIR/numpy/arrayobject.h])
+        #AC_CHECK_FILE([$NUMPY_INCDIR/numpy/arrayobject.h], [numpyFound="OK"])
+        #if [[ -n "$numpyFound" ]]; then
+        #    AC_MSG_RESULT([yes])
+        #else
+        #    AC_MSG_RESULT([no])
+        #fi
+    #else
+    #    AC_MSG_RESULT([no])
     fi
 
-    AC_SUBST([PYTHON_INCDIR], [$PYTHON_INCDIR])
-    AC_SUBST([NUMPY_INCDIR], [$NUMPY_INCDIR])
+    PYTHON_INCLUDES="${PYTHON_INCDIR} ${NUMPY_INCDIR}"
+    PYTHON_LIBS="-lpython${PYTHON_VERSION}"
+    PYTHON_LDFLAGS="-L${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config"
 
 ])
 

Modified: cs/benchmark/cigma/trunk/build/m4/cigma_vtk.m4
===================================================================
--- cs/benchmark/cigma/trunk/build/m4/cigma_vtk.m4	2008-01-29 07:37:09 UTC (rev 9168)
+++ cs/benchmark/cigma/trunk/build/m4/cigma_vtk.m4	2008-01-29 07:37:10 UTC (rev 9169)
@@ -13,17 +13,17 @@
 
 ##############################################################################
 #
-# AM_OPTIONS_VTK
+# CIGMA_OPTIONS_VTK
 #
 # Adds the --with-vtk=PATH option to the configure options
 #
-AC_DEFUN([AM_OPTIONS_VTK],[
+AC_DEFUN([CIGMA_OPTIONS_VTK],[
     AC_ARG_WITH([vtk],
                 [AC_HELP_STRING(
                     [--with-vtk],
-                    [The prefix where VTK is installed (default is /usr/local)])],
+                    [The prefix where VTK is installed (default is /usr)])],
                 [with_vtk=$withval],
-                [with_vtk="/usr/local"])
+                [with_vtk="/usr"])
     AC_ARG_WITH([vtk-version],
                 [AC_HELP_STRING(
                     [--with-vtk-version],
@@ -67,11 +67,12 @@
             AC_MSG_RESULT([yes])
 
             dnl these are the VTK libraries of a default build
-            VTK_LIBS="-lvtkCommon -lvtkFiltering"
+            VTK_LIBS="-lvtkCommon -lvtkIO -lvtkFiltering"
 
             dnl set VTK c,cpp,ld flags
             VTK_CFLAGS="-I$VTK_PREFIX/include/vtk$vtk_suffix"
             VTK_CXXFLAGS="$VTK_CFLAGS"
+            VTK_INCLUDES="-I$VTK_PREFIX/include/vtk$vtk_suffix"
             VTK_LDFLAGS="-L$VTK_PREFIX/lib/vtk $VTK_LIBS"
 
             dnl now, eventually check version

Added: cs/benchmark/cigma/trunk/build/m4/cigma_zlib.m4
===================================================================
--- cs/benchmark/cigma/trunk/build/m4/cigma_zlib.m4	                        (rev 0)
+++ cs/benchmark/cigma/trunk/build/m4/cigma_zlib.m4	2008-01-29 07:37:10 UTC (rev 9169)
@@ -0,0 +1,56 @@
+##############################################################################
+# -*- Autoconf -*-
+#
+# ZLIB is needed for compiling HDF5
+#
+
+##############################################################################
+#
+# CIGMA_OPTIONS_ZLIB
+#
+AC_DEFUN([CIGMA_OPTIONS_ZLIB], [
+    AC_ARG_WITH([zlib],
+        [AC_HELP_STRING([--with-zlib],
+                        [The prefix where zlib is installed @<:@default=/usr@:>@])],
+        [with_zlib="$withval"],
+        [with_zlib="/usr"])
+])
+
+##############################################################################
+#
+# CIGMA_PATH_ZLIB([action-if-found], [action-if-not-found])
+#
+AC_DEFUN([CIGMA_PATH_ZLIB],[
+    
+
+    dnl Check for zlib
+
+    if [[ $with_zlib = "yes" ]]; then
+        dnl In case user wrote --with-zlib=yes
+        with_zlib="/usr"
+    fi
+
+    if [[ $with_zlib="no" ]]; then
+
+        ZLIB_PREFIX="$with_zlib"
+
+        AC_CHECK_LIB(z,main,[zlibFound="OK"])
+
+        if [[ -n "$zlibFound" ]]; then
+            ZLIB_LIBS="-lz"
+            ZLIB_CFLAGS="-I$ZLIB_PREFIX/include -I$ZLIB_PREFIX"
+            ZLIB_LDFLAGS="-L$ZLIB_PREFIX/lib -L$ZLIB_PREFIX"
+        fi
+
+    else
+        dnl ZLIB not specified...fail?
+        /bin/false
+    fi
+
+    AC_SUBST(ZLIB_LIBS)
+    AC_SUBST(ZLIB_CFLAGS)
+    AC_SUBST(ZLIB_LDFLAGS)
+
+])
+
+# vim: syntax=config

Copied: cs/benchmark/cigma/trunk/build/old-configure.ac (from rev 9168, cs/benchmark/cigma/trunk/build/configure.ac)
===================================================================
--- cs/benchmark/cigma/trunk/build/old-configure.ac	                        (rev 0)
+++ cs/benchmark/cigma/trunk/build/old-configure.ac	2008-01-29 07:37:10 UTC (rev 9169)
@@ -0,0 +1,112 @@
+dnl Check that this is the cigma source tree
+AC_INIT([../src/h5io/h5io.h], [0.9.1], [cig-cs at geodynamics.org], [Cigma])
+AC_CONFIG_MACRO_DIR([m4])
+
+dnl Parse '--with' command-line options
+AC_ARG_WITH(hdf5-prefix,
+            AC_HELP_STRING([--with-hdf5-prefix=PFX],
+                           [prefix where the HDF5 library and include files are installed]),
+            [HDF5_PREFIX=$withval])
+AC_ARG_WITH(zlib-prefix,
+            AC_HELP_STRING([--with-zlib-prefix=PFX],
+                           [prefix where the ZLIB library and include files are installed]),
+            ZLIB_PREFIX=$withval)
+
+dnl Get the operating system name
+UNAME=`uname`
+
+dnl Check for default compilers
+AC_PROG_CC
+AC_PROG_CXX
+if test "x${CC}" = "x" -o "x${CXX}" = "x"; then
+    AC_MSG_ERROR([Could not find required compilers, aborting.])
+fi
+LINKER="${CXX}"
+
+dnl Use C++ for all compilation tests
+AC_LANG(C++)
+
+dnl Set default flags
+FLAGS="-Wall"
+OPTIM="-g -O2"
+
+dnl Check for various programs
+AC_PROG_CPP
+
+dnl How to build static libraries?
+case "$UNAME" in
+  Darwin*)
+    AR="libtool -o"
+    RANLIB=true
+    ;;
+  *)
+    AC_PROG_RANLIB
+    AC_PATH_PROG(AR, ar)
+    if test "x${AR}" = "x"; then
+        AC_MSG_ERROR([Could not find the library archiver, aborting.])
+    fi
+    AR="${AR} ruvs"
+    ;;
+esac
+
+dnl See if we need a .exe extension on executables
+AC_EXEEXT
+
+dnl Check for standard math library
+AC_CHECK_LIB(m,main)
+
+CIGMA_LIBS=""
+CIGMA_DIRS="h5io ann"
+
+dnl Check for zlib
+ZLIB=""
+if test "x${ZLIB_PREFIX}" != "x"; then
+  LDFLAGS="-L${ZLIB_PREFIX} -L${ZLIB_PREFIX}/lib ${LDFLAGS}"
+fi
+AC_CHECK_LIB(z,main,ZLIB="yes",ZLIB="no")
+
+dnl Check for HDF5 (needs ZLIB)
+if test "x${ZLIB}" = "xyes"; then
+  if test "x${HDF5_PREFIX}" != "x"; then
+    LDFLAGS="-L${HDF5_PREFIX}/lib ${LDFLAGS}"
+  fi
+  AC_CHECK_LIB(hdf5,main,HDF5="yes",HDF5="no")
+  if test "x${HDF5}" = "xyes"; then
+    if test "x${HDF5_PREFIX}" = "x"; then
+      CIGMA_LIBS="${CIGMA_LIBS} -lhdf5"
+    else
+      CIGMA_LIBS="${CIGMA_LIBS} -L${HDF5_PREFIX}/lib -lhdf5"
+      FLAGS="${FLAGS} -I${HDF5_PREFIX}/include"
+    fi
+  fi
+fi
+
+dnl Complete zlib link line (zlib must be linked after HDF5)
+if test "x${ZLIB}" = "xyes"; then
+  if test "x${ZLIB_PREFIX}" = "x"; then
+    CIGMA_LIBS="${CIGMA_LIBS} -lz"
+  else
+    CIGMA_LIBS="${CIGMA_LIBS} -L${ZLIB_PREFIX} -L${ZLIB_PREFIX}/lib -lz"
+    FLAGS="${FLAGS} -I${ZLIB_PREFIX} -I${ZLIB_PREFIX}/include"
+  fi
+fi
+
+dnl Write output
+AC_SUBST(UNAME)
+AC_SUBST(FLAGS)
+AC_SUBST(OPTIM)
+AC_SUBST(LINKER)
+AC_SUBST(CIGMA_DIRS)
+AC_SUBST(CIGMA_LIBS)
+AC_SUBST(AR)
+AC_OUTPUT(variables)
+
+dnl Print some information
+echo "********************************************************************"
+echo "Cigma is configured for"
+echo "- OS           : $UNAME"
+echo "- C compiler   : $CC"
+echo "- C++ compiler : $CXX"
+echo "- Linker       : $LINKER"
+echo "- Optimization : $OPTIM"
+echo "- Options      : $FLAGS"

Modified: cs/benchmark/cigma/trunk/build/variables.in
===================================================================
--- cs/benchmark/cigma/trunk/build/variables.in	2008-01-29 07:37:09 UTC (rev 9168)
+++ cs/benchmark/cigma/trunk/build/variables.in	2008-01-29 07:37:10 UTC (rev 9169)
@@ -22,21 +22,22 @@
 CIGMA_DIRS=@CIGMA_DIRS@
 CIGMA_LIBS=@CIGMA_LIBS@
 
-# Python (XXX need python auto-detection in python.m4)
-PYTHON_INCLUDES = -I/usr/include/python2.5 -I/usr/lib/python2.5/site-packages/numpy/core/include/numpy
-PYTHON_LIBS = -lpython2.5
-PYTHON_LDFLAGS = -L/usr/lib/python2.5/config
+# Python
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_LIBS     = @PYTHON_LIBS@
+PYTHON_LDFLAGS  = @PYTHON_LDFLAGS@
 
-# VTK (XXX use auto-detection from vtk.m4)
-VTK_INCLUDES = -I/usr/include/vtk-5.0
-VTK_LIBS = -lvtkCommon -lvtkIO -lvtkFiltering
-VTK_LDFLAGS = -L/usr/lib/vtk-5.0
+# VTK
+VTK_INCLUDES = @VTK_INCLUDES@
+VTK_LIBS     = @VTK_LIBS@
+VTK_LDFLAGS  = @VTK_LDFLAGS@
 
-# HDF5 (XXX need auto-detection in hdf.m4)
-HDF5_INCLUDES = -I/home/luis/opt/hdf5/1.6.5/include
-HDF5_LIBS = -lhdf5
-HDF5_LDFLAGS = -L/home/luis/opt/hdf5/1.6.5/lib
+# HDF5
+HDF5_INCLUDES = @HDF5_INCLUDES@
+HDF5_LIBS     = @HDF5_LIBS@
+HDF5_LDFLAGS  = @HDF5_LDFLAGS@
 
+
 # How you create a static library on this machine
 AR=@AR@
 RANLIB=@RANLIB@
@@ -48,6 +49,7 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 bindir=@bindir@
+datarootdir=@datarootdir@
 datadir=@datadir@
 includedir=@includedir@
 libdir=@libdir@



More information about the cig-commits mailing list