[cig-commits] r13624 - in cs/cigma/trunk: . config src

luis at geodynamics.org luis at geodynamics.org
Tue Dec 9 18:16:22 PST 2008


Author: luis
Date: 2008-12-09 18:16:22 -0800 (Tue, 09 Dec 2008)
New Revision: 13624

Modified:
   cs/cigma/trunk/Makefile.am
   cs/cigma/trunk/config/cigma_hdf5.m4
   cs/cigma/trunk/config/cigma_python.m4
   cs/cigma/trunk/config/cigma_vtk.m4
   cs/cigma/trunk/configure.ac
   cs/cigma/trunk/src/py_Function.h
Log:
Successfully built _cigma python module using libtool

Modified: cs/cigma/trunk/Makefile.am
===================================================================
--- cs/cigma/trunk/Makefile.am	2008-12-10 02:16:20 UTC (rev 13623)
+++ cs/cigma/trunk/Makefile.am	2008-12-10 02:16:22 UTC (rev 13624)
@@ -14,23 +14,58 @@
 # Distribute these directories
 #DIST_SUBDIRS = $(SUBDIRS)
 
-# Additional files to include in tarball
-EXTRA_DIST =
-
 # Main programs to build
 bin_PROGRAMS = cigma h5attr
 
 # Libraries
 lib_LTLIBRARIES =
 
-# Shared libraries (internal)
-noinst_LIBRARIES =
-noinst_LIBRARIES += libann.a
-noinst_LIBRARIES += libcigma.a
+# Internal libraries
+noinst_LIBRARIES = libann.a libcigma.a
 
-# Include directory for ANN
+# Which tests to compile on 'make check'
+check_PROGRAMS =
+
+# Which tests to run on 'make check'
+TESTS =
+
+# libann.a
 ANN_FLAGS = -I$(top_srcdir)/src/contrib/ann/include
+libann_a_SOURCES  = $(libann_a_sources)
+libann_a_CPPFLAGS = $(libann_a_cppflags)
 
+# libcigma.a
+libcigma_a_SOURCES  = $(libcigma_a_sources)
+libcigma_a_CPPFLAGS = $(libcigma_a_cppflags)
+
+# cigma
+cigma_SOURCES  = $(cigma_sources)
+cigma_CPPFLAGS = $(cigma_cppflags)
+cigma_LDFLAGS  = $(cigma_ldflags)
+cigma_LDADD    = $(cigma_ldadd)
+
+# h5attr
+if COND_HDF5
+h5attr_SOURCES  = $(h5attr_sources)
+h5attr_CPPFLAGS = $(h5attr_cppflags)
+h5attr_LDFLAGS  = $(h5attr_ldflags)
+h5attr_LDADD    = $(h5attr_ldadd)
+endif
+
+# cigma-test
+if COND_CPPUNIT
+cigma_test_SOURCES  = $(cigma_test_sources)
+cigma_test_CPPFLAGS = $(cigma_test_cppflags)
+cigma_test_LDFLAGS  = $(cigma_test_ldflags)
+cigma_test_LDADD    = $(cigma_test_ldadd)
+endif
+
+# Additional files to include in tarball
+EXTRA_DIST =
+
+
+###############################################################################
+# Trivial logger
 # Select logging method for cxxtl
 # XXX: determine these from a ./configure option
 #LOGGER_FLAGS = -DTLOG
@@ -42,9 +77,9 @@
 # libann.a library
 # {{{
 
-libann_a_CPPFLAGS = $(ANN_FLAGS)
+libann_a_cppflags = $(ANN_FLAGS)
 
-libann_a_SOURCES = \
+libann_a_sources = \
 	src/contrib/ann/include/ANN/ANN.h \
 	src/contrib/ann/include/ANN/ANNperf.h \
 	src/contrib/ann/include/ANN/ANNx.h \
@@ -78,15 +113,7 @@
 # libcigma.a library
 # {{{
 
-libcigma_a_CPPFLAGS =
-libcigma_a_CPPFLAGS += -Wno-deprecated
-libcigma_a_CPPFLAGS += $(LOGGER_FLAGS)
-libcigma_a_CPPFLAGS += $(BOOST_CPPFLAGS)
-libcigma_a_CPPFLAGS += $(ANN_FLAGS)
-libcigma_a_CPPFLAGS += $(HDF5_INCLUDES)
-libcigma_a_CPPFLAGS += $(VTK_INCLUDES)
-
-libcigma_a_SOURCES = \
+libcigma_a_sources = \
 	src/nullstream.hpp \
 	src/tri_logger.hpp \
 	src/tri_logger.cpp \
@@ -164,12 +191,6 @@
 	src/io_text_reader.cpp \
 	src/io_text_writer.h \
 	src/io_text_writer.cpp \
-	src/io_hdf5.h \
-	src/io_hdf5.cpp \
-	src/io_hdf5_reader.h \
-	src/io_hdf5_reader.cpp \
-	src/io_hdf5_writer.h \
-	src/io_hdf5_writer.cpp \
 	src/core_args.h \
 	src/core_args.cpp \
 	src/core_readers.h \
@@ -189,6 +210,34 @@
 	src/ProgressTimer.h \
 	src/ProgressTimer.cpp
 
+libcigma_a_cppflags =
+libcigma_a_cppflags += -Wno-deprecated
+libcigma_a_cppflags += $(LOGGER_FLAGS)
+libcigma_a_cppflags += $(BOOST_CPPFLAGS)
+libcigma_a_cppflags += $(ANN_FLAGS)
+
+#if COND_HDF5
+libcigma_a_cppflags += $(HDF5_INCLUDES)
+libcigma_a_sources  += \
+	src/io_hdf5.h \
+	src/io_hdf5.cpp \
+	src/io_hdf5_reader.h \
+	src/io_hdf5_reader.cpp \
+	src/io_hdf5_writer.h \
+	src/io_hdf5_writer.cpp
+#endif
+
+if COND_VTK
+libcigma_a_cppflags += $(VTK_INCLUDES)
+libcigma_a_sources  += \
+	src/io_vtk.h \
+	src/io_vtk.cpp \
+	src/io_vtk_reader.h \
+	src/io_vtk_reader.cpp \
+	src/io_vtk_writer.h \
+	src/io_vtk_writer.cpp
+endif
+
 # }}}
 
 
@@ -196,27 +245,7 @@
 # cigma executable
 # {{{
 
-cigma_CPPFLAGS =
-cigma_CPPFLAGS += -Wno-deprecated
-cigma_CPPFLAGS += $(LOGGER_FLAGS)
-cigma_CPPFLAGS += $(BOOST_CPPFLAGS)
-cigma_CPPFLAGS += $(ANN_FLAGS)
-
-cigma_LDFLAGS =
-cigma_LDFLAGS += $(BOOST_LDFLAGS)
-cigma_LDFLAGS += $(HDF5_LDFLAGS)
-cigma_LDFLAGS += $(VTK_LDFLAGS)
-
-cigma_LDADD =
-cigma_LDADD += libcigma.a
-cigma_LDADD += libann.a
-cigma_LDADD += $(BOOST_SYSTEM_LIB)
-cigma_LDADD += $(BOOST_FILESYSTEM_LIB)
-cigma_LDADD += $(BOOST_PROGRAM_OPTIONS_LIB)
-cigma_LDADD += $(HDF5_LIBS)
-cigma_LDADD += $(VTK_LIBS)
-
-cigma_SOURCES = \
+cigma_sources = \
 	src/cli_application.h \
 	src/cli_application.cpp \
 	src/cli_command.h \
@@ -235,8 +264,32 @@
 	src/cli_compare_cmd.cpp \
 	src/cigma.cpp
 
-#EXTRA_DIST +=
+cigma_cppflags =
+cigma_cppflags += -Wno-deprecated
+cigma_cppflags += $(LOGGER_FLAGS)
+cigma_cppflags += $(BOOST_CPPFLAGS)
+cigma_cppflags += $(ANN_FLAGS)
 
+cigma_ldflags =
+cigma_ldflags += $(BOOST_LDFLAGS)
+
+cigma_ldadd =
+cigma_ldadd += $(BOOST_SYSTEM_LIB)
+cigma_ldadd += $(BOOST_FILESYSTEM_LIB)
+cigma_ldadd += $(BOOST_PROGRAM_OPTIONS_LIB)
+cigma_ldadd += libcigma.a
+cigma_ldadd += libann.a
+
+#if COND_HDF5
+cigma_ldflags += $(HDF5_LDFLAGS)
+cigma_ldadd   += $(HDF5_LIBS)
+#endif
+
+if COND_VTK
+cigma_ldflags += $(VTK_LDFLAGS)
+cigma_ldadd   += $(VTK_LIBS)
+endif
+
 # }}} 
 
 
@@ -244,22 +297,22 @@
 # Utilities
 # {{{
 
-h5attr_CPPFLAGS =
-h5attr_CPPFLAGS += $(LOGGER_FLAGS)
-h5attr_CPPFLAGS += $(BOOST_CPPFLAGS)
-h5attr_CPPFLAGS += $(HDF5_INCLUDES)
+h5attr_cppflags =
+h5attr_cppflags += $(LOGGER_FLAGS)
+h5attr_cppflags += $(BOOST_CPPFLAGS)
+h5attr_cppflags += $(HDF5_INCLUDES)
 
-h5attr_LDADD =
-h5attr_LDADD += $(HDF5_LIBS)
-h5attr_LDADD += $(BOOST_SYSTEM_LIB)
-h5attr_LDADD += $(BOOST_FILESYSTEM_LIB)
-h5attr_LDADD += $(BOOST_PROGRAM_OPTIONS_LIB)
+h5attr_ldadd =
+h5attr_ldadd += $(HDF5_LIBS)
+h5attr_ldadd += $(BOOST_SYSTEM_LIB)
+h5attr_ldadd += $(BOOST_FILESYSTEM_LIB)
+h5attr_ldadd += $(BOOST_PROGRAM_OPTIONS_LIB)
 
-h5attr_LDFLAGS =
-h5attr_LDFLAGS += $(BOOST_LDFLAGS)
-h5attr_LDFLAGS += $(HDF5_LDFLAGS)
+h5attr_ldflags =
+h5attr_ldflags += $(BOOST_LDFLAGS)
+h5attr_ldflags += $(HDF5_LDFLAGS)
 
-h5attr_SOURCES = \
+h5attr_sources = \
 	src/tri_logger.hpp \
 	src/tri_logger.cpp \
 	src/h5attr.cpp
@@ -269,38 +322,10 @@
 
 ###############################################################################
 # Python module
+# {{{
 
-##lib_LTLIBRARIES += libcigma.la
-##libpycigma_la_SOURCES = foo.cpp
-##libpycigma_la_CPPFLAGS = $(libcigma_a_CPPFLAGS) $(PYTHON_INCLUDES)
-
-# XXX: uncomment
-#pyexec_PROGRAMS = _cigma.so
-#_cigma_so_CXXFLAGS = _cigma_so_cxxflags
-#_cigma_so_LDADD    = _cigma_so_ldadd
-#_cigma_so_SOURCES  = _cigma_so_sources
-
-# _cigma.so extension {{{
-
-clean-local:
-	rm -rf pybuild
-
-_cigma.so: $(_cigma_so_SOURCES) $(_cigma_so_DEPENDENCIES)
-	BUILD_DIR=`cd $(top_builddir); pwd`; \
-	(cd $(srcdir); \
-	CFLAGS="$(CPPFLAGS) -I$(top_srcdir)/src $(libcigma_a_CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)" \
-	LDFLAGS="$(LDFLAGS) -L$$BUILD_DIR/.libs" \
-	ARCHFLAGS="$(ARCHFLAGS)" PYLIBS="$(PYLIBS)" \
-	$(PYTHON) src/py_cigma_setup.py build --build-lib=$$BUILD_DIR/ --build-temp=$$BUILD_DIR/pybuild -f)
-
-_cigma_so_cxxflags =
-_cigma_so_cxxflags += -I$(top_srcdir)/src
-
-_cigma_so_ldadd =
-_cigma_so_ldadd += libcigma.a
-_cigma_so_ldadd += libann.a
-
-_cigma_so_sources = \
+# module source {{{
+cigma_mod_sources = \
 	src/numpy_util.h \
 	src/numpy_util.cpp \
 	src/py_Common.h \
@@ -340,13 +365,95 @@
 	src/py_Misc.cpp \
 	src/py_Hello.cpp \
 	src/py_cigma_module.cpp
+# }}}
 
-#_cigma.so: $(_cigma_so_OBJS) 
-#	g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -L/home/luis/cigma/.libs -I./src -Wno-deprecated -DETLOG -I./src/contrib/ann/include -I/usr/include/python2.5 -g -O2 $^ libcigma.a libann.a -lboost_filesystem -lboost_python -o $@
+if COND_USE_DISTUTILS
+#
+# Approximately, this is how distutils will compile the source files:
+#
+# gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2
+# 	  -Wall -Wstrict-prototypes -I./src -Wno-deprecated -DETLOG
+#     -I./src/contrib/ann/include -I/usr/include/python2.5
+#     -g -O2 -fPIC -DPYTHON_MODULE=1 -I/usr/include/python2.5
+#     -c py_Foo.cpp -o py_Foo.o
+#
+# g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
+# 	  -L/home/luis/cigma/.libs -I./src -Wno-deprecated -DETLOG
+# 	  -I./src/contrib/ann/include -I/usr/include/python2.5
+# 	  -g -O2 py_*.o libcigma.a libann.a -lboost_filesystem -lboost_python
+# 	  -o _cigma.so
+#
 
-#py_%.o: src/py_%.cpp
-#	gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I./src -Wno-deprecated -DETLOG -I./src/contrib/ann/include -I/usr/include/python2.5 -g -O2 -fPIC -DPYTHON_MODULE=1 -I/usr/include/python2.5 -c $< -o ./$@
+if COND_BOOST_PYTHON
+pyexec_PROGRAMS = _cigma.so
+_cigma_so_SOURCES  = $(cigma_mod_sources)
+_cigma_so_CPPFLAGS = $(cigma_mod_cppflags)
+_cigma_so_LDADD    = $(cigma_mod_libs)
+endif
 
+_cigma.so: $(cigma_mod_sources) $(cigma_mod_dependencies)
+	BUILD_DIR=`cd $(top_builddir); pwd`; \
+	(cd $(srcdir); \
+	CFLAGS="-I$(top_srcdir) $(CPPFLAGS) $(libcigma_a_cppflags) $(AM_CXXFLAGS) $(CXXFLAGS)" \
+	LDFLAGS="$(LDFLAGS) -L$$BUILD_DIR/.libs" \
+	ARCHFLAGS="$(ARCHFLAGS)" PYLIBS="$(PYLIBS)" \
+	$(PYTHON) src/py_cigma_setup.py build --build-lib=$$BUILD_DIR/ --build-temp=$$BUILD_DIR/pybuild -f)
+
+clean-local:
+	rm -rf pybuild
+
+else
+
+#
+# Use libtool instead of distutils
+#
+if COND_BOOST_PYTHON
+pyexec_LTLIBRARIES = _cigma.la
+_cigma_la_DEPENDENCIES = libcigma.a libann.a
+_cigma_la_SOURCES      = $(cigma_mod_sources)
+_cigma_la_CPPFLAGS     = $(cigma_mod_cppflags)
+_cigma_la_LDFLAGS      = $(cigma_mod_ldflags)
+_cigma_la_LIBADD       = $(cigma_mod_libs)
+endif
+
+endif
+
+
+cigma_mod_cppflags =
+cigma_mod_cppflags += -Wno-deprecated
+cigma_mod_cppflags += $(LOGGER_FLAGS)
+cigma_mod_cppflags += -I$(top_srcdir)/src
+cigma_mod_cppflags += $(ANN_FLAGS)
+cigma_mod_cppflags += $(PYTHON_INCLUDES)
+cigma_mod_cppflags += $(NUMPY_INCLUDES)
+cigma_mod_cppflags += $(BOOST_CPPFLAGS)
+
+cigma_mod_ldflags =
+cigma_mod_ldflags += -avoid-version -module -shared
+cigma_mod_ldflags += $(BOOST_LDFLAGS)
+cigma_mod_ldflags += $(PYTHON_LDFLAGS)
+
+cigma_mod_libs =
+cigma_mod_libs += libcigma.a
+cigma_mod_libs += libann.a
+cigma_mod_libs += $(BOOST_SYSTEM_LIB)
+cigma_mod_libs += $(BOOST_FILESYSTEM_LIB)
+cigma_mod_libs += $(BOOST_PROGRAM_OPTIONS_LIB)
+cigma_mod_libs += $(BOOST_PYTHON_LIB)
+
+#if COND_HDF5
+cigma_mod_cppflags += $(HDF5_INCLUDES)
+cigma_mod_ldflags  += $(HDF5_LDFLAGS)
+cigma_mod_libs     += $(HDF5_LIBS)
+#endif
+
+if COND_VTK
+cigma_mod_cppflags += $(VTK_INCLUDES)
+cigma_mod_ldflags  += $(VTK_LDFLAGS)
+cigma_mod_libs     += $(VTK_LIBS)
+endif
+
+# Additional files
 EXTRA_DIST += src/py_cigma_setup.py
 
 # }}}
@@ -356,36 +463,26 @@
 # Unit tests
 # {{{
 
-# Which tests to compile on 'make check'
-check_PROGRAMS =
-
-# Which tests to run on 'make check'
-TESTS =
-
 if COND_CPPUNIT
-  cigma_test_CXXFLAGS = $(cigma_test_cxxflags)
-  cigma_test_LDFLAGS  = $(cigma_test_ldflags)
-  cigma_test_LDADD    = $(cigma_test_ldadd)
-  cigma_test_SOURCES  = $(cigma_test_sources)
-  check_PROGRAMS += cigma-test
-  TESTS += cigma-test
+check_PROGRAMS += cigma-test
+TESTS          += cigma-test
 endif
 
 if ENABLE_TESTING
-  TESTS += $(top_srcdir)/tests/pytests/runner.py
-  TESTS += $(top_srcdir)/tests/system/runner.py
+TESTS += $(top_srcdir)/tests/pytests/runner.py
+TESTS += $(top_srcdir)/tests/system/runner.py
 endif
 
 # Compiler/Linker Options
 
-cigma_test_cxxflags =
-cigma_test_cxxflags += $(CPPUNIT_CFLAGS)
-cigma_test_cxxflags += $(BOOST_CPPFLAGS)
-cigma_test_cxxflags += $(ANN_FLAGS)
-cigma_test_cxxflags += $(HDF5_INCLUDES)
-cigma_test_cxxflags += $(VTK_INCLUDES)
-cigma_test_cxxflags += -I$(top_srcdir)/src
-cigma_test_cxxflags += -I$(top_srcdir)/tests
+cigma_test_cppflags =
+cigma_test_cppflags += $(CPPUNIT_CFLAGS)
+cigma_test_cppflags += $(BOOST_CPPFLAGS)
+cigma_test_cppflags += $(ANN_FLAGS)
+cigma_test_cppflags += $(HDF5_INCLUDES)
+cigma_test_cppflags += $(VTK_INCLUDES)
+cigma_test_cppflags += -I$(top_srcdir)/src
+cigma_test_cppflags += -I$(top_srcdir)/tests
 
 cigma_test_ldflags =
 cigma_test_ldflags += $(BOOST_LDFLAGS)
@@ -403,7 +500,7 @@
 cigma_test_ldadd += $(BOOST_FILESYSTEM_LIB)
 
 
-# source files
+# Source files
 
 cigma_test_sources = \
 	tests/simple/SimpleTest.h \

Modified: cs/cigma/trunk/config/cigma_hdf5.m4
===================================================================
--- cs/cigma/trunk/config/cigma_hdf5.m4	2008-12-10 02:16:20 UTC (rev 13623)
+++ cs/cigma/trunk/config/cigma_hdf5.m4	2008-12-10 02:16:22 UTC (rev 13624)
@@ -24,13 +24,11 @@
     
     # AC_REQUIRE([CIGMA_PATH_ZLIB])
 
-
     if [[ $with_hdf5 = "yes" ]]; then
         dnl In case user wrote --with-hdf5=yes
         with_hdf5="/usr"
     fi
 
-
     if [[ $with_hdf5 != "no" ]]; then
 
         HDF5_PREFIX="$with_hdf5"
@@ -54,10 +52,6 @@
             HDF5_LIBS="-lhdf5 -lhdf5_cpp -lz"
             HDF5_LDFLAGS="-L$HDF5_PREFIX/lib $HDF5_LIBS"
 
-            AC_SUBST(HDF5_INCLUDES)
-            AC_SUBST(HDF5_LIBS)
-            AC_SUBST(HDF5_LDFLAGS)
-
             OLD_CXXFLAGS="$CXXFLAGS"
             OLD_LIBS="$LIBS"
 
@@ -85,6 +79,10 @@
 
     fi
 
+    dnl Substitute the values of our HDF5 flags
+    AC_SUBST(HDF5_INCLUDES)
+    AC_SUBST(HDF5_LIBS)
+    AC_SUBST(HDF5_LDFLAGS)
 ])
 
 

Modified: cs/cigma/trunk/config/cigma_python.m4
===================================================================
--- cs/cigma/trunk/config/cigma_python.m4	2008-12-10 02:16:20 UTC (rev 13623)
+++ cs/cigma/trunk/config/cigma_python.m4	2008-12-10 02:16:22 UTC (rev 13624)
@@ -110,7 +110,7 @@
     else
         AC_MSG_ERROR(["failed
 
-Run '$PYTHON sysconfig.py' to see what wrong.
+Run '$PYTHON sysconfig.py' to see what went wrong.
 "])
     fi
 
@@ -160,12 +160,6 @@
 
     AC_REQUIRE([AM_PATH_PYTHON])
 
-    # check for the python binary defined in $PYTHON
-    # fall back to "python"
-    if test -z $PYTHON; then
-        PYTHON="python"
-    fi
-
     AC_MSG_CHECKING(for python module numpy)
 
     VERSION=`$PYTHON -c "import numpy; print numpy.__version__" 2>/dev/null`
@@ -196,10 +190,10 @@
 
     NUMPY_INCDIR=`$PYTHON -c "import numpy; print numpy.get_include()" 2>/dev/null`
     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])
+            NUMPY_INCLUDES="-I${NUMPY_INCDIR}"
         else
             AC_MSG_RESULT([no])
         fi
@@ -207,7 +201,7 @@
         AC_MSG_RESULT([no])
     fi
 
-    NUMPY_INCLUDES="-I${NUMPY_INCDIR}"
+    AC_SUBST([NUMPY_INCDIR])
     AC_SUBST([NUMPY_INCLUDES])
 ])
 

Modified: cs/cigma/trunk/config/cigma_vtk.m4
===================================================================
--- cs/cigma/trunk/config/cigma_vtk.m4	2008-12-10 02:16:20 UTC (rev 13623)
+++ cs/cigma/trunk/config/cigma_vtk.m4	2008-12-10 02:16:22 UTC (rev 13624)
@@ -100,11 +100,6 @@
             VTK_LIBS="-lvtkIO -lvtkDICOMParser -lvtkFiltering -lvtkCommon $VTK_SUPPORT_LIBS -lvtksys"
             LIBS="$VTK_LIBS $LIBS"
 
-            dnl Substitute the values of our VTK flags
-            AC_SUBST(VTK_INCLUDES)
-            AC_SUBST(VTK_LDFLAGS)
-            AC_SUBST(VTK_LIBS)
-
             dnl now, check that we don't exceed the specified version
             if [[ -n "$1" ]]; then
                 
@@ -174,6 +169,11 @@
 
         fi          # if [[ -z "$vtkFound" ]];
     fi          # $with_vtk != "no"
+
+    dnl Substitute the values of our VTK flags
+    AC_SUBST(VTK_INCLUDES)
+    AC_SUBST(VTK_LDFLAGS)
+    AC_SUBST(VTK_LIBS)
 ])
 
 

Modified: cs/cigma/trunk/configure.ac
===================================================================
--- cs/cigma/trunk/configure.ac	2008-12-10 02:16:20 UTC (rev 13623)
+++ cs/cigma/trunk/configure.ac	2008-12-10 02:16:22 UTC (rev 13624)
@@ -33,18 +33,24 @@
 AC_ARG_VAR(PYTHONPATH, [Python module search path])
 AM_PATH_PYTHON(2.4, :)
 CIGMA_PYTHON_SYSCONFIG
-if [ test "$PYTHON" != : ]; then
-    AM_CONDITIONAL(HAVE_PYTHON, true)
-else
-    AM_CONDITIONAL(HAVE_PYTHON, false)
+with_python="no"
+if test "$PYTHON" != ":"; then
+    with_python="yes"
 fi
+AM_CONDITIONAL([COND_PYTHON], [ test "$PYTHON" != : ])
 
+
 dnl Check for numpy
-CIGMA_CHECK_NUMPY
-if [ test "$PYTHON_NUMPY" != "1" ]; then
-    AC_MSG_ERROR([[Could not import the numpy python module. Please ensure it is installed correctly and is available in your PYTHONPATH]])
+if test "x${with_python}" = xyes; then
+    CIGMA_CHECK_NUMPY
+    if [ test "$PYTHON_NUMPY" != "1" ]; then
+        AC_MSG_ERROR([[Could not import the numpy python module. Please ensure it is installed correctly and is available in your PYTHONPATH]])
+    fi
+    CIGMA_PATH_NUMPY
+    if [ test -z "$PYTHON_INCDIR" ]; then
+        AC_MSG_ERROR([Could not find numpy include directory. Required for build.])
+    fi
 fi
-CIGMA_PATH_NUMPY
 
 
 dnl Configure Boost
@@ -54,33 +60,53 @@
 AX_BOOST_FILESYSTEM
 AX_BOOST_PROGRAM_OPTIONS
 
+
 dnl Configure Boost.Python
-CIGMA_BOOST_PYTHON
-if test -z "$BOOST_PYTHON_LIB"; then
-    AC_MSG_ERROR([[boost::python could not be found. Please ensure that LDFLAGS is configured properly, or specify --with-boost]])
+if test "x${with_python}" = xyes; then
+    CIGMA_BOOST_PYTHON
+    if test -z "$BOOST_PYTHON_LIB"; then
+        AC_MSG_ERROR([[boost::python could not be found. Please ensure that LDFLAGS is configured properly, or specify --with-boost]])
+    fi
 fi
+AM_CONDITIONAL([COND_BOOST_PYTHON], [test -n "$BOOST_PYTHON_LIB"])
 
 
+dnl Check whether to use distutils (XXX: change default to yes)
+AC_ARG_WITH([distutils],
+    [AC_HELP_STRING([--with-distutils], [Use distutils for compiling the cigma python module.@<:@default=no@:>@])],
+    [with_distutils="$withval"],
+    [with_distutils="no"])
+AM_CONDITIONAL([COND_USE_DISTUTILS], [test "x${with_distutils}" = xyes])
+
+
 dnl Configure HDF5 library
 CIGMA_OPTIONS_HDF5
 CIGMA_PATH_HDF5
-AM_CONDITIONAL(HAVE_HDF5, [test x${with_hdf5} = xyes])
+if test "${with_hdf5}" != "no"; then
+    with_hdf5=yes
+fi
+AM_CONDITIONAL(COND_HDF5, [test "x${with_hdf5}" = xyes])
 
 
 dnl Configure VTK library
 CIGMA_OPTIONS_VTK
 CIGMA_PATH_VTK
-AM_CONDITIONAL(HAVE_VTK, [test x${with_vtk} = xyes])
+if test "${with_vtk}" != "no"; then
+    with_hdf5=yes
+fi
+AM_CONDITIONAL(COND_VTK, [test "x${with_vtk}" = xyes])
 
 
-dnl Configure CppUnit
+dnl Determine whether to enable unit testing
 AC_ARG_ENABLE([testing],
     [AC_HELP_STRING([--enable-testing], [enable unit testing with cppunit (requires cppunit) @<:@default=yes@:>@])],
     [enable_testing="$enableval"],
     [enable_testing="yes"]
 )
-AM_CONDITIONAL([ENABLE_TESTING], [test "$enable_testing" = yes]) # XXX: not really needed
+AM_CONDITIONAL([ENABLE_TESTING], [test "$enable_testing" = yes]) # XXX: not really needed?
 
+
+dnl Configure CppUnit
 with_cppunit=no
 if test "$enable_testing" = "yes"; then
     AM_PATH_CPPUNIT([1.12.0],
@@ -103,16 +129,15 @@
 
 AC_OUTPUT
 
+
 dnl Print out some configuration information
 echo "********************************************************************"
 echo "Cigma is configured with"
 echo "- OS : $UNAME"
 echo "- C compiler   : $CC"
 echo "- C++ compiler : $CXX"
-#echo "- C flags      : $CFLAGS"
-#echo "- C++ flags    : $CXXFLAGS"
 
-# Boost flags (from ax_boost_*.m4)
+# Boost flags (from ax_boost_*.m4 and cigma_boost.m4)
 echo "-"
 echo "- BOOST_CPPFLAGS            : $BOOST_CPPFLAGS"
 echo "- BOOST_LDFLAGS             : $BOOST_LDFLAGS"

Modified: cs/cigma/trunk/src/py_Function.h
===================================================================
--- cs/cigma/trunk/src/py_Function.h	2008-12-10 02:16:20 UTC (rev 13623)
+++ cs/cigma/trunk/src/py_Function.h	2008-12-10 02:16:22 UTC (rev 13624)
@@ -11,6 +11,11 @@
     int n_rank() const;
     bool eval(double *point, double *value);
 
+    cigma::Function::type getType() const
+    {
+        return GENERAL_FN;
+    }
+
     template <int dim, int rank>
     bool eval(cigma::Point<dim>& x, cigma::Point<rank>& y)
     {



More information about the CIG-COMMITS mailing list