summaryrefslogtreecommitdiffstats
path: root/hl/c++
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/c++
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/c++')
-rw-r--r--hl/c++/Makefile.in2
-rw-r--r--hl/c++/examples/Makefile.am3
-rw-r--r--hl/c++/examples/Makefile.in33
-rwxr-xr-xhl/c++/examples/run-hlc++-ex.sh.in80
-rw-r--r--hl/c++/src/Makefile.in2
-rw-r--r--hl/c++/test/Makefile.in2
6 files changed, 116 insertions, 6 deletions
diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in
index 95b16b2..51a5d04 100644
--- a/hl/c++/Makefile.in
+++ b/hl/c++/Makefile.in
@@ -145,6 +145,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@
@@ -170,6 +171,7 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
+FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/c++/examples/Makefile.am b/hl/c++/examples/Makefile.am
index 7ccc92b..da1580a 100644
--- a/hl/c++/examples/Makefile.am
+++ b/hl/c++/examples/Makefile.am
@@ -27,12 +27,13 @@ TEST_PROG=ptExampleFL ptExampleVL
# These are the example files to be installed
INSTALL_FILES=ptExampleFL.cpp ptExampleVL.cpp
+INSTALL_SCRIPT_FILES = run-hlc++-ex.sh
# Tell conclude.am that these are C++ tests.
CXX_API=yes
# Where to install examples
-EXAMPLEDIR=$(docdir)/hdf5/examples/hl/c++
+EXAMPLEDIR=${DESTDIR}/$(exec_prefix)/share/hdf5_examples/hl/c++
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP)
diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in
index fd1a100..d178cb6 100644
--- a/hl/c++/examples/Makefile.in
+++ b/hl/c++/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@
@@ -337,12 +339,13 @@ TEST_PROG = ptExampleFL ptExampleVL
# These are the example files to be installed
INSTALL_FILES = ptExampleFL.cpp ptExampleVL.cpp
+INSTALL_SCRIPT_FILES = run-hlc++-ex.sh
# Tell conclude.am that these are C++ tests.
CXX_API = yes
# Where to install examples
-EXAMPLEDIR = $(docdir)/hdf5/examples/hl/c++
+EXAMPLEDIR = ${DESTDIR}/$(exec_prefix)/share/hdf5_examples/hl/c++
# Assume that all tests in this directory are examples, and tell
# conclude.am when to build them.
@@ -401,6 +404,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
@@ -584,6 +589,8 @@ ptExampleVL: ptExampleVL.cpp
# 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.
@@ -598,10 +605,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/c++/examples/run-hlc++-ex.sh.in b/hl/c++/examples/run-hlc++-ex.sh.in
new file mode 100755
index 0000000..4e6b1fb
--- /dev/null
+++ b/hl/c++/examples/run-hlc++-ex.sh.in
@@ -0,0 +1,80 @@
+#! /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 h5c++. 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@}"
+AR="@AR@"
+RANLIB="@RANLIB@"
+H5TOOL="h5c++" # The tool name
+H5TOOL_BIN="${prefix}/bin/${H5TOOL}" # The path of the tool binary
+
+#### Run test ####
+RunTest()
+{
+ Test=$1".cpp"
+
+ 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 ptExampleFL &&\
+ RunTest ptExampleVL); then
+ EXIT_VALUE=${EXIT_SUCCESS}
+ else
+ EXIT_VALUE=${EXIT_FAILURE}
+ fi
+fi
+
+# Cleanup
+rm a.out
+rm *.o
+rm *.h5
+echo
+
+exit $EXIT_VALUE
+
diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in
index 325323a..a58de46 100644
--- a/hl/c++/src/Makefile.in
+++ b/hl/c++/src/Makefile.in
@@ -157,6 +157,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@
@@ -182,6 +183,7 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
+FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in
index fc59115..decb2d6 100644
--- a/hl/c++/test/Makefile.in
+++ b/hl/c++/test/Makefile.in
@@ -131,6 +131,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@
@@ -156,6 +157,7 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
+FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@