diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2002-03-27 18:08:50 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2002-03-27 18:08:50 (GMT) |
commit | 30aa868e1082ddd7cc59b4f0716434f4a02fcbdd (patch) | |
tree | 3ae925a610892fe54eaed8d2b2ce25dc918f767c | |
parent | 0f7c2e3017ff80683d9d67f880cd6f7275350aa5 (diff) | |
download | hdf5-30aa868e1082ddd7cc59b4f0716434f4a02fcbdd.zip hdf5-30aa868e1082ddd7cc59b4f0716434f4a02fcbdd.tar.gz hdf5-30aa868e1082ddd7cc59b4f0716434f4a02fcbdd.tar.bz2 |
[svn-r5092] Purpose:
Bug Fix
Description:
I wasn't testing if the Fortran compiler could actually do the MPI
compilation tests.
Solution:
Changed the configure script so that it uses Fortran 90 to test the
MPI compilation stuff instead of the MPI C compiler...
Platforms tested:
AIX and Linux
-rw-r--r-- | fortran/acsite.m4 | 105 | ||||
-rwxr-xr-x | fortran/configure | 937 | ||||
-rw-r--r-- | fortran/configure.in | 485 |
3 files changed, 770 insertions, 757 deletions
diff --git a/fortran/acsite.m4 b/fortran/acsite.m4 index b37a2ad..90c7284 100644 --- a/fortran/acsite.m4 +++ b/fortran/acsite.m4 @@ -3,8 +3,9 @@ dnl ------------------------------------------------------------------------- dnl dnl Macros for HDF5 Fortran dnl -dnl Copyright (C) 2000 National Center for Supercomputing Applications. -dnl All rights reserved. +dnl Copyright (C) 2000, 2002 +dnl National Center for Supercomputing Applications. +dnl All rights reserved. dnl ------------------------------------------------------------------------- dnl ------------------------------------------------------------------------- @@ -68,6 +69,19 @@ rm -fr conftest* ]) dnl ------------------------------------------------------------------------- +dnl AC_LANG_FORTRAN9X() +dnl +dnl Generic macro to setup the Fortran 9X specific env variables. +dnl +AC_DEFUN(AC_LANG_FORTRAN9X, [ +define([AC_LANG], [FORTRAN9X]) +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&AC_FD_CC' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' +cross_compiling=$ac_cv_prog_f9x_cross +]) + +dnl ------------------------------------------------------------------------- dnl AC_LANG_F9X_WORKS() dnl dnl It would be nice if the compiler actually works. @@ -91,19 +105,6 @@ cross_compiling=$ac_cv_prog_f9x_cross ]) dnl ------------------------------------------------------------------------- -dnl AC_LANG_FORTRAN9X() -dnl -dnl Generic macro to setup the Fortran 9X specific env variables. -dnl -AC_DEFUN(AC_LANG_FORTRAN9X, [ -define([AC_LANG], [FORTRAN9X]) -ac_ext=f90 -ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&AC_FD_CC' -ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' -cross_compiling=$ac_cv_prog_f9x_cross -]) - -dnl ------------------------------------------------------------------------- dnl AC_PROG_F9X_GNU dnl dnl Test whether for Fortran 9X compiler is `g95' (the GNU Fortran 95 @@ -255,8 +256,80 @@ else fi AC_SUBST(F9XMODFLAG) AC_SUBST(F9XMODEXT) -rm -rf conftest*]) +rm -rf conftest* +]) + +dnl ------------------------------------------------------------------------- +dnl AC_TRY_FLINK() +dnl +dnl Check if we can link a simple Fortran 90 program. +dnl +dnl AC_TRY_FLINK(INCLUDES, FUNCTION-BODY, +dnl [ACTION-IF-SUCCESS], [ACTION-IF-NOT-SUCCESS]) +dnl +AC_DEFUN([AC_TRY_FLINK], +[AC_LANG_SAVE +AC_LANG_FORTRAN9X + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + include '$1' + $2 + end +EOF + +if AC_TRY_EVAL(ac_compile) && AC_TRY_EVAL(ac_link); then + : + [$3] +else + : + [$4] +fi +cd .. +rm -rf conftest* +]) + +dnl ------------------------------------------------------------------------- +dnl AC_CHECK_FLIB() +dnl +dnl Check if we can link a simple Fortran 90 program with the specified library. +dnl +dnl AC_CHECK_FLIB(LIBRARY, FUNCTION-BODY, +dnl [ACTION-IF-SUCCESS], [ACTION-IF-NOT-SUCCESS]) +dnl +AC_DEFUN([AC_CHECK_FLIB], +[AC_LANG_SAVE +AC_LANG_FORTRAN9X + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + $2 + end +EOF + +if test -n "$1"; then + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -l$1" +fi +if AC_TRY_EVAL(ac_compile) && AC_TRY_EVAL(ac_link); then + : + [$3] +else + LDFLAGS="saved_LDFLAGS" + [$4] +fi +cd .. +rm -rf conftest* +]) dnl ------------------------------------------------------------------------- dnl ------------------------------------------------------------------------- dnl diff --git a/fortran/configure b/fortran/configure index be35952..cfef1af 100755 --- a/fortran/configure +++ b/fortran/configure @@ -21,6 +21,9 @@ + + + ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*- ## Copyright (C) 1996-1999, 2000 Free Software Foundation, Inc. ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 @@ -657,7 +660,6 @@ else fi - ac_aux_dir= for ac_dir in ../bin $srcdir/../bin; do if test -f $ac_dir/install-sh; then @@ -684,7 +686,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:688: checking host system type" >&5 +echo "configure:690: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -714,8 +716,9 @@ echo "$ac_t""$host" 1>&6 + echo $ac_n "checking shell variables initial values""... $ac_c" 1>&6 -echo "configure:719: checking shell variables initial values" >&5 +echo "configure:722: checking shell variables initial values" >&5 set >&5 echo "$ac_t""done" 1>&6 @@ -727,7 +730,7 @@ fi ROOT=`$pwd` echo $ac_n "checking for cached host""... $ac_c" 1>&6 -echo "configure:731: checking for cached host" >&5 +echo "configure:734: checking for cached host" >&5 if eval "test \"`echo '$''{'hdf5_cv_host'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -783,7 +786,7 @@ for f in $host_cpu-$host_vendor-$host_os \ $host_vendor \ $host_cpu ; do echo $ac_n "checking for config $f""... $ac_c" 1>&6 -echo "configure:787: checking for config $f" >&5 +echo "configure:790: checking for config $f" >&5 if test -f $srcdir/config/$f; then host_config=$srcdir/config/$f echo "$ac_t""found" 1>&6 @@ -799,7 +802,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:803: checking for $ac_word" >&5 +echo "configure:806: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -829,7 +832,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:833: checking for $ac_word" >&5 +echo "configure:836: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -880,7 +883,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:884: checking for $ac_word" >&5 +echo "configure:887: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -912,7 +915,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:916: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:919: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -923,12 +926,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 927 "configure" +#line 930 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -954,12 +957,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:958: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:961: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:963: checking whether we are using GNU C" >&5 +echo "configure:966: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -968,7 +971,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:972: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:975: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -987,7 +990,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:991: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:994: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1019,7 +1022,7 @@ else fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1023: checking how to run the C preprocessor" >&5 +echo "configure:1026: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1034,13 +1037,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1038 "configure" +#line 1041 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1044: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1047: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1051,13 +1054,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1055 "configure" +#line 1058 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1061: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1068,13 +1071,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 1072 "configure" +#line 1075 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1099,7 +1102,7 @@ fi echo "$ac_t""$CPP" 1>&6 CC_BASENAME="`echo $CC |cut -f1 -d' ' |xargs basename 2>/dev/null`" echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1103: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1106: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1137,7 +1140,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1141: checking for a BSD compatible install" >&5 +echo "configure:1144: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1259,7 +1262,7 @@ else fi echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1263: checking build system type" >&5 +echo "configure:1266: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1279,7 +1282,7 @@ echo "$ac_t""$build" 1>&6 # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1283: checking for $ac_word" >&5 +echo "configure:1286: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1318,7 +1321,7 @@ ac_prog=ld if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1322: checking for ld used by GCC" >&5 +echo "configure:1325: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -1342,10 +1345,10 @@ echo "configure:1322: checking for ld used by GCC" >&5 esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1346: checking for GNU ld" >&5 +echo "configure:1349: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1349: checking for non-GNU ld" >&5 +echo "configure:1352: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1380,7 +1383,7 @@ else fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1384: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1387: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1396,7 +1399,7 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1400: checking for BSD-compatible nm" >&5 +echo "configure:1403: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1432,7 +1435,7 @@ NM="$ac_cv_path_NM" echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1436: checking whether ln -s works" >&5 +echo "configure:1439: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1481,8 +1484,8 @@ test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" case "$lt_target" in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1485 "configure"' > conftest.$ac_ext - if { (eval echo configure:1486: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1488 "configure"' > conftest.$ac_ext + if { (eval echo configure:1489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *32-bit*) LD="${LD-ld} -32" @@ -1503,19 +1506,19 @@ case "$lt_target" in SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:1507: checking whether the C compiler needs -belf" >&5 +echo "configure:1510: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1512 "configure" +#line 1515 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:1519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else @@ -1624,7 +1627,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1628: checking for $ac_word" >&5 +echo "configure:1631: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1656,12 +1659,12 @@ done fi if test -z "$AR"; then - for ac_prog in ar xar + for ac_prog in ar xar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1665: checking for $ac_word" >&5 +echo "configure:1668: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1695,72 +1698,73 @@ fi if test -z "$SEARCH"; then - echo $ac_n "checking how make searches directories""... $ac_c" 1>&6 -echo "configure:1700: checking how make searches directories" >&5 - while true; do #for break - cat >maketest <<EOF + echo $ac_n "checking how make searches directories""... $ac_c" 1>&6 +echo "configure:1703: checking how make searches directories" >&5 + while true; do #for break + cat >maketest <<EOF VPATH=$srcdir/config $srcdir/src $srcdir/bin .c.o: - cp $< H5.o + cp $< H5_f.o -foo: H5.o - /bin/rm -f H5.o +foo: H5_f.o + /bin/rm -f H5_f.o @echo works EOF - if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - SEARCH_RULE='VPATH=' - SEARCH_SEP=' ' - echo "$ac_t""VPATH=DIR1 DIR2 ..." 1>&6 - break - fi + if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + SEARCH_RULE='VPATH=' + SEARCH_SEP=' ' + echo "$ac_t""VPATH=DIR1 DIR2 ..." 1>&6 + break + fi - cat >maketest <<EOF + cat >maketest <<EOF VPATH=$srcdir/config:$srcdir/src:$srcdir/bin .c.o: - cp $< H5.o + cp $< H5_f.o -foo: H5.o - /bin/rm -f H5.o +foo: H5_f.o + /bin/rm -f H5_f.o @echo works EOF - if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - SEARCH_RULE='VPATH=' - SEARCH_SEP=':' - echo "$ac_t""VPATH=DIR1:DIR2:..." 1>&6 - break - fi + if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + SEARCH_RULE='VPATH=' + SEARCH_SEP=':' + echo "$ac_t""VPATH=DIR1:DIR2:..." 1>&6 + break + fi - cat >maketest <<EOF + cat >maketest <<EOF .PATH: $srcdir/config $srcdir/src $srcdir/bin .c.o: - cp $< H5.o + cp $< H5_f.o -foo: H5.o - /bin/rm -f H5.o +foo: H5_f.o + /bin/rm -f H5_f.o @echo works EOF - if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - SEARCH_RULE='.PATH: ' - SEARCH_SEP=' ' - echo "$ac_t"".PATH: DIR1 DIR2 ..." 1>&6 - break - fi - - SEARCH_RULE='## SEARCH DISABLED: ' + + if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + SEARCH_RULE='.PATH: ' SEARCH_SEP=' ' - echo "$ac_t""it doesn't" 1>&6 - if test ! -f configure; then - { echo "configure: error: ${MAKE-make} requires the build and source directories to be the same" 1>&2; exit 1; } - fi + echo "$ac_t"".PATH: DIR1 DIR2 ..." 1>&6 break - done - rm maketest + fi + + SEARCH_RULE='## SEARCH DISABLED: ' + SEARCH_SEP=' ' + echo "$ac_t""it doesn't" 1>&6 + if test ! -f configure; then + { echo "configure: error: ${MAKE-make} requires the build and source directories to be the same" 1>&2; exit 1; } + fi + break + done + rm maketest fi echo $ac_n "checking if should build only statically linked executables""... $ac_c" 1>&6 -echo "configure:1764: checking if should build only statically linked executables" >&5 +echo "configure:1768: checking if should build only statically linked executables" >&5 # Check whether --enable-static_exec or --disable-static_exec was given. if test "${enable_static_exec+set}" = set; then enableval="$enable_static_exec" @@ -1769,11 +1773,11 @@ fi 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 @@ -1782,7 +1786,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1786: checking for $ac_word" >&5 +echo "configure:1790: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_F9X'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1815,7 +1819,7 @@ test -z "$F9X" && { echo "configure: error: no acceptable f9X compiler found in echo $ac_n "checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1819: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) works" >&5 +echo "configure:1823: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) works" >&5 @@ -1831,7 +1835,7 @@ cat > conftest.$ac_ext << EOF end EOF -if { (eval echo configure:1835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_f9x_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1858,12 +1862,12 @@ if test $ac_cv_prog_f9x_works = no; then { echo "configure: error: installation or configuration problem: Fortran 9X compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1862: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1866: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_f9x_cross" 1>&6 cross_compiling=$ac_cv_prog_f9x_cross echo $ac_n "checking whether we are using GNU Fortran 95""... $ac_c" 1>&6 -echo "configure:1867: checking whether we are using GNU Fortran 95" >&5 +echo "configure:1871: checking whether we are using GNU Fortran 95" >&5 if eval "test \"`echo '$''{'ac_cv_prog_g9x'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1872,7 +1876,7 @@ else yes #endif EOF -if { ac_try='$F9X -E conftest.fpp'; { (eval echo configure:1876: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='$F9X -E conftest.fpp'; { (eval echo configure:1880: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_g9x=yes else ac_cv_prog_g9x=no @@ -1887,7 +1891,7 @@ if test $ac_cv_prog_g9x = yes; then ac_save_FFLAGS="$FFLAGS" FFLAGS= echo $ac_n "checking whether $F9X accepts -g""... $ac_c" 1>&6 -echo "configure:1891: checking whether $F9X accepts -g" >&5 +echo "configure:1895: checking whether $F9X accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_f9x_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1918,7 +1922,7 @@ else fi echo $ac_n "checking what $F9X does with modules""... $ac_c" 1>&6 -echo "configure:1922: checking what $F9X does with modules" >&5 +echo "configure:1926: checking what $F9X does with modules" >&5 @@ -1974,7 +1978,7 @@ fi cd .. echo $ac_n "checking how $F9X finds modules""... $ac_c" 1>&6 -echo "configure:1978: checking how $F9X finds modules" >&5 +echo "configure:1982: checking how $F9X finds modules" >&5 for flag in "-I" "-M" "-p"; do cat >conftest.$ac_ext <<EOF @@ -1985,7 +1989,7 @@ EOF ac_compile='${F9X-f90} $FFLAGS ${flag}conftestdir -c conftest.$ac_ext 1>&5' - if { (eval echo configure:1989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + if { (eval echo configure:1993: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then F9XMODFLAG=$flag break fi @@ -2001,6 +2005,7 @@ fi rm -rf conftest* + ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' @@ -2012,7 +2017,6 @@ cross_compiling=$ac_cv_prog_cc_cross ac_cv_lib_z_compress="" - # Check whether --with-zlib or --without-zlib was given. if test "${with_zlib+set}" = set; then withval="$with_zlib" @@ -2028,17 +2032,17 @@ case "$withval" in do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2032: checking for $ac_hdr" >&5 +echo "configure:2036: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2037 "configure" +#line 2041 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2042: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2064,27 +2068,27 @@ else fi done - echo $ac_n "checking for compress in -lz""... $ac_c" 1>&6 -echo "configure:2069: checking for compress in -lz" >&5 -ac_lib_var=`echo z'_'compress | sed 'y%./+-%__p_%'` + echo $ac_n "checking for compress2 in -lz""... $ac_c" 1>&6 +echo "configure:2073: checking for compress2 in -lz" >&5 +ac_lib_var=`echo z'_'compress2 | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lz $LIBS" cat > conftest.$ac_ext <<EOF -#line 2077 "configure" +#line 2081 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char compress(); +char compress2(); int main() { -compress() +compress2() ; return 0; } EOF -if { (eval echo configure:2088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2114,7 +2118,7 @@ fi ;; no) echo $ac_n "checking for GNU zlib""... $ac_c" 1>&6 -echo "configure:2118: checking for GNU zlib" >&5 +echo "configure:2122: checking for GNU zlib" >&5 echo "$ac_t""suppressed" 1>&6 ;; *) @@ -2142,17 +2146,17 @@ echo "configure:2118: checking for GNU zlib" >&5 do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2146: checking for $ac_hdr" >&5 +echo "configure:2150: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2151 "configure" +#line 2155 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2156: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2160: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2185,7 +2189,7 @@ done fi echo $ac_n "checking for compress2 in -lz""... $ac_c" 1>&6 -echo "configure:2189: checking for compress2 in -lz" >&5 +echo "configure:2193: checking for compress2 in -lz" >&5 ac_lib_var=`echo z'_'compress2 | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2193,7 +2197,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lz $LIBS" cat > conftest.$ac_ext <<EOF -#line 2197 "configure" +#line 2201 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -2204,7 +2208,7 @@ int main() { compress2() ; return 0; } EOF -if { (eval echo configure:2208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2286,43 +2290,52 @@ rm -f confcache +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_f9x_cross -case "$CC_BASENAME" in - mpicc) - PARALLEL=mpicc - echo $ac_n "checking for mpirun""... $ac_c" 1>&6 -echo "configure:2297: checking for mpirun" >&5 - cmd=`echo $CC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH |tr : ' '`; do - if test -x $path/$cmd; then - break; - fi - done - fi - if test -x $path/mpirun; then - echo "$ac_t""$path/mpirun" 1>&6 - RUNSERIAL="${RUNSERIAL:-none}" - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" - fi - else - echo "$ac_t""none" 1>&6 + + +case "$F9X" in + mpif90) + PARALLEL=mpif90 + echo $ac_n "checking for mpirun""... $ac_c" 1>&6 +echo "configure:2309: checking for mpirun" >&5 + + cmd=`echo $F9X |cut -f1 -d' '` + if (echo $cmd |grep / >/dev/null); then + path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH |tr : ' '`; do + if test -x $path/$cmd; then + break; + fi + done + fi + + if test -x $path/mpirun; then + echo "$ac_t""$path/mpirun" 1>&6 + RUNSERIAL="${RUNSERIAL:-none}" + + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" fi - ;; + else + echo "$ac_t""none" 1>&6 + fi + ;; - mpcc|mpcc_r) - PARALLEL="$CC_BASENAME" - ;; + mpxlf | mpxlf_r | mpxlf90 | mpxlf90_r | mpxlf95 | mpxlf95_r) + PARALLEL="$F9X" + ;; - *) - ;; + *) + ;; esac # Check whether --enable-parallel or --disable-parallel was given. @@ -2333,348 +2346,353 @@ fi echo $ac_n "checking for parallel support files""... $ac_c" 1>&6 -echo "configure:2337: checking for parallel support files" >&5 +echo "configure:2350: checking for parallel support files" >&5 case "X-$enable_parallel" in - X-|X-no|X-none) - echo "$ac_t""skipped" 1>&6 - ;; + X-|X-no|X-none) + echo "$ac_t""skipped" 1>&6 + ;; - X-yes) - echo "$ac_t""provided by compiler" 1>&6 - PARALLEL=yes + X-yes) + echo "$ac_t""provided by compiler" 1>&6 + PARALLEL=yes - cat > conftest.$ac_ext <<EOF -#line 2348 "configure" -#include "confdefs.h" + -int main() { -MPI_Init() -; return 0; } + +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_f9x_cross + + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + include 'mpif.h' + + integer ierr + call MPI_INIT( ierr ) + end EOF -if { (eval echo configure:2355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && { (eval echo configure:2382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then : + else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo $ac_n "checking for MPI_Init in -lmpi""... $ac_c" 1>&6 -echo "configure:2362: checking for MPI_Init in -lmpi" >&5 -ac_lib_var=`echo mpi'_'MPI_Init | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmpi $LIBS" -cat > conftest.$ac_ext <<EOF -#line 2370 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char MPI_Init(); + : + -int main() { -MPI_Init() -; return 0; } -EOF -if { (eval echo configure:2381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo mpi | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_f9x_cross + + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + + include 'mpif.h' + integer ierr + call MPI_INIT( ierr ) + end EOF - LIBS="-lmpi $LIBS" +if test -n "mpi"; then + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -lmpi" +fi +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && { (eval echo configure:2414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + : + else - echo "$ac_t""no" 1>&6 -PARALLEL=no + LDFLAGS="saved_LDFLAGS" + PARALLEL=no fi +cd .. +rm -rf conftest* fi -rm -f conftest* +cd .. +rm -rf conftest* - if test "X$PARALLEL" = "Xyes"; then - cat > conftest.$ac_ext <<EOF -#line 2414 "configure" -#include "confdefs.h" -int main() { -MPI_File_open() -; return 0; } + if test "X$PARALLEL" = "Xyes"; then + + + +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_f9x_cross + + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + include 'mpif.h' + + integer ierr + call MPI_INIT( ierr ) + end EOF -if { (eval echo configure:2421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && { (eval echo configure:2452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo $ac_n "checking for MPI_File_open in -lmpio""... $ac_c" 1>&6 -echo "configure:2428: checking for MPI_File_open in -lmpio" >&5 -ac_lib_var=`echo mpio'_'MPI_File_open | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmpio $LIBS" -cat > conftest.$ac_ext <<EOF -#line 2436 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char MPI_File_open(); + -int main() { -MPI_File_open() -; return 0; } -EOF -if { (eval echo configure:2447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo mpio | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_f9x_cross + + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + + include 'mpif.h' + integer ierr + call MPI_INIT( ierr ) + end EOF - LIBS="-lmpio $LIBS" +if test -n "mpio"; then + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -lmpio" +fi +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && { (eval echo configure:2481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + : + else - echo "$ac_t""no" 1>&6 -PARALLEL=no + LDFLAGS="saved_LDFLAGS" + PARALLEL=no fi +cd .. +rm -rf conftest* +else + : + fi -rm -f conftest* - fi +cd .. +rm -rf conftest* - if test "X$PARALLEL" = "Xyes" && test -z "$RUNPARALLEL"; then - RUNPARALLEL="mpirun -np \$\${NPROCS:=2}" - fi - ;; + fi - X-mpich) - echo "$ac_t""mpich" 1>&6 - echo "configure: warning: *** Why aren't you using an mpicc compiler? ***" 1>&2 + if test "X$PARALLEL" = "Xyes" && test -z "$RUNPARALLEL"; then + RUNPARALLEL="mpirun -np \$\${NPROCS:=2}" + fi + ;; - PARALLEL=mpich - echo $ac_n "checking for MPI_Init in -lmpich""... $ac_c" 1>&6 -echo "configure:2490: checking for MPI_Init in -lmpich" >&5 -ac_lib_var=`echo mpich'_'MPI_Init | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmpich $LIBS" -cat > conftest.$ac_ext <<EOF -#line 2498 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char MPI_Init(); + X-mpich) + echo "$ac_t""mpich" 1>&6 + echo "configure: warning: *** Why aren't you using an mpicc compiler? ***" 1>&2 -int main() { -MPI_Init() -; return 0; } -EOF -if { (eval echo configure:2509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + PARALLEL=mpich + -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo mpich | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 + +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_f9x_cross + + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + + include 'mpif.h' + integer ierr + call MPI_INIT( ierr ) + end EOF - LIBS="-lmpich $LIBS" +if test -n "fmpich"; then + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -lfmpich" +fi +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && { (eval echo configure:2537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + : + else - echo "$ac_t""no" 1>&6 -{ echo "configure: error: no mpich library" 1>&2; exit 1; } + LDFLAGS="saved_LDFLAGS" + { echo "configure: error: no mpich library" 1>&2; exit 1; } fi +cd .. +rm -rf conftest* - ;; + ;; - *) - echo "$ac_t""error" 1>&6 - { echo "configure: error: \'$enable_parallel\' is not a valid parallel search type" 1>&2; exit 1; } - ;; + *) + echo "$ac_t""error" 1>&6 + { echo "configure: error: \'$enable_parallel\' is not a valid parallel search type" 1>&2; exit 1; } + ;; esac if test -n "$PARALLEL"; then - TESTPARALLEL=testpar + TESTPARALLEL=testpar fi ADD_PARALLEL_FILES="no" if test -n "$PARALLEL"; then - cat >> confdefs.h <<\EOF -#define HAVE_PARALLEL 1 -EOF + echo $ac_n "checking prefix for running on one processor""... $ac_c" 1>&6 +echo "configure:2562: checking prefix for running on one processor" >&5 + echo "$ac_t""$RUNSERIAL" 1>&6 + echo $ac_n "checking prefix for running in parallel""... $ac_c" 1>&6 +echo "configure:2565: checking prefix for running in parallel" >&5 + echo "$ac_t""$RUNPARALLEL" 1>&6 + echo $ac_n "checking whether a simple MPI-IO program can be linked""... $ac_c" 1>&6 +echo "configure:2569: checking whether a simple MPI-IO program can be linked" >&5 + - echo $ac_n "checking prefix for running on one processor""... $ac_c" 1>&6 -echo "configure:2557: checking prefix for running on one processor" >&5 - echo "$ac_t""$RUNSERIAL" 1>&6 - echo $ac_n "checking prefix for running in parallel""... $ac_c" 1>&6 -echo "configure:2560: checking prefix for running in parallel" >&5 - echo "$ac_t""$RUNPARALLEL" 1>&6 - echo $ac_n "checking whether a simple MPI-IO program can be linked""... $ac_c" 1>&6 -echo "configure:2564: checking whether a simple MPI-IO program can be linked" >&5 - cat > conftest.$ac_ext <<EOF -#line 2566 "configure" -#include "confdefs.h" +ac_ext=f90 +ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5' +ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_f9x_cross -int main() { -MPI_Init();MPI_File_open(); -; return 0; } + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + program conftest + include 'mpif.h' + + integer ierr + call MPI_INIT( ierr ) + end EOF -if { (eval echo configure:2573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* + +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && { (eval echo configure:2592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + : echo "$ac_t""yes" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* + : echo "$ac_t""no" 1>&6 - { echo "configure: error: 'unable to link a simple MPI-IO application'" 1>&2; exit 1; } + { echo "configure: error: 'unable to link a simple MPI-IO application'" 1>&2; exit 1; } fi -rm -f conftest* +cd .. +rm -rf conftest* - if test -z "$RUNPARALLEL"; then - { echo "configure: error: no way to run a parallel program" 1>&2; exit 1; } - fi - if test "X$RUNSERIAL" = "Xnone"; then - RUNSERIAL= - fi - if test "X$RUNPARALLEL" = "Xnone"; then - RUNPARALLEL= - fi + if test -z "$RUNPARALLEL"; then + { echo "configure: error: no way to run a parallel program" 1>&2; exit 1; } + fi + + if test "X$RUNSERIAL" = "Xnone"; then + RUNSERIAL= + fi + if test "X$RUNPARALLEL" = "Xnone"; then + RUNPARALLEL= + fi - ADD_PARALLEL_FILES="yes" + ADD_PARALLEL_FILES="yes" fi echo $ac_n "checking make""... $ac_c" 1>&6 -echo "configure:2601: checking make" >&5 +echo "configure:2620: checking make" >&5 if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\ - sed -n 1p|cut -c1-8`" = "GNU Make"; then - echo "$ac_t""GNU make" 1>&6 - 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 + echo "$ac_t""GNU make" 1>&6 + GMAKE=yes + if test "X$GCC" = "Xyes"; then + DEPEND=config/depend1 + else + DEPEND=config/depend2 + fi else - echo "$ac_t""generic" 1>&6 + echo "$ac_t""generic" 1>&6 fi if test -z "$DEPEND"; then - echo $ac_n "checking how to include a makefile""... $ac_c" 1>&6 -echo "configure:2618: checking how to include a makefile" >&5 + echo $ac_n "checking how to include a makefile""... $ac_c" 1>&6 +echo "configure:2637: checking how to include a makefile" >&5 - cat >makeinc <<EOF + cat >makeinc <<EOF foo: @: EOF - while true; do echo '.include <makeinc>' >maketest - if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - echo "$ac_t"".include <FILE>" 1>&6 - DEPEND=config/depend3 - break - fi + while true; do echo '.include <makeinc>' >maketest + if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + echo "$ac_t"".include <FILE>" 1>&6 + DEPEND=config/depend3 + break + fi - echo 'include makeinc' >maketest - if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then - echo "$ac_t""include FILE" 1>&6 - DEPEND=config/depend4 - break; - fi + echo 'include makeinc' >maketest + if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then + echo "$ac_t""include FILE" 1>&6 + DEPEND=config/depend4 + break; + fi - echo "$ac_t""you have a deficient make command" 1>&6 - DEPEND=config/dependN - break - done - rm makeinc maketest + echo "$ac_t""you have a deficient make command" 1>&6 + DEPEND=config/dependN + break + done + rm makeinc maketest fi rm -f conftest core core.* *.core conftest.o conftest.c dummy.o $ac_clean_files -DYNAMIC_DIRS="" + 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 - .*) - 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 + .*) + d=${ROOT}/$d + ;; + esac + DYNAMIC_DIRS="-R${d} $DYNAMIC_DIRS" + ;; + esac + done fi - COMMENCE=config/commence CONCLUDE=config/conclude if test -z "$SEARCH"; then - SEARCH='$(srcdir) $(top_builddir)/src $(top_srcdir)/src' - cmd='echo $SEARCH |sed "s/ /'$SEARCH_SEP'/g"' - SEARCH="$SEARCH_RULE`eval $cmd`" + SEARCH='$(srcdir) $(top_builddir)/src $(top_srcdir)/src' + cmd='echo $SEARCH |sed "s/ /'$SEARCH_SEP'/g"' + SEARCH="$SEARCH_RULE`eval $cmd`" fi if test "X$GMAKE" = "Xyes"; then - SETX=":" + SETX=":" else - SETX="set -x" + SETX="set -x" fi rm -f conftest conftest.o conftest.c core core.* *.core dummy.o @@ -2686,7 +2704,7 @@ touch ./config/stamp1 PARALLEL_MAKE= if test -n "$TESTPARALLEL"; then - PARALLEL_MAKE=$TESTPARALLEL/Makefile + PARALLEL_MAKE=$TESTPARALLEL/Makefile fi saved_no_create=$no_create @@ -2754,7 +2772,19 @@ fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 -DEFS=-DHAVE_CONFIG_H +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} @@ -2796,15 +2826,15 @@ trap 'rm -fr `echo "config/depend1 config/depend2 config/depend3 config/depend4 - config/dependN + config/dependN config/commence config/conclude Makefile - src/H5fortran_types.f90 + src/H5fortran_types.f90 src/Makefile test/Makefile $PARALLEL_MAKE - examples/Makefile src/H5config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 + examples/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <<EOF @@ -2928,11 +2958,11 @@ CONFIG_FILES=\${CONFIG_FILES-"config/depend1 config/depend2 config/depend3 config/depend4 - config/dependN + config/dependN config/commence config/conclude Makefile - src/H5fortran_types.f90 + src/H5fortran_types.f90 src/Makefile test/Makefile $PARALLEL_MAKE @@ -2995,113 +3025,6 @@ s%@INSTALL@%$INSTALL%g fi; done rm -f conftest.s* -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <<EOF - CONFIG_HEADERS="src/H5config.h" -EOF -cat >> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - EOF cat >> $CONFIG_STATUS <<EOF diff --git a/fortran/configure.in b/fortran/configure.in index 5bc529e..82098b5 100644 --- a/fortran/configure.in +++ b/fortran/configure.in @@ -1,8 +1,9 @@ dnl ---------------------------------------------------------------------- dnl Process this file with autoconf to produce configure. dnl -dnl Copyright (C) 2000 National Center for Supercomputing Applications. -dnl All rights reserved. +dnl Copyright (C) 2000, 2001, 2002 +dnl National Center for Supercomputing Applications. +dnl All rights reserved. dnl ---------------------------------------------------------------------- dnl ---------------------------------------------------------------------- @@ -10,10 +11,10 @@ dnl Initialize configure. dnl AC_REVISION($Id$) AC_INIT(src/HDF5.f90) -AC_CONFIG_HEADER(src/H5config.h) AC_CONFIG_AUX_DIR(../bin) AC_CANONICAL_HOST AC_SUBST(CPPFLAGS) +AC_SUBST(FFLAGS) dnl ---------------------------------------------------------------------- dnl HDF5 integer variables for the H5fortran_types.f90 file. @@ -147,7 +148,7 @@ if test "X$GCC" = "Xyes"; then fi if test -z "$AR"; then - AC_CHECK_PROGS(AR,ar xar,:,$PATH) + AC_CHECK_PROGS(AR,ar xar,:,$PATH) fi AC_SUBST(AR) @@ -157,72 +158,73 @@ 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_f.o -foo: H5.o - /bin/rm -f H5.o +foo: H5_f.o + /bin/rm -f H5_f.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 + 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 + 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 + cp $< H5_f.o -foo: H5.o - /bin/rm -f H5.o +foo: H5_f.o + /bin/rm -f H5_f.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 + 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 + dnl pmake uses the construct `.PATH: DIR1 DIR2 + cat >maketest <<EOF .PATH: $srcdir/config $srcdir/src $srcdir/bin .c.o: - cp $< H5.o + cp $< H5_f.o -foo: H5.o - /bin/rm -f H5.o +foo: H5_f.o + /bin/rm -f H5_f.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,15 +232,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) @@ -267,7 +269,6 @@ dnl then "uncache" it so that we will go through this logic in any case. dnl Some systems where you need to specify exactly where the zlib is need dnl this. ac_cv_lib_z_compress="" - AC_ARG_WITH(zlib, [ --with-zlib[=DIR] Use the GNU zlib compression],, withval=yes) @@ -275,7 +276,7 @@ AC_ARG_WITH(zlib, case "$withval" in yes) AC_CHECK_HEADERS(zlib.h) - AC_CHECK_LIB(z, compress) + AC_CHECK_LIB(z, compress2) ;; no) AC_MSG_CHECKING(for GNU zlib) @@ -319,6 +320,9 @@ dnl dnl Checkpoint the cache AC_CACHE_SAVE +dnl Change back to the Fortran 90 language +AC_LANG_FORTRAN9X + dnl ---------------------------------------------------------------------- dnl The following variables are used to distinguish between building a dnl serial and parallel library. @@ -328,7 +332,7 @@ dnl a parallel library even if configure wasn't dnl able to find some header file or library that dnl might be required. This is defined if the dnl compiler looks like a parallel compiler (e.g., -dnl mpicc or mpcc) or if the user explicitly states +dnl mpif90 or mpf90) or if the user explicitly states dnl that a parallel library is being built by supplying dnl the `--enable-parallel' configure switch. dnl @@ -365,49 +369,50 @@ dnl ---------------------------------------------------------------------- dnl If the compiler is obviously a parallel compiler then we're building dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore, dnl the name of the compiler might tell us how to run the resulting -dnl executable. For `mpicc' the executable should be run with `mpirun' from -dnl the same directory as mpicc if it exists. +dnl executable. For `mpif90' the executable should be run with `mpirun' +dnl from the same directory as mpif90 if it exists. dnl -case "$CC_BASENAME" in - mpicc) - dnl The mpich compiler. Use mpirun from the same directory if it - dnl exists. - PARALLEL=mpicc - AC_MSG_CHECKING(for mpirun) - - dnl Find the path where mpicc is located. - cmd=`echo $CC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH |tr : ' '`; do - if test -x $path/$cmd; then - break; - fi - done - fi +case "$F9X" in + mpif90) + dnl The mpich compiler. Use mpirun from the same directory if it + dnl exists. + PARALLEL=mpif90 + AC_MSG_CHECKING(for mpirun) + + dnl Find the path where mpif90 is located. + cmd=`echo $F9X |cut -f1 -d' '` + if (echo $cmd |grep / >/dev/null); then + path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH |tr : ' '`; do + if test -x $path/$cmd; then + break; + fi + done + fi - dnl Is there an mpirun at that path? - if test -x $path/mpirun; then - AC_MSG_RESULT($path/mpirun) - RUNSERIAL="${RUNSERIAL:-none}" - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" - fi - else - AC_MSG_RESULT(none) + dnl Is there an mpirun at that path? + if test -x $path/mpirun; then + AC_MSG_RESULT($path/mpirun) + RUNSERIAL="${RUNSERIAL:-none}" + + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" fi - ;; + else + AC_MSG_RESULT(none) + fi + ;; - mpcc|mpcc_r) - dnl The IBM compiler - PARALLEL="$CC_BASENAME" - ;; + mpxlf | mpxlf_r | mpxlf90 | mpxlf90_r | mpxlf95 | mpxlf95_r) + dnl The IBM compiler + PARALLEL="$F9X" + ;; - *) - dnl Probably not a parallel compiler, but if `--enable-parallel' - dnl is defined below then we're still building a parallel hdf5. - ;; + *) + dnl Probably not a parallel compiler, but if `--enable-parallel' + dnl is defined below then we're still building a parallel hdf5. + ;; esac dnl ---------------------------------------------------------------------- @@ -423,63 +428,77 @@ AC_ARG_ENABLE(parallel, AC_MSG_CHECKING(for parallel support files) case "X-$enable_parallel" in - X-|X-no|X-none) - dnl Either we are not compiling for parallel or the header and library - dnl files and locations are known to the compiler (this is the case - dnl for a correct installation of mpicc for instance). - AC_MSG_RESULT(skipped) - ;; - - X-yes) - dnl We want to compile a parallel library with a compiler that - dnl may already know how to link with MPI and MPI-IO. - AC_MSG_RESULT(provided by compiler) - PARALLEL=yes - - dnl Try link a simple MPI program. If fail, try again with -lmpi. - AC_TRY_LINK(,MPI_Init(),,AC_CHECK_LIB(mpi,MPI_Init,,PARALLEL=no)) + X-|X-no|X-none) + dnl Either we are not compiling for parallel or the header and library + dnl files and locations are known to the compiler (this is the case + dnl for a correct installation of mpicc for instance). + AC_MSG_RESULT(skipped) + ;; - dnl Then try link a simple MPI-IO program. If fail, try again with - dnl -lmpio. - if test "X$PARALLEL" = "Xyes"; then - AC_TRY_LINK(,MPI_File_open(),, - AC_CHECK_LIB(mpio,MPI_File_open,,PARALLEL=no)) - fi + X-yes) + dnl We want to compile a parallel library with a compiler that + dnl may already know how to link with MPI and MPI-IO. + AC_MSG_RESULT(provided by compiler) + PARALLEL=yes + + dnl Try link a simple MPI program. If fail, try again with -lmpi. + AC_TRY_FLINK(mpif.h, [ + integer ierr + call MPI_INIT( ierr )],, + AC_CHECK_FLIB(mpi, [ + include 'mpif.h' + integer ierr + call MPI_INIT( ierr )],, PARALLEL=no)) + + dnl Then try link a simple MPI-IO program. If fail, try again with + dnl -lmpio. + if test "X$PARALLEL" = "Xyes"; then + AC_TRY_FLINK(mpif.h, [ + integer ierr + call MPI_INIT( ierr )], + AC_CHECK_FLIB(mpio, [ + include 'mpif.h' + integer ierr + call MPI_INIT( ierr )],, PARALLEL=no)) + fi - dnl Set RUNPARALLEL to mpirun if not set yet. - if test "X$PARALLEL" = "Xyes" && test -z "$RUNPARALLEL"; then - RUNPARALLEL="mpirun -np \$\${NPROCS:=2}" - fi - ;; + dnl Set RUNPARALLEL to mpirun if not set yet. + if test "X$PARALLEL" = "Xyes" && test -z "$RUNPARALLEL"; then + RUNPARALLEL="mpirun -np \$\${NPROCS:=2}" + fi + ;; - X-mpich) - dnl For normal mpich installation the compiler, mpicc, should know - dnl where the MPI and MPI-IO header files are located and know which - dnl extra libraries need to be linked and will supply appropriate - dnl flags to the underlying compiler. - AC_MSG_RESULT(mpich) - AC_MSG_WARN(*** Why aren't you using an mpicc compiler? ***) - - dnl Apparently mpicc isn't installed correctly so configure must - dnl search for the header files and libraries. Actually we only - dnl have to search for the libraries in order to get the onto the - dnl link line, the user will have already told us about the - dnl locations. Fail if something is missing. - PARALLEL=mpich - AC_CHECK_LIB(mpich,MPI_Init,,AC_MSG_ERROR(no mpich library)) - ;; + X-mpich) + dnl For normal mpich installation the compiler, mpicc, should know + dnl where the MPI and MPI-IO header files are located and know which + dnl extra libraries need to be linked and will supply appropriate + dnl flags to the underlying compiler. + AC_MSG_RESULT(mpich) + AC_MSG_WARN(*** Why aren't you using an mpicc compiler? ***) + + dnl Apparently mpicc isn't installed correctly so configure must + dnl search for the header files and libraries. Actually we only + dnl have to search for the libraries in order to get the onto the + dnl link line, the user will have already told us about the + dnl locations. Fail if something is missing. + PARALLEL=mpich + AC_CHECK_FLIB(fmpich, [ + include 'mpif.h' + integer ierr + call MPI_INIT( ierr )],, AC_MSG_ERROR(no mpich library)) + ;; - *) - AC_MSG_RESULT(error) - AC_MSG_ERROR(\'$enable_parallel\' is not a valid parallel search type) - ;; + *) + AC_MSG_RESULT(error) + AC_MSG_ERROR(\'$enable_parallel\' is not a valid parallel search type) + ;; esac dnl ---------------------------------------------------------------------- dnl Should the `testpar' directory participate in the build? dnl if test -n "$PARALLEL"; then - TESTPARALLEL=testpar + TESTPARALLEL=testpar fi dnl ---------------------------------------------------------------------- @@ -487,90 +506,89 @@ dnl Print some other parallel information and do some sanity checks. dnl ADD_PARALLEL_FILES="no" if test -n "$PARALLEL"; then - dnl We are building a parallel library - AC_DEFINE(HAVE_PARALLEL) - - dnl Display what we found about running programs - AC_MSG_CHECKING(prefix for running on one processor) - AC_MSG_RESULT($RUNSERIAL) - AC_MSG_CHECKING(prefix for running in parallel) - AC_MSG_RESULT($RUNPARALLEL) - - dnl Check that we can link a simple MPI and MPI-IO application - AC_MSG_CHECKING(whether a simple MPI-IO program can be linked) - AC_TRY_LINK(,[MPI_Init();MPI_File_open();], - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no) - AC_MSG_ERROR('unable to link a simple MPI-IO application')) - - dnl There *must* be some way to run in parallel even if it's just the - dnl word `none'. - if test -z "$RUNPARALLEL"; then - AC_MSG_ERROR(no way to run a parallel program) - fi - - dnl If RUNSERIAL or RUNPARALLEL is the word `none' then replace it with - dnl the empty string. - if test "X$RUNSERIAL" = "Xnone"; then - RUNSERIAL= - fi - if test "X$RUNPARALLEL" = "Xnone"; then - RUNPARALLEL= - fi - - ADD_PARALLEL_FILES="yes" + dnl Display what we found about running programs + AC_MSG_CHECKING(prefix for running on one processor) + AC_MSG_RESULT($RUNSERIAL) + AC_MSG_CHECKING(prefix for running in parallel) + AC_MSG_RESULT($RUNPARALLEL) + + dnl Check that we can link a simple MPI and MPI-IO application + AC_MSG_CHECKING(whether a simple MPI-IO program can be linked) + AC_TRY_FLINK(mpif.h,[ + integer ierr + call MPI_INIT( ierr )], + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) + AC_MSG_ERROR('unable to link a simple MPI-IO application')) + + dnl There *must* be some way to run in parallel even if it's just the + dnl word `none'. + if test -z "$RUNPARALLEL"; then + AC_MSG_ERROR(no way to run a parallel program) + fi + + dnl If RUNSERIAL or RUNPARALLEL is the word `none' then replace it with + dnl the empty string. + if test "X$RUNSERIAL" = "Xnone"; then + RUNSERIAL= + fi + if test "X$RUNPARALLEL" = "Xnone"; then + RUNPARALLEL= + fi + + ADD_PARALLEL_FILES="yes" fi AC_SUBST(ADD_PARALLEL_FILES) 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 + 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 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 + dnl default + AC_MSG_RESULT(you have a deficient make command) + DEPEND=config/dependN + break + done + rm makeinc maketest fi dnl Some cleanup stuff @@ -581,25 +599,24 @@ dnl Determine the runtime libraries we may need to include in the dnl libtools command so that executables will find the correct dynamic dnl libraries. dnl -DYNAMIC_DIRS="" +AC_SUBST(DYNAMIC_DIRS) 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) dnl ---------------------------------------------------------------------- dnl Build the Makefiles. Almost every Makefile.in will begin with the line @@ -611,17 +628,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 @@ -639,7 +656,7 @@ touch ./config/stamp1 PARALLEL_MAKE= if test -n "$TESTPARALLEL"; then - PARALLEL_MAKE=$TESTPARALLEL/Makefile + PARALLEL_MAKE=$TESTPARALLEL/Makefile fi dnl Then the config.status file (but not makefiles) @@ -649,11 +666,11 @@ AC_OUTPUT(config/depend1 config/depend2 config/depend3 config/depend4 - config/dependN + config/dependN config/commence config/conclude Makefile - src/H5fortran_types.f90 + src/H5fortran_types.f90 src/Makefile test/Makefile $PARALLEL_MAKE |