summaryrefslogtreecommitdiffstats
path: root/hl/examples
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2010-07-09 02:52:14 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2010-07-09 02:52:14 (GMT)
commit10a8b060ca69eafe2eb73e86e7ed56432a2650d5 (patch)
tree9fb057c2a785fdd7691fb69322368602ff4e2ba5 /hl/examples
parent5d5ffe2373f1f5db3e49da5095466c94d16dca19 (diff)
downloadhdf5-10a8b060ca69eafe2eb73e86e7ed56432a2650d5.zip
hdf5-10a8b060ca69eafe2eb73e86e7ed56432a2650d5.tar.gz
hdf5-10a8b060ca69eafe2eb73e86e7ed56432a2650d5.tar.bz2
[svn-r19059] Brought changes from hdf5_1_8 to add version information for fortran and c++ compilers in libhdf5.settings file and configure output (r18836), to install examples as part of make install (r18680), and to provide scripts to compile and run the examples after they are installed (r18817).
Tested with new/h5committest on amani, heiwa, and jam.
Diffstat (limited to 'hl/examples')
-rw-r--r--hl/examples/Makefile.am13
-rw-r--r--hl/examples/Makefile.in43
-rwxr-xr-xhl/examples/run-hl-ex.sh36
-rwxr-xr-xhl/examples/run-hlc-ex.sh.in102
4 files changed, 186 insertions, 8 deletions
diff --git a/hl/examples/Makefile.am b/hl/examples/Makefile.am
index 9d601ee..64a29d4 100644
--- a/hl/examples/Makefile.am
+++ b/hl/examples/Makefile.am
@@ -26,7 +26,8 @@ if BUILD_PARALLEL_CONDITIONAL
endif
# Example directory
-EXAMPLEDIR=$(docdir)/hdf5/examples/hl/c
+EXAMPLEDIR=${DESTDIR}/$(exec_prefix)/share/hdf5_examples/hl/c
+EXAMPLETOPDIR=${DESTDIR}/$(exec_prefix)/share/hdf5_examples/hl
# Example programs.
# Don't tell automake about them, because if it knew they were programs,
@@ -41,7 +42,15 @@ TEST_PROG = ex_lite1 ex_lite2 ex_lite3 ptExampleFL ptExampleVL \
# Install files
# List all file that should be installed in examples directory
-INSTALL_FILES = ptExampleFL.c ptExampleVL.c
+INSTALL_FILES = ex_lite1.c ex_lite2.c ex_lite3.c ptExampleFL.c ptExampleVL.c \
+ ex_image1.c ex_image2.c \
+ ex_table_01.c ex_table_02.c ex_table_03.c ex_table_04.c \
+ ex_table_05.c ex_table_06.c ex_table_07.c ex_table_08.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
diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in
index 2b18c3d..5f3e801 100644
--- a/hl/examples/Makefile.in
+++ b/hl/examples/Makefile.in
@@ -55,7 +55,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/config/commence.am \
+ $(srcdir)/run-hlc-ex.sh.in $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am \
$(top_srcdir)/config/examples.am
TESTS =
@@ -66,7 +66,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = run-hlc-ex.sh
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
@@ -111,6 +111,7 @@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
+CXX_VERSION = @CXX_VERSION@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFAULT_API_VERSION = @DEFAULT_API_VERSION@
@@ -136,6 +137,7 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
+FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
@@ -333,7 +335,8 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
@BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROG_PARA =
# Example directory
-EXAMPLEDIR = $(docdir)/hdf5/examples/hl/c
+EXAMPLEDIR = ${DESTDIR}/$(exec_prefix)/share/hdf5_examples/hl/c
+EXAMPLETOPDIR = ${DESTDIR}/$(exec_prefix)/share/hdf5_examples/hl
# Example programs.
# Don't tell automake about them, because if it knew they were programs,
@@ -349,7 +352,15 @@ TEST_PROG = ex_lite1 ex_lite2 ex_lite3 ptExampleFL ptExampleVL \
# Install files
# List all file that should be installed in examples directory
-INSTALL_FILES = ptExampleFL.c ptExampleVL.c
+INSTALL_FILES = ex_lite1.c ex_lite2.c ex_lite3.c ptExampleFL.c ptExampleVL.c \
+ ex_image1.c ex_image2.c \
+ ex_table_01.c ex_table_02.c ex_table_03.c ex_table_04.c \
+ ex_table_05.c ex_table_06.c ex_table_07.c ex_table_08.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
# Assume that all tests in this directory are examples, and tell
# conclude.am when to build them.
@@ -408,6 +419,8 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+run-hlc-ex.sh: $(top_builddir)/config.status $(srcdir)/run-hlc-ex.sh.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
@@ -617,6 +630,8 @@ ex_table12: $(srcdir)/ex_table12.c
# How to create EXAMPLEDIR if it doesn't already exist
$(EXAMPLEDIR):
-$(top_srcdir)/bin/mkdirs $@
+$(EXAMPLETOPDIR):
+ -$(top_srcdir)/bin/mkdirs $@
# Install and uninstall rules. We install the source files, not the
# example programs themselves.
@@ -631,10 +646,26 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
(set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1);\
fi; \
done
+ @for f in X $(INSTALL_SCRIPT_FILES); do \
+ if test $$f != X; then \
+ (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\
+ fi; \
+ done
+ @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \
+ if test $$f != X; then \
+ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \
+ fi; \
+ done
uninstall-examples:
- @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
- set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
+ @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
+ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
+ fi
+ @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
+ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
+ fi
+ @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
+ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
installcheck-local:
diff --git a/hl/examples/run-hl-ex.sh b/hl/examples/run-hl-ex.sh
new file mode 100755
index 0000000..0478f76
--- /dev/null
+++ b/hl/examples/run-hl-ex.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html. COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page. It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+# access to either file, you may request a copy from help@hdfgroup.org.
+
+#
+# This file: run-hl-ex.sh
+# Written by: Larry Knox
+# Date: May 11, 2010
+#
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# #
+# This script will run the scripts to compile and run the hdf5 hl examples. #
+# #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+if (echo "Run hl c examples" && \
+ (cd c; sh ./run-hlc-ex.sh) && \
+ echo "Run hl fortran examples" && \
+ (cd fortran; sh ./run-hlfortran-ex.sh) && \
+ echo "Run hl c++ examples" && \
+ (cd c++; sh ./run-hlc++-ex.sh)); then
+ echo "Finished running hl examples"
+ exit 0
+else
+ exit 1
+fi
diff --git a/hl/examples/run-hlc-ex.sh.in b/hl/examples/run-hlc-ex.sh.in
new file mode 100755
index 0000000..d66d9e0
--- /dev/null
+++ b/hl/examples/run-hlc-ex.sh.in
@@ -0,0 +1,102 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html. COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page. It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+# access to either file, you may request a copy from help@hdfgroup.org.
+
+#
+# This file: run-hlc-ex.sh
+# Written by: Larry Knox
+# Date: May 11, 2010
+#
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# #
+# This script will compile and run the c examples from source files installed #
+# in .../share/hdf5_examples/hl/c using h5cc or h5pc. The order for running #
+# programs with RunTest in the MAIN section below is taken from the Makefile. #
+# The order is important since some of the test programs use data files created #
+# by earlier test programs. Any future additions should be placed accordingly. #
+# #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+# Initializations
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+# Where the tool is installed.
+prefix="${prefix:-${DESTDIR}/@prefix@}"
+PARALLEL=@PARALLEL@ # Am I in parallel mode?
+AR="@AR@"
+RANLIB="@RANLIB@"
+if [ "$PARALLEL" = no ]; then
+ H5TOOL="h5cc" # The tool name
+else
+ H5TOOL="h5pcc" # The tool name
+fi
+H5TOOL_BIN="${prefix}/bin/${H5TOOL}" # The path of the tool binary
+
+#### Run test ####
+RunTest()
+{
+ Test=$1".c"
+
+ echo
+ echo "################# $1 #################"
+ ${H5TOOL_BIN} $Test
+ if [ $? -ne 0 ]
+ then
+ echo "messed up compiling $Test"
+ exit 1
+ fi
+ ./a.out
+}
+
+
+
+################## MAIN ##################
+
+# Run tests
+if [ $? -eq 0 ]
+then
+ if (RunTest ex_lite1 &&\
+ RunTest ex_lite2 &&\
+ RunTest ex_lite3 &&\
+ RunTest ptExampleFL &&\
+ RunTest ptExampleVL &&\
+ RunTest ex_image1 &&\
+ RunTest ex_image2 &&\
+ RunTest ex_table_01 &&\
+ RunTest ex_table_02 &&\
+ RunTest ex_table_03 &&\
+ RunTest ex_table_04 &&\
+ RunTest ex_table_05 &&
+ RunTest ex_table_06 &&\
+ RunTest ex_table_07 &&\
+ RunTest ex_table_08 &&\
+ RunTest ex_table_09 &&\
+ RunTest ex_table_10 &&\
+ RunTest ex_table_11 &&\
+ RunTest ex_table_12 &&\
+ RunTest ex_ds1); then
+ EXIT_VALUE=${EXIT_SUCCESS}
+ else
+ EXIT_VALUE=${EXIT_FAILURE}
+ fi
+fi
+
+# Cleanup
+rm a.out
+rm *.o
+rm *.h5
+echo
+
+exit $EXIT_VALUE
+