diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-04-03 03:29:38 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-04-03 03:29:38 (GMT) |
commit | a780cdd178f849afbc8cbb24e416eef733cbc9f2 (patch) | |
tree | c9e0162ab42567a4872a5c37444be0e08d4c1914 /configure.in | |
parent | 2a77c19b2216f04a6f8c50995ca0bf09f69e63d0 (diff) | |
download | hdf5-a780cdd178f849afbc8cbb24e416eef733cbc9f2.zip hdf5-a780cdd178f849afbc8cbb24e416eef733cbc9f2.tar.gz hdf5-a780cdd178f849afbc8cbb24e416eef733cbc9f2.tar.bz2 |
[svn-r335] Changes since 19980330
----------------------
./MANIFEST
./src/Makefile.in
./test/Makefile.in
Added new files.
./config/linux
./src/H5HL.c
./src/H5HLprivate.h
./src/H5MF.c
./src/H5MFprivate.h
Added `-DH5HL_DEBUG -DH5MF_DEBUG' to the debug list.
./html/H5.format.html
Updated shared object message information.
./src/H5D.c
Datasets can now share data types.
./src/H5F.c
Updated a comment that referred to H5ACC_WRITE.
./src/H5HG.c
./src/H5HGprivate.h
Moved a few things around. Made debugging better so you can
now give a collection address to ./src/debug and it shows some
useful stuff.
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c [NEW]
./src/H5Ostab.c
Supports shared messages.
./src/H5T.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
The H5Tshare() function allows the user to give the library
hints about how a data type will be used.
./test/shtype.c
Tests the H5Tshare() function.
./test/gheap.c
Tests the global heap.
./configure.in
./config/BlankForm [NEW]
./config/alpha-dec
./config/freebsd2.2.1
./config/hpux10.20
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
Cleaned up lots of configuration stuff and made the site
configuration files lots easier and more uniform. To make a
new file grab the BlankForm and modify it.
By default, debugging is turned on for most packages. Within
a package one can use `#ifdef H5AC_DEBUG' to wrap debugging
code. Other options are:
--enable-debug
--enable-debug=yes
The default, most but not all packages.
--disable-debug
--enable-debug=no
--enable-debug=none
The symbol NDEBUG is defined and none of the package
debug symbols.
--enable-debug=all
Debugging is turned on for all packages. This might
produce lots of output.
--enable-debug=g,d
Debugging is turned on for H5G and H5D.
A compile mode is also now supported
--enable-production
--enable-production=yes
The library is compiled with optimizations turned on.
The compiler flags are augmented by adding PROD_CFLAGS
and PROD_CPPFLAGS which are defined in the site config
file.
--disable-production
--enable-production=no
The default. The library is compiled for development
by including DEBUG_CFLAGS and DEBUG_CPPFLAGS defined in
the site config file. This is usually just `-g'.
--enable-production=profile
--enable-production=pg
Builds a library for profiling by including the flags
from PROFILE_CFLAGS and PROFILE_CPPFLAGS defined in the
site config file. This is usullay just `-pg' but it
could include optimization flags as well depending on
the type of profile one wants.
In summary, configure by saying `./configure' and you'll get a
development version of the library. Configure by saying
`./configure --enable-production --disable-debug' and you'll
get a production version with no debugging code.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/configure.in b/configure.in index 3f046da..8476064 100644 --- a/configure.in +++ b/configure.in @@ -86,9 +86,43 @@ else AC_MSG_RESULT(no) fi +dnl ---------------------------------------------------------------------- +dnl Production flags? +dnl +AC_MSG_CHECKING(for production mode) +AC_ARG_ENABLE(production, + [--enable-production=yes|no Determines how to run the compiler.]) + +case "X-$enableval" in + X-yes) + AC_MSG_RESULT("production") + CFLAGS="$CFLAGS $PROD_CFLAGS" + CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS" + ;; + X-|X-no) + AC_MSG_RESULT("development") + CFLAGS="$CFLAGS $DEBUG_CFLAGS" + CPPFLAGS="$CPPFLAGS $DEBUG_CPPFLAGS" + ;; + X-pg|X-profile) + AC_MSG_RESULT("profile") + CFLAGS="$CFLAGS $PROFILE_CFLAGS" + CPPFLAGS="$CPPFLAGS $PROFILE_CPPFLAGS" + ;; + *) + AC_MSG_RESULT("user-defined") + ;; +esac dnl ---------------------------------------------------------------------- +dnl Turn on warning flags for gcc. +dnl +if test Xyes = "X$GCC"; then + CFLAGS="$CFLAGS -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs" +fi + +dnl ---------------------------------------------------------------------- dnl Check for libraries. (none required yet) dnl AC_CHECK_LIB(coug, main) dnl ...for ASCI/Red @@ -157,6 +191,39 @@ AC_TRY_COMPILE(,[int f(void){return __FUNCTION__;}], AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) +dnl ---------------------------------------------------------------------- +dnl Turn on debugging by setting compiler flags +dnl +AC_MSG_CHECKING(for debug flags); +AC_ARG_ENABLE(debug, + [--enable-debug=all Turn on debugging in all packages. One may also + specify a comma-separated list of package names + without the leading H5 or the word no. The default + is most packages.], + DEBUG_PKG=$enableval) + +all_packages="ac,b,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v" +if test X = "X$DEBUG_PKG" -o Xyes = "X$DEBUG_PKG"; then + DEBUG_PKG=ac,b,d,e,f,g,hg,hl,i,mf,mm,p,s,t,v + CPPFLAGS="$CPPFLAGS -UNDEBUG" + AC_MSG_RESULT(default ($DEBUG_PKG)) +elif test Xall = "X$DEBUG_PKG"; then + DEBUG_PKG=$all_packages + CPPFLAGS="$CPPFLAGS -UNDEBUG" + AC_MSG_RESULT(all ($DEBUG_PKG)) +elif test Xno = "X$DEBUG_PKG" -o Xnone = "X$DEBUG_PKG"; then + AC_MSG_RESULT(none) + DEBUG_PKG= + CPPFLAGS="$CPPFLAGS -DNDEBUG" +else + AC_MSG_RESULT($DEBUG_PKG) +fi + +if test "X" != "X$DEBUG_PKG"; then + for pkg in `echo $DEBUG_PKG | tr 'a-z,' 'A-Z '`; do + CPPFLAGS="$CPPFLAGS -DH5${pkg}_DEBUG" + done +fi dnl ---------------------------------------------------------------------- dnl Check for parallel support |