[svn-r19592] Bug fix: since the addition of

RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
kind of mess things up for the parallel HDF5 configure.
Changed it to 
    RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA MP_PROCS=1 MP_TASKS_PER_NODE=1 poe"}
if --enable-parallel.

Also merge powerpc-ibm-aix5.x with ibm-aix by making powerpc-ibm-aix5.x to
source ibm-aix just like ibm-aix6.x.  This is in preparation that all AIX
platforms will eventually just use ibm-aix directly.

Fixed a small problme in ibm-flags: some older xlc (e.g. v7.1) prints the
version information with a leading blank. So, accommodate this pattern by
removing the "^".

Tested: LLNL uP, 32/64bits, serial/parallel. (parallel has tests failed
but this change is mainily for configure issues.)
Also tested BP, 32/64bits but serial only.
This commit is contained in:
Albert Cheng 2010-10-13 18:25:23 -05:00
parent 141a40047f
commit ffbf295204
4 changed files with 12 additions and 157 deletions

View File

@ -31,14 +31,16 @@ if test "X-" = "X-$CC"; then
fi
# Define RUNPARALLEL if parallel mode is enabled or a parallel compiler used.
if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpcc_r; then
RUNPARALLEL=${RUNPARALLEL="env MP_PROCS=\$\${NPROCS:=3} MP_TASKS_PER_NODE=\$\${NPROCS:=3} poe"}
fi
# Temporary patch for Bug 1678. -q32 binary default to run with smaller memory.
# Define RUNSERIAL: Temporary patch for Bug 1678. -q32 binary default to run
# with smaller memory.
# Ask for more memory so that "make check" will pass. Not necessary for -q64
# mode but it does no harm.
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpcc_r; then
RUNPARALLEL=${RUNPARALLEL="env MP_PROCS=\$\${NPROCS:=3} MP_TASKS_PER_NODE=\$\${NPROCS:=3} poe"}
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA MP_PROCS=1 MP_TASKS_PER_NODE=1 poe"}
else
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
fi
#----------------------------------------------------------------------------

View File

@ -15,7 +15,7 @@
# Configuration file for building on the IBM AIX 6.X platforms.
# 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 modesrcdir/config/ibm-aix
# the various compile modes.
# Use the generic ibm-aix.
. $srcdir/config/ibm-aix

View File

@ -28,7 +28,7 @@
#
if test X = "X$cc_flags_set"; then
# Verify this is an IBM XL compiler
cc_version="`$CC $CFLAGS -qversion 2>&1 | grep '^IBM XL C/C++'`"
cc_version="`$CC $CFLAGS -qversion 2>&1 | grep 'IBM XL C/C++'`"
if test X != "X$cc_version"; then
cc_vendor="XL"
cc_version="`$CC $CFLAGS -qversion 2>&1 | sed -n 's/Version: \([0-9\.]*\).*/\1/p'`"

View File

@ -1,7 +1,6 @@
# -*- shell-script -*-
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
@ -18,151 +17,5 @@
# after configure starts and defines, among other things, flags for
# the various compile modes.
# Use AIX supplied C compiler by default, xlc for serial, mpcc_r for parallel.
# Make sure this is applied to other API compile options such as C++.
if test "X-" = "X-$CC"; then
if test "X-$enable_parallel" = "X-yes"; then
CC=mpcc_r
CC_BASENAME=mpcc_r
else
CC=xlc
CC_BASENAME=xlc
fi
fi
# Define RUNPARALLEL if parallel mode is enabled or a parallel compiler used.
if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpcc_r; then
RUNPARALLEL=${RUNPARALLEL="env MP_PROCS=\$\${NPROCS:=3} MP_TASKS_PER_NODE=\$\${NPROCS:=3} poe"}
fi
# Temporary patch for Bug 1678. -q32 binary default to run with smaller memory.
# Ask for more memory so that "make check" will pass. Not necessary for -q64
# mode but it does no harm.
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
#----------------------------------------------------------------------------
# Compiler flags. The CPPFLAGS values should not include package debug
# flags like `-DH5G_DEBUG' since these are added with the
# `--enable-debug' switch of configure.
case $CC_BASENAME in
xlc|xlc-*|mpcc_r|mpcc_r-*)
# Turn off shared lib option. It causes some test suite to fail.
enable_shared="${enable_shared:-no}"
# Make sure this is applied to other API compile options such as C++.
AM_CFLAGS="$AM_CFLAGS"
H5_CFLAGS="-qlanglvl=stdc99 $H5_CFLAGS"
DEBUG_CFLAGS="-g -qfullpath"
DEBUG_CPPFLAGS=
# -O causes test/dtypes to fail badly. Turn it off for now.
PROD_CFLAGS=""
PROD_CPPFLAGS=
PROFILE_CFLAGS="-g -qfullpath -pg"
PROFILE_CPPFLAGS=
;;
gcc)
. $srcdir/config/gnu-flags
;;
*)
H5_CFLAGS="$H5_CFLAGS -ansi"
DEBUG_CFLAGS="-g"
DEBUG_CPPFLAGS=
PROD_CFLAGS="-O"
PROD_CPPFLAGS=
PROFILE_CFLAGS="-pg"
PROFILE_CPPFLAGS=
;;
esac
#----------------------------------------------------------------------------
# Values for overriding configuration tests when cross compiling.
# This includes compiling on some machines where the serial front end
# compiles for a parallel back end.
# Set this to `yes' or `no' depending on whether the target is big
# endian or little endian.
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
ac_cv_header_stdc=${ac_cv_header_stdc='yes'}
ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes}
# cache the sizeof of "standard C types" so that configure can run faster.
ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
ac_cv_sizeof___int64=${ac_cv_sizeof___int64=8}
ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t=1}
ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t=1}
ac_cv_sizeof_int_least8_t=${ac_cv_sizeof_int_least8_t=1}
ac_cv_sizeof_uint_least8_t=${ac_cv_sizeof_uint_least8_t=1}
# Do not cache int_fast8_t since the vendor changes often.
ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t=2}
ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t=2}
ac_cv_sizeof_int_least16_t=${ac_cv_sizeof_int_least16_t=2}
ac_cv_sizeof_uint_least16_t=${ac_cv_sizeof_uint_least16_t=2}
# Do not cache int_fast16_t since the vendor changes often.
ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t=4}
ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t=4}
ac_cv_sizeof_int_least32_t=${ac_cv_sizeof_int_least32_t=4}
ac_cv_sizeof_uint_least32_t=${ac_cv_sizeof_uint_least32_t=4}
ac_cv_sizeof_int_fast32_t=${ac_cv_sizeof_int_fast32_t=4}
ac_cv_sizeof_uint_fast32_t=${ac_cv_sizeof_uint_fast32_t=4}
ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t=8}
ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t=8}
ac_cv_sizeof_int_least64_t=${ac_cv_sizeof_int_least64_t=8}
ac_cv_sizeof_uint_least64_t=${ac_cv_sizeof_uint_least64_t=8}
ac_cv_sizeof_int_fast64_t=${ac_cv_sizeof_int_fast64_t=8}
ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t=8}
# Don't cache long since it varies between 32 and 64 bits
#ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
# The default Fortran 90 compiler
if test "X-" = "X-$FC"; then
if test "X-$enable_parallel" = "X-yes"; then
FC=mpxlf90_r
else
FC=xlf90
fi
fi
# While we try to avoid setting FCFLAGS directly for use in compilation, in
# this case we need the -k flag present for some configure checks. As such,
# the configure script saves the user's set FCFLAGS before running, and
# restores them when complete. We must then set up both FCFLAGS and H5_FCFLAGS
# to ensure the flag is present for both configure as well as for the build.
if test "X-" = "X-$f9x_flags_set"; then
F9XSUFFIXFLAG="-qsuffix=f=f90"
FCFLAGS="$FCFLAGS -O ${F9XSUFFIXFLAG}"
H5_FCFLAGS="$H5_FCFLAGS -O ${F9XSUFFIXFLAG}"
FSEARCH_DIRS="-I./ -I../src"
DEBUG_FCFLAGS="-O"
PROD_FCFLAGS="-O"
PROFILE_FCFLAGS="-O"
f9x_flags_set=yes
fi
# With poe version 3.2.0.19 or lower(using lpp -l all | grep ppe.poe to check the version number,
# IBM MPI-IO implementation has a bug,
#it cannot generate correct MPI derived datatype. Please uncomment the following line:
#hdf5_cv_mpi_complex_derived_datatype_works=${hdf5_cv_mpi_complex_derived_datatype_works='no'}
# The default C++ compiler
# Use AIX supplied C++ compiler by default.
CXX=${CXX=xlC}
# Added -qweaksymbol to suppress linker messages warning of duplicate
# symbols; these warnings are harmless. - BMR
H5_CXXFLAGS="$H5_CXXFLAGS -qweaksymbol"
AM_CXXFLAGS="$AM_CXXFLAGS"
# Use the generic ibm-aix.
. $srcdir/config/ibm-aix