hdf5/fortran/config/rs6000-ibm-aix4.x
Bill Wendling 7927acd7f3 [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:
2003-04-23 14:25:58 -05:00

45 lines
1.1 KiB
Bash

# -*- shell-script -*-
#
# This file is part of the HDF5 build script. It is processed shortly
# after configure starts and defines, among other things, flags for
# the various compile modes.
#
# See BlankForm in this directory for details.
# Cross compiling defaults
ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
# The default Fortran 90 compiler
#
# HDF5 integers
#
# R_LARGE is the number of digits for the bigest integer supported.
# R_INTEGER is the number of digits in INTEGER
#
# (for the AIX architechture)
#
R_LARGE=18
R_INTEGER=9
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'
SIZE_T='SELECTED_INT_KIND(R_INTEGER)'
OBJECT_NAMELEN_DEFAULT_F=-1
if test "X-" = "X-$F9X"; then
F9X=xlf
fi
if test "X-" = "X-$f9x_flags_set"; then
F9XSUFFIXFLAG="-qsuffix=f=f90"
FFLAGS="-static -O ${F9XSUFFIXFLAG} -qmoddir=./ -k"
FSEARCH_DIRS="-I./ -I../src"
DEBUG_FFLAGS="-O"
PROD_FFLAGS="-O"
PROFILE_FFLAGS="-O"
f9x_flags_set=yes
fi