summaryrefslogtreecommitdiffstats
path: root/c++/examples/Makefile.in
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2005-10-31 21:35:49 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2005-10-31 21:35:49 (GMT)
commit617522e467c817811d80d60ce7e97212c9df4059 (patch)
tree15df31a9336fd427e7cba038852aa033699fe00b /c++/examples/Makefile.in
parent6a53f457cfcbfcd3309dbb6fcbab03095302290e (diff)
downloadhdf5-617522e467c817811d80d60ce7e97212c9df4059.zip
hdf5-617522e467c817811d80d60ce7e97212c9df4059.tar.gz
hdf5-617522e467c817811d80d60ce7e97212c9df4059.tar.bz2
[svn-r11646] Purpose:
Bug fix/feature Description: Added support for -shlib in h5fc and h5c++. Made check-install use -shlib when only shared libraries have been installed. Solution: h5fc and h5c++ didn't recognize -shlib. Stole code from h5cc to link against shared libraries. When static libraries are disabled, the examples Makefiles will automatically use the -shlib option to link against shared libraries. Thus, --disable-static and make check-install should work together. Platforms tested: heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
Diffstat (limited to 'c++/examples/Makefile.in')
-rw-r--r--c++/examples/Makefile.in23
1 files changed, 15 insertions, 8 deletions
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index db940ce..f27e4bd 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -91,6 +91,8 @@ BUILD_PABLO_CONDITIONAL_FALSE = @BUILD_PABLO_CONDITIONAL_FALSE@
BUILD_PABLO_CONDITIONAL_TRUE = @BUILD_PABLO_CONDITIONAL_TRUE@
BUILD_PARALLEL_CONDITIONAL_FALSE = @BUILD_PARALLEL_CONDITIONAL_FALSE@
BUILD_PARALLEL_CONDITIONAL_TRUE = @BUILD_PARALLEL_CONDITIONAL_TRUE@
+BUILD_SHARED_ONLY_CONDITIONAL_FALSE = @BUILD_SHARED_ONLY_CONDITIONAL_FALSE@
+BUILD_SHARED_ONLY_CONDITIONAL_TRUE = @BUILD_SHARED_ONLY_CONDITIONAL_TRUE@
BYTESEX = @BYTESEX@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
@@ -277,12 +279,20 @@ LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5CPP_HL = $(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
docdir = $(exec_prefix)/doc
+@BUILD_SHARED_ONLY_CONDITIONAL_FALSE@H5CC = $(bindir)/h5cc
# Scripts used to build examples
-H5CC = $(bindir)/h5cc
-H5CC_PP = $(bindir)/h5pcc
-H5FC = $(bindir)/h5fc
-H5FC_PP = $(bindir)/h5pfc
+# If only shared libraries have been installed, have h5cc build examples with
+# shared libraries instead of static libraries
+@BUILD_SHARED_ONLY_CONDITIONAL_TRUE@H5CC = $(bindir)/h5cc -shlib
+@BUILD_SHARED_ONLY_CONDITIONAL_FALSE@H5CC_PP = $(bindir)/h5pcc
+@BUILD_SHARED_ONLY_CONDITIONAL_TRUE@H5CC_PP = $(bindir)/h5pcc -shlib
+@BUILD_SHARED_ONLY_CONDITIONAL_FALSE@H5FC = $(bindir)/h5fc
+@BUILD_SHARED_ONLY_CONDITIONAL_TRUE@H5FC = $(bindir)/h5fc -shlib
+@BUILD_SHARED_ONLY_CONDITIONAL_FALSE@H5FC_PP = $(bindir)/h5pfc
+@BUILD_SHARED_ONLY_CONDITIONAL_TRUE@H5FC_PP = $(bindir)/h5pfc -shlib
+@BUILD_SHARED_ONLY_CONDITIONAL_FALSE@H5CPP = $(bindir)/h5c++
+@BUILD_SHARED_ONLY_CONDITIONAL_TRUE@H5CPP = $(bindir)/h5c++ -shlib
# .chkexe files are used to mark tests that have run successfully.
# .chklog files are output from those tests.
@@ -293,9 +303,6 @@ H5FC_PP = $(bindir)/h5pfc
# tell it to clean the example programs, too.
CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
-# Use h5c++ to build examples, instead of reguar C++ compiler
-H5CPP = $(bindir)/h5c++
-
# 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.
TEST_PROG = create readdata writedata compound extend_ds chunks h5group
@@ -546,7 +553,7 @@ installcheck-local:
@$(MAKE) $(AM_MAKEFLAGS) check
# How to build programs using h5c++
-$(EXTRA_PROG): $(H5CPP) $(LIBHDF5) $(LIBH5CPP)
+$(EXTRA_PROG): $(LIBHDF5) $(LIBH5CPP)
$(H5CPP) $(CPPFLAGS) -o $@ $(srcdir)/$@.cpp
# List dependencies for each program. Normally, automake would take