[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