diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-04-23 19:25:58 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-04-23 19:25:58 (GMT) |
commit | 7927acd7f31e2fb4136ac7e1826dc07a758ef11f (patch) | |
tree | 784becd8674ccab6265e13814a36ae0ff34d68c3 /fortran/config | |
parent | 46cb3df9f5cd100c77f2e8a8f4bc7b7c8dafd2b0 (diff) | |
download | hdf5-7927acd7f31e2fb4136ac7e1826dc07a758ef11f.zip hdf5-7927acd7f31e2fb4136ac7e1826dc07a758ef11f.tar.gz hdf5-7927acd7f31e2fb4136ac7e1826dc07a758ef11f.tar.bz2 |
[svn-r6739] Purpose:
Bug Fix
Description:
H5FC was failing on Copper (IBM P690). The reason: the xlf compiler
needs files to end in .f in stead of .f90. If you have .f90 files,
you need the "-qsuffix=f=f90" flag defined. This was defined for
compiling things via the "-c" option (to object files) but not for
straight compilation of a file.
I also noticed that the directory modules were being extracted from
was "." and "../src". H5FC would find these alright when doing a
"make check-install" but if Suzie User were to try this, it might
fail for her. Suzie would have to specify explicitly where to grab
these files.
Solution:
The solution to the problem was a bit more involved. I added a new
variable called "F9XSUFFIXFLAG" which is set to this value if the
machine needs it.
Added new variable called "FSEARCH_DIRS" which can be set to the
directories to find modules during compilation. The H5FC script knows
where to find the correct modules (it's in the lib/ directory), so it
uses the F9XMODFLAG to find them and not the FSEARCH_DIRS flag.
Platforms tested:
Modi4 (Fortran & Parallel)
Verbena (Fortran) C++ not needed since this is Fortran-only fix
Arabica (Fortran)
Copper (Fortran)
Ran "make install" and "make check-install" afterwards...
Misc. update:
Diffstat (limited to 'fortran/config')
-rw-r--r-- | fortran/config/commence.in | 1 | ||||
-rw-r--r-- | fortran/config/conclude.in | 4 | ||||
-rw-r--r-- | fortran/config/dec-flags | 2 | ||||
-rw-r--r-- | fortran/config/hpux10.20 | 2 | ||||
-rw-r--r-- | fortran/config/hpux11.00 | 2 | ||||
-rw-r--r-- | fortran/config/ia64-linux-gnu | 10 | ||||
-rw-r--r-- | fortran/config/irix6.x | 4 | ||||
-rw-r--r-- | fortran/config/linux-gnulibc1 | 10 | ||||
-rw-r--r-- | fortran/config/powerpc-ibm-aix4.x | 4 | ||||
-rw-r--r-- | fortran/config/powerpc-ibm-aix5.x | 4 | ||||
-rw-r--r-- | fortran/config/rs6000-ibm-aix4.x | 4 | ||||
-rw-r--r-- | fortran/config/solaris2.x | 10 | ||||
-rw-r--r-- | fortran/config/sv1-cray | 2 | ||||
-rw-r--r-- | fortran/config/unicos | 2 | ||||
-rw-r--r-- | fortran/config/unicos10.0.X | 2 | ||||
-rw-r--r-- | fortran/config/unicosmk | 2 | ||||
-rw-r--r-- | fortran/config/unicosmk2.0.5.X | 2 | ||||
-rw-r--r-- | fortran/config/unicosmk2.0.X | 2 |
18 files changed, 52 insertions, 17 deletions
diff --git a/fortran/config/commence.in b/fortran/config/commence.in index 1e23566..7bc5109 100644 --- a/fortran/config/commence.in +++ b/fortran/config/commence.in @@ -18,6 +18,7 @@ CC=@CC@ F9X=@F9X@ F9XMODEXT=@F9XMODEXT@ F9XMODFLAG=@F9XMODFLAG@ +FSEARCH_DIRS="@FSEARCH_DIRS@" CFLAGS=@CFLAGS@ CPPFLAGS=@CPPFLAGS@ FFLAGS=@FFLAGS@ diff --git a/fortran/config/conclude.in b/fortran/config/conclude.in index 7597d1a..09cdf52 100644 --- a/fortran/config/conclude.in +++ b/fortran/config/conclude.in @@ -174,10 +174,10 @@ maintainer-clean: distclean @$(LT_CCOMPILE) $(CFLAGS) $(CPPFLAGS) -c $< .f90.o: - $(F9X) $(FFLAGS) -c $< + $(F9X) $(FFLAGS) $(FSEARCH_DIRS) -c $< .f90.lo: - @$(LT_FCOMPILE) $(FFLAGS) -c $< + @$(LT_FCOMPILE) $(FFLAGS) $(FSEARCH_DIRS) -c $< ##----------------------------------------------------------------------------- ## The following section of this makefile contains dependencies between the diff --git a/fortran/config/dec-flags b/fortran/config/dec-flags index c9a34b3..9af2aae 100644 --- a/fortran/config/dec-flags +++ b/fortran/config/dec-flags @@ -84,6 +84,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-Olimit 2048 -std1" DEBUG_FFLAGS="-Olimit 2048 -std1" PROD_FFLAGS="-Olimit 2048 -std1" diff --git a/fortran/config/hpux10.20 b/fortran/config/hpux10.20 index 5e35d3b..97022c4 100644 --- a/fortran/config/hpux10.20 +++ b/fortran/config/hpux10.20 @@ -58,6 +58,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-O" DEBUG_FFLAGS="-O" PROD_FFLAGS="-O" diff --git a/fortran/config/hpux11.00 b/fortran/config/hpux11.00 index 5e35d3b..97022c4 100644 --- a/fortran/config/hpux11.00 +++ b/fortran/config/hpux11.00 @@ -58,6 +58,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-O" DEBUG_FFLAGS="-O" PROD_FFLAGS="-O" diff --git a/fortran/config/ia64-linux-gnu b/fortran/config/ia64-linux-gnu index 8706b18..7dc5239 100644 --- a/fortran/config/ia64-linux-gnu +++ b/fortran/config/ia64-linux-gnu @@ -84,9 +84,11 @@ esac # The following is not right and need work. if test -z "$f9x_flags_set"; then - FFLAGS= - DEBUG_FFLAGS= - PROD_FFLAGS= - PROFILE_FFLAGS= + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" + FFLAGS="" + DEBUG_FFLAGS="" + PROD_FFLAGS="" + PROFILE_FFLAGS="" f9x_flags_set=yes fi diff --git a/fortran/config/irix6.x b/fortran/config/irix6.x index 62505a3..10c48cf 100644 --- a/fortran/config/irix6.x +++ b/fortran/config/irix6.x @@ -86,6 +86,8 @@ esac # Use SGI supplied C compiler by default. There is no ranlib if test "X-" = "X-$F9X"; then F9X="f90" + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-64 -mips4 -O -s" DEBUG_FFLAGS="-64 -mips4 -O -s" PROD_FFLAGS="-64 -mips4 -O -s" @@ -115,6 +117,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-64 -mips4 -O -s" DEBUG_FFLAGS="-64 -mips4 -O -s" PROD_FFLAGS="-64 -mips4 -O -s" diff --git a/fortran/config/linux-gnulibc1 b/fortran/config/linux-gnulibc1 index b24bb85..7ecead5 100644 --- a/fortran/config/linux-gnulibc1 +++ b/fortran/config/linux-gnulibc1 @@ -41,9 +41,11 @@ if test -z "$F9X"; then fi if test -z "$f9x_flags_set"; then - FFLAGS= - DEBUG_FFLAGS= - PROD_FFLAGS= - PROFILE_FFLAGS= + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" + FFLAGS="" + DEBUG_FFLAGS="" + PROD_FFLAGS="" + PROFILE_FFLAGS="" f9x_flags_set=yes fi diff --git a/fortran/config/powerpc-ibm-aix4.x b/fortran/config/powerpc-ibm-aix4.x index 234f7d3..5124107 100644 --- a/fortran/config/powerpc-ibm-aix4.x +++ b/fortran/config/powerpc-ibm-aix4.x @@ -34,7 +34,9 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then - FFLAGS="-static -O -qsuffix=f=f90 -qmoddir=./ -I./ -I../src -k" + F9XSUFFIXFLAG="-qsuffix=f=f90" + FFLAGS="-static -O ${F9XSUFFIXFLAG} -qmoddir=./ -k" + FSEARCH_DIRS="-I./ -I../src" DEBUG_FFLAGS="-O" PROD_FFLAGS="-O" PROFILE_FFLAGS="-O" diff --git a/fortran/config/powerpc-ibm-aix5.x b/fortran/config/powerpc-ibm-aix5.x index 16ad523..ad89cb1 100644 --- a/fortran/config/powerpc-ibm-aix5.x +++ b/fortran/config/powerpc-ibm-aix5.x @@ -47,7 +47,9 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then - FFLAGS="-static -O -qsuffix=f=f90 -qmoddir=./ -I./ -k" + F9XSUFFIXFLAG="-qsuffix=f=f90" + FFLAGS="-static -O ${F9XSUFFIXFLAG} -qmoddir=./ -k" + FSEARCH_DIRS="-I./ -I../src" DEBUG_FFLAGS="-O" PROD_FFLAGS="-O" PROFILE_FFLAGS="-O" diff --git a/fortran/config/rs6000-ibm-aix4.x b/fortran/config/rs6000-ibm-aix4.x index 234f7d3..5124107 100644 --- a/fortran/config/rs6000-ibm-aix4.x +++ b/fortran/config/rs6000-ibm-aix4.x @@ -34,7 +34,9 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then - FFLAGS="-static -O -qsuffix=f=f90 -qmoddir=./ -I./ -I../src -k" + F9XSUFFIXFLAG="-qsuffix=f=f90" + FFLAGS="-static -O ${F9XSUFFIXFLAG} -qmoddir=./ -k" + FSEARCH_DIRS="-I./ -I../src" DEBUG_FFLAGS="-O" PROD_FFLAGS="-O" PROFILE_FFLAGS="-O" diff --git a/fortran/config/solaris2.x b/fortran/config/solaris2.x index c96ec40..52df28e 100644 --- a/fortran/config/solaris2.x +++ b/fortran/config/solaris2.x @@ -54,9 +54,11 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then - FFLAGS= - DEBUG_FFLAGS= - PROD_FFLAGS= - PROFILE_FFLAGS= + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" + FFLAGS="" + DEBUG_FFLAGS="" + PROD_FFLAGS="" + PROFILE_FFLAGS="" f9x_flags_set=yes fi diff --git a/fortran/config/sv1-cray b/fortran/config/sv1-cray index 3c46387..e2a4baf 100644 --- a/fortran/config/sv1-cray +++ b/fortran/config/sv1-cray @@ -160,6 +160,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-dp" DEBUG_FFLAGS="-dp" PROD_FFLAGS="-dp" diff --git a/fortran/config/unicos b/fortran/config/unicos index 71201af..541bd78 100644 --- a/fortran/config/unicos +++ b/fortran/config/unicos @@ -158,6 +158,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-dp" DEBUG_FFLAGS="-dp" PROD_FFLAGS="-dp" diff --git a/fortran/config/unicos10.0.X b/fortran/config/unicos10.0.X index 71201af..541bd78 100644 --- a/fortran/config/unicos10.0.X +++ b/fortran/config/unicos10.0.X @@ -158,6 +158,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-dp" DEBUG_FFLAGS="-dp" PROD_FFLAGS="-dp" diff --git a/fortran/config/unicosmk b/fortran/config/unicosmk index 3c46387..e2a4baf 100644 --- a/fortran/config/unicosmk +++ b/fortran/config/unicosmk @@ -160,6 +160,8 @@ if test "X-" = "X-$F9X"; then fi if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-dp" DEBUG_FFLAGS="-dp" PROD_FFLAGS="-dp" diff --git a/fortran/config/unicosmk2.0.5.X b/fortran/config/unicosmk2.0.5.X index 36dab49..68a19a8 100644 --- a/fortran/config/unicosmk2.0.5.X +++ b/fortran/config/unicosmk2.0.5.X @@ -162,6 +162,8 @@ fi if test "X-" = "X-$f9x_flags_set"; then # -Wl passes flags to the linker and -M# will ignore warnings with # number #. Warning 405 was stopping the executable from being built. + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-dp -Wl-M405" DEBUG_FFLAGS="" PROD_FFLAGS="" diff --git a/fortran/config/unicosmk2.0.X b/fortran/config/unicosmk2.0.X index 36dab49..68a19a8 100644 --- a/fortran/config/unicosmk2.0.X +++ b/fortran/config/unicosmk2.0.X @@ -162,6 +162,8 @@ fi if test "X-" = "X-$f9x_flags_set"; then # -Wl passes flags to the linker and -M# will ignore warnings with # number #. Warning 405 was stopping the executable from being built. + F9XSUFFIXFLAG="" + FSEARCH_DIRS="" FFLAGS="-dp -Wl-M405" DEBUG_FFLAGS="" PROD_FFLAGS="" |