[svn-r24997] Added compiler versions for mpich to settings file and configure summary.

For make installcheck, compile and run installed examples using the installed scripts.  They were being compiled but not run.
Add Fortran2003 examples to the run-ex-fortran script when fortran2003 is enabled.
Set flag to -O3 in production mode for Intel compilers other than those with specified other settings.
Gentoo patches:
    Remove unnecessary setting of LD_LIBRARY_PATH from configure.
    Prevent potential array subscript out of bounds error in perform/pio_engine.c and sio_engine.c.

Tested with h5committest on jam, koala, ostrich and platypus, on emu and kite, and parallel tests on jam, koala and platypus with mpich built with gnu 4.8.2 and with intel compilers.
This commit is contained in:
Larry Knox 2014-04-08 23:55:49 -05:00
parent a2c8dc8972
commit f32690b53c
21 changed files with 184 additions and 96 deletions

View File

@ -21,6 +21,8 @@
include $(top_srcdir)/config/commence.am
INSTALL_SCRIPT_FILES = run-c++-ex.sh
# These are the programs that 'make all' or 'make prog' will build and
# which 'make check' will run. List them in the order they should be run.
EXAMPLE_PROG=create readdata writedata compound extend_ds chunks h5group \
@ -28,6 +30,7 @@ EXAMPLE_PROG=create readdata writedata compound extend_ds chunks h5group \
h5tutr_crtgrp h5tutr_crtgrpd h5tutr_extend h5tutr_rdwt \
h5tutr_subset
TEST_SCRIPT=testh5c++.sh
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
# These are the example files to be installed
INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \
@ -35,7 +38,6 @@ INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \
h5tutr_cmprss.cpp h5tutr_crtatt.cpp h5tutr_crtdat.cpp \
h5tutr_crtgrpar.cpp h5tutr_crtgrp.cpp h5tutr_crtgrpd.cpp \
h5tutr_extend.cpp h5tutr_rdwt.cpp h5tutr_subset.cpp
INSTALL_SCRIPT_FILES = run-c++-ex.sh
# Some of the examples depend on files created by running other examples
readdata.chkexe_: create.chkexe_

View File

@ -613,6 +613,7 @@ TRACE = perl $(top_srcdir)/bin/trace
# .chklog files are output from those tests.
# *.clog are from the MPE option.
CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
INSTALL_SCRIPT_FILES = run-c++-ex.sh
# These are the programs that 'make all' or 'make prog' will build and
# which 'make check' will run. List them in the order they should be run.
@ -622,6 +623,7 @@ EXAMPLE_PROG = create readdata writedata compound extend_ds chunks h5group \
h5tutr_subset
TEST_SCRIPT = testh5c++.sh
TEST_EXAMPLES_SCRIPT = $(INSTALL_SCRIPT_FILES)
# These are the example files to be installed
INSTALL_FILES = create.cpp readdata.cpp writedata.cpp compound.cpp \
@ -630,7 +632,6 @@ INSTALL_FILES = create.cpp readdata.cpp writedata.cpp compound.cpp \
h5tutr_crtgrpar.cpp h5tutr_crtgrp.cpp h5tutr_crtgrpd.cpp \
h5tutr_extend.cpp h5tutr_rdwt.cpp h5tutr_subset.cpp
INSTALL_SCRIPT_FILES = run-c++-ex.sh
# Tell conclude.am that these are C++ tests.
CXX_API = yes
@ -1101,27 +1102,34 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
fi
installcheck-local:
@if test "$(STATIC_SHARED)" = "static, shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
$(MAKE) $(AM_MAKEFLAGS) clean; \
H5CCFLAGS="" $(MAKE) $(AM_MAKEFLAGS) check; \
elif test "$(STATIC_SHARED)" = "shared"; then \
elif test "$(STATIC_SHARED)" = "shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
else \
else \
$(MAKE) $(AM_MAKEFLAGS) check; \
fi
fi
@if test "$(INSTALL_FILES)" -a $(TEST_EXAMPLES_SCRIPT) -a -d $(EXAMPLEDIR); then \
echo "============================"; \
echo "Testing $(TEST_EXAMPLES_SCRIPT)"; \
echo "============================"; \
(cd $(EXAMPLEDIR); \
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.

View File

@ -91,27 +91,32 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
fi
installcheck-local:
@if test "$(STATIC_SHARED)" = "static, shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
$(MAKE) $(AM_MAKEFLAGS) clean; \
H5CCFLAGS="" $(MAKE) $(AM_MAKEFLAGS) check; \
elif test "$(STATIC_SHARED)" = "shared"; then \
elif test "$(STATIC_SHARED)" = "shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
else \
else \
$(MAKE) $(AM_MAKEFLAGS) check; \
fi
fi
@if test "$(INSTALL_FILES)" -a $(TEST_EXAMPLES_SCRIPT) -a -d $(EXAMPLEDIR); then \
echo "============================"; \
echo "Testing $(TEST_EXAMPLES_SCRIPT)"; \
echo "============================"; \
(cd $(EXAMPLEDIR); \
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi

View File

@ -92,12 +92,8 @@ fi
#
# Please follow the pattern below by adding new versions at the top, copying
# the information from the previous version and adding modifications to that.
# The default at the bottom will apply if no earlier version matches.
case "$cc_vendor-$cc_version" in
icc-11* | icc-12*)
# -s became obsolete; we also fixed bugs that allow us to enable higher level
# of optimization starting with 1.8.7
PROD_CFLAGS="-O3"
;;
icc-10*)
PROD_CFLAGS="-O1 -Wl,-s"
;;
@ -105,6 +101,11 @@ case "$cc_vendor-$cc_version" in
# v8.0 -O3 infinite loops when compiling test/tselect.c. Use -O2.
PROD_CFLAGS="-O2 -Wl,-s"
;;
icc-*)
# -s became obsolete; we also fixed bugs that allow us to enable higher level
# of optimization starting with 1.8.7
PROD_CFLAGS="-O3"
;;
esac
# Clear cc info if no flags set

View File

@ -41,7 +41,6 @@ fi
# Figure out Intel C compiler flags
. $srcdir/config/intel-flags
echo "CC_BASENAME is $CC_BASENAME."
# Use default Fortran 90 compiler according to what C compiler is used.
if test "X-" = "X-$FC"; then
case $CC_BASENAME in
@ -136,6 +135,13 @@ case $CC in
cc_version_info=`$CC $CFLAGS $H5_CFLAGS --version 2>&1 | grep -v 'PathScale' |\
grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'`
;;
# this must come before *icc* for the same reason
*mpicc*)
cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -v 2>&1 | grep 'version' |\
sed 's/^[a-z0-9]* for //' |\
sed 's/^\([a-z]* \)/ built with \1/1'`
cc_version_info=`echo $cc_version_info`
;;
*icc*)
cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -V 2>&1 | grep 'Version' |\
@ -154,6 +160,13 @@ case $FC in
grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'`
;;
*mpif90*)
fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -v 2>&1 | grep 'version' |\
sed 's/^[a-z0-9]* for //' |\
sed 's/^\([a-z]* \)/ built with \1/1'`
fc_version_info=`echo $fc_version_info`
;;
*ifc*|*ifort*)
fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Version' |\
sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'`
@ -202,6 +215,12 @@ case $CXX in
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'pgCC'`
;;
*mpicxx*)
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 | grep 'version' |\
sed 's/^[a-z0-9]* for //' |\
sed 's/^\([a-z]* \)/ built with \1/1'`
cxx_version_info=`echo $cxx_version_info`
;;
*)
echo "No match to get cxx_version_info for $CXX"

View File

@ -122,7 +122,7 @@ fi
case $CC in
*cc*)
cc_version_info=`$CC $CFLAGS $H5_CFLAGS -V 2>&1 | grep 'Sun' |\
sed 's/.*\(Sun.*\)/\1 /'`
sed 's/.*\(Sun .*\)/\1 /'`
;;
*)
@ -135,7 +135,7 @@ case $FC in
# The PGI and Intel compilers are automatically detected below
*f90*)
fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Sun' |\
sed 's/.*\(Sun.*\)/\1 /'`
sed 's/.*\(Sun .*\)/\1 /'`
;;
*)
@ -148,7 +148,7 @@ echo "Fortran compiler '$FC' is $fc_version_info"
case $CXX in
*CC*)
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Sun' |\
sed 's/.*\(Sun.*\)/\1 /'`
sed 's/.*\(Sun .*\)/\1 /'`
;;
*)

5
configure vendored
View File

@ -27711,9 +27711,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
## Try to figure out how to print `long long'. Some machines use `%lld'
## and others use `%qd'. There may be more! The final `l' is a
## default in case none of the others work.
## Need to patch up LD_LIBRARY_PATH so that the execution can find all
## the dynamic library. The correct way to do it should be updating
## LD_LIBRARY_PATH along with LDFLAGS or do it with the AC_TRY_RUN macro.
##
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print long long" >&5
$as_echo_n "checking how to print long long... " >&6; }
@ -27721,8 +27718,6 @@ if ${hdf5_cv_printf_ll+:} false; then :
$as_echo_n "(cached) " >&6
else
LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $AM_LDFLAGS $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`"
export LD_LIBRARY_PATH
for hdf5_cv_printf_ll in l ll L q unknown; do
if test "$cross_compiling" = yes; then :

View File

@ -2329,14 +2329,9 @@ AC_TRY_COMPILE(,[
## Try to figure out how to print `long long'. Some machines use `%lld'
## and others use `%qd'. There may be more! The final `l' is a
## default in case none of the others work.
## Need to patch up LD_LIBRARY_PATH so that the execution can find all
## the dynamic library. The correct way to do it should be updating
## LD_LIBRARY_PATH along with LDFLAGS or do it with the AC_TRY_RUN macro.
##
AC_MSG_CHECKING([how to print long long])
AC_CACHE_VAL([hdf5_cv_printf_ll], [
LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $AM_LDFLAGS $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`"
export LD_LIBRARY_PATH
for hdf5_cv_printf_ll in l ll L q unknown; do
AC_TRY_RUN([

View File

@ -25,6 +25,10 @@ if BUILD_PARALLEL_CONDITIONAL
EXAMPLE_PROG_PARA = ph5example
endif
INSTALL_SCRIPT_FILES = run-c-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-all-ex.sh
INSTALL_TOP_FILES = README
# Example programs.
# Don't tell automake about them, because if it knew they were programs,
# it would try to compile them instead of using the h5cc script.
@ -34,7 +38,8 @@ EXAMPLE_PROG = h5_write h5_read h5_extend_write h5_chunk_read h5_compound \
h5_crtatt h5_crtgrp h5_crtdat \
h5_group h5_select h5_attribute h5_mount h5_reference h5_drivers \
h5_ref2reg h5_extlink h5_elink_unix2win h5_shared_mesg
TEST_SCRIPT=testh5cc.sh
TEST_SCRIPT=testh5cc.sh
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
# Install files
# List all file that should be installed in examples directory
@ -45,10 +50,7 @@ INSTALL_FILES = h5_write.c h5_read.c h5_extend_write.c h5_chunk_read.c \
h5_reference.c h5_drivers.c h5_extlink.c h5_elink_unix2win.c \
h5_ref2reg.c h5_shared_mesg.c ph5example.c
INSTALL_SCRIPT_FILES = run-c-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-all-ex.sh
INSTALL_TOP_FILES = README
# How to build examples, using installed version of h5cc
if BUILD_PARALLEL_CONDITIONAL

View File

@ -614,6 +614,9 @@ TRACE = perl $(top_srcdir)/bin/trace
# *.clog are from the MPE option.
CHECK_CLEANFILES = *.chkexe *.chklog *.clog $(EXTLINK_DIRS) *.h5
@BUILD_PARALLEL_CONDITIONAL_TRUE@EXAMPLE_PROG_PARA = ph5example
INSTALL_SCRIPT_FILES = run-c-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-all-ex.sh
INSTALL_TOP_FILES = README
# Example programs.
# Don't tell automake about them, because if it knew they were programs,
@ -625,7 +628,8 @@ EXAMPLE_PROG = h5_write h5_read h5_extend_write h5_chunk_read h5_compound \
h5_group h5_select h5_attribute h5_mount h5_reference h5_drivers \
h5_ref2reg h5_extlink h5_elink_unix2win h5_shared_mesg
TEST_SCRIPT = testh5cc.sh
TEST_SCRIPT = testh5cc.sh
TEST_EXAMPLES_SCRIPT = $(INSTALL_SCRIPT_FILES)
# Install files
# List all file that should be installed in examples directory
@ -636,9 +640,6 @@ INSTALL_FILES = h5_write.c h5_read.c h5_extend_write.c h5_chunk_read.c \
h5_reference.c h5_drivers.c h5_extlink.c h5_elink_unix2win.c \
h5_ref2reg.c h5_shared_mesg.c ph5example.c
INSTALL_SCRIPT_FILES = run-c-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-all-ex.sh
INSTALL_TOP_FILES = README
# The external link examples demonstrate how to use paths; they need
# directories to be created to do this.
@ -1131,27 +1132,34 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
fi
installcheck-local:
@if test "$(STATIC_SHARED)" = "static, shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
$(MAKE) $(AM_MAKEFLAGS) clean; \
H5CCFLAGS="" $(MAKE) $(AM_MAKEFLAGS) check; \
elif test "$(STATIC_SHARED)" = "shared"; then \
elif test "$(STATIC_SHARED)" = "shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
else \
else \
$(MAKE) $(AM_MAKEFLAGS) check; \
fi
fi
@if test "$(INSTALL_FILES)" -a $(TEST_EXAMPLES_SCRIPT) -a -d $(EXAMPLEDIR); then \
echo "============================"; \
echo "Testing $(TEST_EXAMPLES_SCRIPT)"; \
echo "============================"; \
(cd $(EXAMPLEDIR); \
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.

View File

@ -26,6 +26,8 @@ if BUILD_PARALLEL_CONDITIONAL
EXAMPLE_PROG_PARA=ph5example
endif
INSTALL_SCRIPT_FILES = run-fortran-ex.sh
# These are the programs that 'make all' or 'make tests' will build and
# that 'make check' will run. List them in the order in which they should
# be run.
@ -41,7 +43,6 @@ INSTALL_FILES=h5_crtdat.f90 h5_rdwt.f90 \
h5_crtatt.f90 h5_crtgrp.f90 h5_crtgrpar.f90 h5_crtgrpd.f90 \
h5_extend.f90 h5_subset.f90 h5_cmprss.f90 hyperslab.f90 selectele.f90 refobjexample.f90 \
refregexample.f90 mountexample.f90 compound.f90 ph5example.f90
INSTALL_SCRIPT_FILES = run-fortran-ex.sh
# Add attention tests for Fortran 2003 features
@ -52,6 +53,7 @@ if FORTRAN_2003_CONDITIONAL_F
compound_fortran2003.f90 compound_complex_fortran2003.f90
endif
TEST_SCRIPT=testh5fc.sh
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
# Mark this directory as part of the Fortran API
FORTRAN_API=yes

View File

@ -624,6 +624,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
# Compile parallel fortran examples only if parallel is enabled
@BUILD_PARALLEL_CONDITIONAL_TRUE@EXAMPLE_PROG_PARA = ph5example
INSTALL_SCRIPT_FILES = run-fortran-ex.sh
# These are the programs that 'make all' or 'make tests' will build and
# that 'make check' will run. List them in the order in which they should
@ -641,8 +642,8 @@ INSTALL_FILES = h5_crtdat.f90 h5_rdwt.f90 h5_crtatt.f90 h5_crtgrp.f90 \
h5_cmprss.f90 hyperslab.f90 selectele.f90 refobjexample.f90 \
refregexample.f90 mountexample.f90 compound.f90 ph5example.f90 \
$(am__append_2)
INSTALL_SCRIPT_FILES = run-fortran-ex.sh
TEST_SCRIPT = testh5fc.sh
TEST_EXAMPLES_SCRIPT = $(INSTALL_SCRIPT_FILES)
# Mark this directory as part of the Fortran API
FORTRAN_API = yes
@ -1122,27 +1123,34 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
fi
installcheck-local:
@if test "$(STATIC_SHARED)" = "static, shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
$(MAKE) $(AM_MAKEFLAGS) clean; \
H5CCFLAGS="" $(MAKE) $(AM_MAKEFLAGS) check; \
elif test "$(STATIC_SHARED)" = "shared"; then \
elif test "$(STATIC_SHARED)" = "shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
else \
else \
$(MAKE) $(AM_MAKEFLAGS) check; \
fi
fi
@if test "$(INSTALL_FILES)" -a $(TEST_EXAMPLES_SCRIPT) -a -d $(EXAMPLEDIR); then \
echo "============================"; \
echo "Testing $(TEST_EXAMPLES_SCRIPT)"; \
echo "============================"; \
(cd $(EXAMPLEDIR); \
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.

View File

@ -63,19 +63,15 @@ RunTest()
./$TEST_EXEC
}
F2003_ENABLED=@HAVE_FORTRAN_2003@
################## MAIN ##################
# Run tests
if [ $? -eq 0 ]
then
if (RunTest h5_cmprss &&\
rm h5_cmprss &&\
RunTest h5_crtdat &&\
if (RunTest h5_crtdat &&\
rm h5_crtdat &&\
RunTest h5_extend &&\
rm h5_extend &&\
RunTest h5_rdwt &&\
rm h5_rdwt &&\
RunTest h5_crtatt &&\
@ -86,14 +82,16 @@ then
rm h5_crtgrpar &&\
RunTest h5_crtgrpd &&\
rm h5_crtgrpd &&\
RunTest h5_extend &&\
rm h5_extend &&\
RunTest h5_subset &&\
rm h5_subset &&\
RunTest h5_cmprss &&\
rm h5_cmprss &&\
RunTest hyperslab &&\
rm hyperslab &&\
RunTest selectele &&\
rm selectele &&\
RunTest grpit &&\
rm grpit &&\
RunTest refobjexample &&\
rm refobjexample &&\
RunTest refregexample &&\
@ -108,6 +106,24 @@ then
fi
fi
if [ $EXIT_VALUE -eq ${EXIT_SUCCESS} -a "$F2003_ENABLED" = "yes" ]
then
# Add attention tests for Fortran 2003 features
if (RunTest rwdset_fortran2003 &&\
rm rwdset_fortran2003 &&\
RunTest nested_derived_type &&\
rm nested_derived_type &&\
RunTest compound_fortran2003 &&\
rm compound_fortran2003 &&\
RunTest compound_complex_fortran2003 &&\
rm compound_complex_fortran2003); then
EXIT_VALUE=${EXIT_SUCCESS}
else
EXIT_VALUE=${EXIT_FAILURE}
fi
fi
# Cleanup
rm *.o
rm *.h5

View File

@ -24,6 +24,7 @@ include $(top_srcdir)/config/commence.am
# These are the programs that 'make all' or 'make prog' will build and
# which 'make check' will run. List them in the order they should be run.
EXAMPLE_PROG=ptExampleFL
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
# These are the example files to be installed
INSTALL_FILES=ptExampleFL.cpp

View File

@ -616,6 +616,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
# These are the programs that 'make all' or 'make prog' will build and
# which 'make check' will run. List them in the order they should be run.
EXAMPLE_PROG = ptExampleFL
TEST_EXAMPLES_SCRIPT = $(INSTALL_SCRIPT_FILES)
# These are the example files to be installed
INSTALL_FILES = ptExampleFL.cpp
@ -1065,27 +1066,34 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
fi
installcheck-local:
@if test "$(STATIC_SHARED)" = "static, shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
$(MAKE) $(AM_MAKEFLAGS) clean; \
H5CCFLAGS="" $(MAKE) $(AM_MAKEFLAGS) check; \
elif test "$(STATIC_SHARED)" = "shared"; then \
elif test "$(STATIC_SHARED)" = "shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
else \
else \
$(MAKE) $(AM_MAKEFLAGS) check; \
fi
fi
@if test "$(INSTALL_FILES)" -a $(TEST_EXAMPLES_SCRIPT) -a -d $(EXAMPLEDIR); then \
echo "============================"; \
echo "Testing $(TEST_EXAMPLES_SCRIPT)"; \
echo "============================"; \
(cd $(EXAMPLEDIR); \
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.

View File

@ -29,6 +29,8 @@ endif
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl/c
EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
INSTALL_SCRIPT_FILES = run-hlc-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-hl-ex.sh
# Example programs.
# Don't tell automake about them, because if it knew they were programs,
@ -40,6 +42,7 @@ EXAMPLE_PROG = ex_lite1 ex_lite2 ex_lite3 ptExampleFL \
ex_table_05 ex_table_06 ex_table_07 ex_table_08 \
ex_table_09 ex_table_10 ex_table_11 ex_table_12 \
ex_ds1
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
# Install files
# List all file that should be installed in examples directory
@ -50,8 +53,6 @@ INSTALL_FILES = ex_lite1.c ex_lite2.c ex_lite3.c ptExampleFL.c \
ex_table_09.c ex_table_10.c ex_table_11.c ex_table_12.c \
ex_ds1.c image24pixel.txt image8.txt pal_rgb.h
INSTALL_SCRIPT_FILES = run-hlc-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-hl-ex.sh
# Additional dependencies for each program are listed below.
if BUILD_PARALLEL_CONDITIONAL

View File

@ -618,6 +618,8 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl/c
EXAMPLETOPDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
INSTALL_SCRIPT_FILES = run-hlc-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-hl-ex.sh
# Example programs.
# Don't tell automake about them, because if it knew they were programs,
@ -630,6 +632,7 @@ EXAMPLE_PROG = ex_lite1 ex_lite2 ex_lite3 ptExampleFL \
ex_table_09 ex_table_10 ex_table_11 ex_table_12 \
ex_ds1
TEST_EXAMPLES_SCRIPT = $(INSTALL_SCRIPT_FILES)
# Install files
# List all file that should be installed in examples directory
@ -640,8 +643,6 @@ INSTALL_FILES = ex_lite1.c ex_lite2.c ex_lite3.c ptExampleFL.c \
ex_table_09.c ex_table_10.c ex_table_11.c ex_table_12.c \
ex_ds1.c image24pixel.txt image8.txt pal_rgb.h
INSTALL_SCRIPT_FILES = run-hlc-ex.sh
INSTALL_TOP_SCRIPT_FILES = run-hl-ex.sh
@BUILD_SHARED_SZIP_CONDITIONAL_TRUE@LD_LIBRARY_PATH = $(LL_PATH)
# Assume that all tests in this directory are examples, and tell
@ -1105,27 +1106,34 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
fi
installcheck-local:
@if test "$(STATIC_SHARED)" = "static, shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
$(MAKE) $(AM_MAKEFLAGS) clean; \
H5CCFLAGS="" $(MAKE) $(AM_MAKEFLAGS) check; \
elif test "$(STATIC_SHARED)" = "shared"; then \
elif test "$(STATIC_SHARED)" = "shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
else \
else \
$(MAKE) $(AM_MAKEFLAGS) check; \
fi
fi
@if test "$(INSTALL_FILES)" -a $(TEST_EXAMPLES_SCRIPT) -a -d $(EXAMPLEDIR); then \
echo "============================"; \
echo "Testing $(TEST_EXAMPLES_SCRIPT)"; \
echo "============================"; \
(cd $(EXAMPLEDIR); \
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.

View File

@ -32,6 +32,7 @@ endif
# We don't tell automake about these programs so that it doesn't try to
# compile them with the regular fortran compiler.
EXAMPLE_PROG=exlite ex_ds1
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
# List files to be installed here
INSTALL_FILES= exlite.f90 ex_ds1.f90

View File

@ -622,6 +622,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
# We don't tell automake about these programs so that it doesn't try to
# compile them with the regular fortran compiler.
EXAMPLE_PROG = exlite ex_ds1
TEST_EXAMPLES_SCRIPT = $(INSTALL_SCRIPT_FILES)
# List files to be installed here
INSTALL_FILES = exlite.f90 ex_ds1.f90
@ -1068,27 +1069,34 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
fi
installcheck-local:
@if test "$(STATIC_SHARED)" = "static, shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
$(MAKE) $(AM_MAKEFLAGS) clean; \
H5CCFLAGS="" $(MAKE) $(AM_MAKEFLAGS) check; \
elif test "$(STATIC_SHARED)" = "shared"; then \
elif test "$(STATIC_SHARED)" = "shared"; then \
H5CCFLAGS="-shlib" $(MAKE) $(AM_MAKEFLAGS) check; \
else \
else \
$(MAKE) $(AM_MAKEFLAGS) check; \
fi
fi
@if test "$(INSTALL_FILES)" -a $(TEST_EXAMPLES_SCRIPT) -a -d $(EXAMPLEDIR); then \
echo "============================"; \
echo "Testing $(TEST_EXAMPLES_SCRIPT)"; \
echo "============================"; \
(cd $(EXAMPLEDIR); \
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.

View File

@ -437,7 +437,7 @@ pio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si
subdir = (user ? user : login);
if (subdir) {
for (i = 0; i < size && prefix[i]; i++)
for (i = 0; i < size-1 && prefix[i]; i++)
fullname[i] = prefix[i];
fullname[i++] = '/';

View File

@ -333,7 +333,7 @@ sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si
subdir = (user ? user : login);
if (subdir) {
for (i = 0; i < size && prefix[i]; i++)
for (i = 0; i < size-1 && prefix[i]; i++)
fullname[i] = prefix[i];
fullname[i++] = '/';