diff options
Diffstat (limited to 'c++/configure.in')
-rw-r--r-- | c++/configure.in | 361 |
1 files changed, 190 insertions, 171 deletions
diff --git a/c++/configure.in b/c++/configure.in index 78c4e8d..ce50178 100644 --- a/c++/configure.in +++ b/c++/configure.in @@ -10,8 +10,18 @@ dnl ---------------------------------------------------------------------- dnl Initialize configure. dnl AC_REVISION($Id$) -AC_INIT(src/H5Library.cpp) -AC_CONFIG_AUX_DIR(../bin) + +dnl AC_INIT takes the name of the package, the version number, and an +dnl email address to report bugs. AC_CONFIG_SRCDIR takes a unique file +dnl as its argument. +dnl +dnl NOTE: Don't forget to change the version number here when we do a +dnl release!!! +dnl +AC_INIT([HDF5 C++], [1.4.4], [hdfhelp@ncsa.uiuc.edu]) +AC_CONFIG_SRCDIR([src/H5Library.cpp]) +AC_CONFIG_AUX_DIR([../bin]) + AC_CANONICAL_HOST AC_SUBST(CPPFLAGS) @@ -65,27 +75,27 @@ dnl dnl If the `OS' ends with a version number then remove it. For instance, dnl `freebsd3.1' would become `freebsd' case "$host_os" in - aix4.*) - host_os_novers=aix4.x - ;; - freebsd*) - host_os_novers=freebsd - ;; - irix5.*) - host_os_novers=irix5.x - ;; - irix6.*) - host_os_novers=irix6.x - ;; - osf4.*) - host_os_novers=osf4.x - ;; - solaris2.*) - host_os_novers=solaris2.x - ;; - *) - host_os_novers=$host_os - ;; + aix4.*) + host_os_novers=aix4.x + ;; + freebsd*) + host_os_novers=freebsd + ;; + irix5.*) + host_os_novers=irix5.x + ;; + irix6.*) + host_os_novers=irix6.x + ;; + osf4.*) + host_os_novers=osf4.x + ;; + solaris2.*) + host_os_novers=solaris2.x + ;; + *) + host_os_novers=$host_os + ;; esac dnl Different compilers may need default libraries. They are specified in @@ -96,27 +106,27 @@ AC_SUBST(DEFAULT_LIBS) DEFAULT_LIBS="" host_config="none" for f in $host_cpu-$host_vendor-$host_os \ - $host_cpu-$host_vendor-$host_os_novers \ - $host_vendor-$host_os \ + $host_cpu-$host_vendor-$host_os_novers \ + $host_vendor-$host_os \ $host_vendor-$host_os_novers \ - $host_cpu-$host_os \ + $host_cpu-$host_os \ $host_cpu-$host_os_novers \ $host_cpu-$host_vendor \ - $host_os \ - $host_os_novers \ - $host_vendor \ - $host_cpu ; do - AC_MSG_CHECKING(for config $f) - if test -f $srcdir/config/$f; then - host_config=$srcdir/config/$f - AC_MSG_RESULT(found) - break - fi - AC_MSG_RESULT(no) + $host_os \ + $host_os_novers \ + $host_vendor \ + $host_cpu ; do + AC_MSG_CHECKING(for config $f) + if test -f $srcdir/config/$f; then + host_config=$srcdir/config/$f + AC_MSG_RESULT(found) + break + fi + AC_MSG_RESULT(no) done if test "X$host_config" != "Xnone"; then - CXX_BASENAME="`echo $CXX |cut -f1 -d' ' |xargs basename 2>/dev/null`" - . $host_config + CXX_BASENAME="`echo $CXX |cut -f1 -d' ' |xargs basename 2>/dev/null`" + . $host_config fi dnl ---------------------------------------------------------------------- @@ -153,29 +163,29 @@ dnl with an action should override the `all' default target. So we have dnl to decide what the proper syntax is. dnl if test -z "$SEARCH"; then - AC_MSG_CHECKING(how make searches directories) - while true; do #for break - dnl The most common method is `VPATH=DIR1 DIR2 ...' - cat >maketest <<EOF + AC_MSG_CHECKING(how make searches directories) + while true; do #for break + dnl The most common method is `VPATH=DIR1 DIR2 ...' + cat >maketest <<EOF VPATH=$srcdir/config $srcdir/src $srcdir/bin .c.o: - cp $< H5.o + cp $< H5.o foo: H5.o /bin/rm -f H5.o @echo works EOF - - if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - SEARCH_RULE='VPATH=' - SEARCH_SEP=' ' - AC_MSG_RESULT([VPATH=DIR1 DIR2 ...]) - break - fi - - dnl The second most common method is like above except with the - dnl directories separated by colons. - cat >maketest <<EOF + + if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + SEARCH_RULE='VPATH=' + SEARCH_SEP=' ' + AC_MSG_RESULT([VPATH=DIR1 DIR2 ...]) + break + fi + + dnl The second most common method is like above except with the + dnl directories separated by colons. + cat >maketest <<EOF VPATH=$srcdir/config:$srcdir/src:$srcdir/bin .c.o: cp $< H5.o @@ -185,15 +195,15 @@ foo: H5.o @echo works EOF - if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - SEARCH_RULE='VPATH=' - SEARCH_SEP=':' - AC_MSG_RESULT([VPATH=DIR1:DIR2:...]) - break - fi - - dnl pmake uses the construct `.PATH: DIR1 DIR2 - cat >maketest <<EOF + if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + SEARCH_RULE='VPATH=' + SEARCH_SEP=':' + AC_MSG_RESULT([VPATH=DIR1:DIR2:...]) + break + fi + + dnl pmake uses the construct `.PATH: DIR1 DIR2 + cat >maketest <<EOF .PATH: $srcdir/config $srcdir/src $srcdir/bin .c.o: cp $< H5.o @@ -202,23 +212,23 @@ foo: H5.o /bin/rm -f H5.o @echo works EOF - if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - SEARCH_RULE='.PATH: ' - SEARCH_SEP=' ' - AC_MSG_RESULT([.PATH: DIR1 DIR2 ...]) - break - fi - - dnl No way for make to search directories - SEARCH_RULE='## SEARCH DISABLED: ' + if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + SEARCH_RULE='.PATH: ' SEARCH_SEP=' ' - AC_MSG_RESULT([it doesn't]) - if test ! -f configure; then - AC_MSG_ERROR(${MAKE-make} requires the build and source directories to be the same) - fi + AC_MSG_RESULT([.PATH: DIR1 DIR2 ...]) break - done - rm maketest + fi + + dnl No way for make to search directories + SEARCH_RULE='## SEARCH DISABLED: ' + SEARCH_SEP=' ' + AC_MSG_RESULT([it doesn't]) + if test ! -f configure; then + AC_MSG_ERROR(${MAKE-make} requires the build and source directories to be the same) + fi + break + done + rm maketest fi dnl ---------------------------------------------------------------------- @@ -230,28 +240,28 @@ AC_ARG_ENABLE(production, [ --enable-production Determines how to run the compiler.]) case "X-$enable_production" in - X-yes) - AC_MSG_RESULT("production") - CONFIG_MODE=production - CXXFLAGS="$CXXFLAGS $PROD_CXXFLAGS" - CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS" - ;; - X-|X-no) - AC_MSG_RESULT("development") - CONFIG_MODE=development - CXXFLAGS="$CXXFLAGS $DEBUG_CXXFLAGS" - CPPFLAGS="$CPPFLAGS $DEBUG_CPPFLAGS" - ;; - X-pg|X-profile) - AC_MSG_RESULT("profile") - CONFIG_MODE=profile - CXXFLAGS="$CXXFLAGS $PROFILE_CXXFLAGS" - CPPFLAGS="$CPPFLAGS $PROFILE_CPPFLAGS" - ;; - *) - AC_MSG_RESULT("user-defined") - CONFIG_MODE="$X-enableval" - ;; + X-yes) + AC_MSG_RESULT("production") + CONFIG_MODE=production + CXXFLAGS="$CXXFLAGS $PROD_CXXFLAGS" + CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS" + ;; + X-|X-no) + AC_MSG_RESULT("development") + CONFIG_MODE=development + CXXFLAGS="$CXXFLAGS $DEBUG_CXXFLAGS" + CPPFLAGS="$CPPFLAGS $DEBUG_CPPFLAGS" + ;; + X-pg|X-profile) + AC_MSG_RESULT("profile") + CONFIG_MODE=profile + CXXFLAGS="$CXXFLAGS $PROFILE_CXXFLAGS" + CPPFLAGS="$CPPFLAGS $PROFILE_CPPFLAGS" + ;; + *) + AC_MSG_RESULT("user-defined") + CONFIG_MODE="$X-enableval" + ;; esac dnl ---------------------------------------------------------------------- @@ -259,15 +269,15 @@ dnl If we should build only static executables dnl AC_MSG_CHECKING(if should build only statically linked executables) AC_ARG_ENABLE(static_exec, - [ --enable-static-exec Build only statically linked executables [default=no]], - STATIC_EXEC=$enableval) + [ --enable-static-exec Build only statically linked executables [default=no]], + STATIC_EXEC=$enableval) if test "X$STATIC_EXEC" = "Xyes"; then - echo "yes" - LT_STATIC_EXEC="-all-static" + echo "yes" + LT_STATIC_EXEC="-all-static" else - echo "no" - LT_STATIC_EXEC="" + echo "no" + LT_STATIC_EXEC="" fi AC_SUBST(LT_STATIC_EXEC) @@ -282,10 +292,10 @@ AC_TRY_RUN([ int main(void) { return 0; } ], [ - echo no + echo no ], [ - echo yes - CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" + echo yes + CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" ]) AC_MSG_CHECKING(if $CXX can handle namespaces) @@ -337,10 +347,10 @@ int main(void) { return 0; } ], [ - echo yes + echo yes ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" + echo no + CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" ]) dnl ---------------------------------------------------------------------- @@ -353,52 +363,52 @@ AC_CACHE_SAVE AC_MSG_CHECKING(make) AC_SUBST_FILE(DEPEND) if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\ - sed -n 1p|cut -c1-8`" = "GNU Make"; then - AC_MSG_RESULT(GNU make) - GMAKE=yes - if test "X$GCC" = "Xyes"; then - DEPEND=config/depend1 - else - DEPEND=config/depend2 - fi + sed -n 1p|cut -c1-8`" = "GNU Make"; then + AC_MSG_RESULT(GNU make) + GMAKE=yes + if test "X$GCC" = "Xyes"; then + DEPEND=config/depend1 + else + DEPEND=config/depend2 + fi else - AC_MSG_RESULT(generic) + AC_MSG_RESULT(generic) fi dnl How do we include another file into a Makefile? if test -z "$DEPEND"; then - AC_MSG_CHECKING(how to include a makefile) + AC_MSG_CHECKING(how to include a makefile) - dnl The include file contains the target for `foo' - cat >makeinc <<EOF + dnl The include file contains the target for `foo' + cat >makeinc <<EOF foo: @: EOF - while true; do dnl for break - dnl pmake. We have to be careful because some pmake think that the - dnl contents of the MAKE environment variable is a target. - echo '.include <makeinc>' >maketest - if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - AC_MSG_RESULT([.include <FILE>]) - DEPEND=config/depend3 - break - fi - - dnl Most make's use `include FILE' - echo 'include makeinc' >maketest - if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - AC_MSG_RESULT(include FILE) - DEPEND=config/depend4 - break; - fi - - dnl default - AC_MSG_RESULT(you have a deficient make command) - DEPEND=config/dependN + while true; do dnl for break + dnl pmake. We have to be careful because some pmake think that the + dnl contents of the MAKE environment variable is a target. + echo '.include <makeinc>' >maketest + if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + AC_MSG_RESULT([.include <FILE>]) + DEPEND=config/depend3 break - done - rm makeinc maketest + fi + + dnl Most make's use `include FILE' + echo 'include makeinc' >maketest + if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + AC_MSG_RESULT(include FILE) + DEPEND=config/depend4 + break; + fi + + dnl default + AC_MSG_RESULT(you have a deficient make command) + DEPEND=config/dependN + break + done + rm makeinc maketest fi dnl Some cleanup stuff @@ -411,21 +421,21 @@ dnl libraries. dnl DYNAMIC_DIRS="" if test -n "$LDFLAGS"; then - for d in $LDFLAGS ; do - case "$d" in - -L*) - d=`echo $d | sed -e 's/-L//g'` - case "$d" in - .*) - dnl If the path isn't absolute, make it so by prepending the - dnl ROOT directory to it. - d=${ROOT}/$d - ;; - esac - DYNAMIC_DIRS="-R${d} $DYNAMIC_DIRS" - ;; - esac - done + for d in $LDFLAGS ; do + case "$d" in + -L*) + d=`echo $d | sed -e 's/-L//g'` + case "$d" in + .*) + dnl If the path isn't absolute, make it so by prepending the + dnl ROOT directory to it. + d=${ROOT}/$d + ;; + esac + DYNAMIC_DIRS="-R${d} $DYNAMIC_DIRS" + ;; + esac + done fi AC_SUBST(DYNAMIC_DIRS) @@ -439,17 +449,17 @@ AC_SUBST_FILE(CONCLUDE) CONCLUDE=config/conclude dnl The directory search list if test -z "$SEARCH"; then - AC_SUBST(SEARCH) SEARCH='$(srcdir) $(top_builddir)/src $(top_srcdir)/src' - cmd='echo $SEARCH |sed "s/ /'$SEARCH_SEP'/g"' - SEARCH="$SEARCH_RULE`eval $cmd`" + AC_SUBST(SEARCH) SEARCH='$(srcdir) $(top_builddir)/src $(top_srcdir)/src' + cmd='echo $SEARCH |sed "s/ /'$SEARCH_SEP'/g"' + SEARCH="$SEARCH_RULE`eval $cmd`" fi dnl We don't need to say when we're entering directories if we're using dnl GNU make becuase make does it for us. if test "X$GMAKE" = "Xyes"; then - AC_SUBST(SETX) SETX=":" + AC_SUBST(SETX) SETX=":" else - AC_SUBST(SETX) SETX="set -x" + AC_SUBST(SETX) SETX="set -x" fi dnl Some cleanup stuff @@ -463,9 +473,18 @@ dnl things need to be done. dnl Then the config.status file (but not makefiles) saved_no_create=$no_create no_create=yes -AC_OUTPUT(config/depend1 config/depend2 config/depend3 config/depend4 \ - config/dependN config/commence config/conclude Makefile \ - src/Makefile test/Makefile examples/Makefile) +AC_CONFIG_FILES([config/depend1 + config/depend2 + config/depend3 + config/depend4 + config/dependN + config/commence + config/conclude + Makefile + src/Makefile + test/Makefile + examples/Makefile]) +AC_OUTPUT no_create=$saved_no_create dnl Finally the makefiles |