summaryrefslogtreecommitdiffstats
path: root/c++
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2005-09-16 21:16:11 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2005-09-16 21:16:11 (GMT)
commitb656c90c8a86eb7cb2d14baaadcc23fd8f22fbad (patch)
tree4b6a7c7abb7be441d37e87ac0d549b421e540186 /c++
parentcc8f7d98bf0a373e397faecd14e3480cf5c0777d (diff)
downloadhdf5-b656c90c8a86eb7cb2d14baaadcc23fd8f22fbad.zip
hdf5-b656c90c8a86eb7cb2d14baaadcc23fd8f22fbad.tar.gz
hdf5-b656c90c8a86eb7cb2d14baaadcc23fd8f22fbad.tar.bz2
[svn-r11420] Purpose:
Bug fix Description: Disabled C++ shared libraries for Sun Workshop compiler. Solution: This bug only seems to happen when using the -xarch=v9 flag to compile in 64-bit mode, but disabling shared libraries entirely for this compiler is an easier fix (I don't know how to detect 64 bit mode from the command line). The framework for disabling shared libraries for other C++ compilers is in place. Platforms tested: sol, mir, sleipnir, modi4
Diffstat (limited to 'c++')
-rw-r--r--c++/Makefile.in2
-rw-r--r--c++/examples/Makefile.in2
-rw-r--r--c++/src/Makefile.am28
-rw-r--r--c++/src/Makefile.in27
-rw-r--r--c++/test/Makefile.am6
-rw-r--r--c++/test/Makefile.in5
6 files changed, 48 insertions, 22 deletions
diff --git a/c++/Makefile.in b/c++/Makefile.in
index 7582236..5a67161 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -114,6 +114,8 @@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
+CXX_SHARED_CONDITIONAL_FALSE = @CXX_SHARED_CONDITIONAL_FALSE@
+CXX_SHARED_CONDITIONAL_TRUE = @CXX_SHARED_CONDITIONAL_TRUE@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFS = @DEFS@
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index 984eeef..0dfa1fb 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -106,6 +106,8 @@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
+CXX_SHARED_CONDITIONAL_FALSE = @CXX_SHARED_CONDITIONAL_FALSE@
+CXX_SHARED_CONDITIONAL_TRUE = @CXX_SHARED_CONDITIONAL_TRUE@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFS = @DEFS@
diff --git a/c++/src/Makefile.am b/c++/src/Makefile.am
index b828d2f..924d25c 100644
--- a/c++/src/Makefile.am
+++ b/c++/src/Makefile.am
@@ -25,23 +25,29 @@ INCLUDES=-I$(top_srcdir)/src
# This is our main target
lib_LTLIBRARIES=libhdf5_cpp.la
+# Shared C++ libraries aren't universally supported.
+if CXX_SHARED_CONDITIONAL
+else
+ AM_LDFLAGS=-static
+endif
+
bin_SCRIPTS=h5c++
# Source files for the library
-libhdf5_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
- H5Attribute.cpp H5Object.cpp H5PropList.cpp H5FaccProp.cpp \
- H5FcreatProp.cpp H5DcreatProp.cpp H5DxferProp.cpp H5DataType.cpp \
- H5DataSpace.cpp H5AbstractDs.cpp H5AtomType.cpp H5PredType.cpp \
- H5EnumType.cpp H5IntType.cpp H5FloatType.cpp H5StrType.cpp \
- H5ArrayType.cpp H5VarLenType.cpp H5CompType.cpp H5DataSet.cpp \
+libhdf5_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
+ H5Attribute.cpp H5Object.cpp H5PropList.cpp H5FaccProp.cpp \
+ H5FcreatProp.cpp H5DcreatProp.cpp H5DxferProp.cpp H5DataType.cpp \
+ H5DataSpace.cpp H5AbstractDs.cpp H5AtomType.cpp H5PredType.cpp \
+ H5EnumType.cpp H5IntType.cpp H5FloatType.cpp H5StrType.cpp \
+ H5ArrayType.cpp H5VarLenType.cpp H5CompType.cpp H5DataSet.cpp \
H5CommonFG.cpp H5Group.cpp H5File.cpp
# Public headers
-include_HEADERS=H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \
- H5CommonFG.h H5CompType.h H5DataSet.h H5DataSpace.h H5DataType.h \
- H5DcreatProp.h H5DxferProp.h H5EnumType.h H5Exception.h H5FaccProp.h \
- H5FcreatProp.h H5File.h H5FloatType.h H5Group.h H5IdComponent.h \
- H5Include.h H5IntType.h H5Library.h H5Object.h H5PredType.h \
+include_HEADERS=H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \
+ H5CommonFG.h H5CompType.h H5DataSet.h H5DataSpace.h H5DataType.h \
+ H5DcreatProp.h H5DxferProp.h H5EnumType.h H5Exception.h H5FaccProp.h \
+ H5FcreatProp.h H5File.h H5FloatType.h H5Group.h H5IdComponent.h \
+ H5Include.h H5IntType.h H5Library.h H5Object.h H5PredType.h \
H5PropList.h H5StrType.h H5CppDoc.h H5ArrayType.h H5VarLenType.h
# h5c++ and libhdf5.settings are generated during configure. Remove only when
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index be6c457..fdc5e87 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -148,6 +148,8 @@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
+CXX_SHARED_CONDITIONAL_FALSE = @CXX_SHARED_CONDITIONAL_FALSE@
+CXX_SHARED_CONDITIONAL_TRUE = @CXX_SHARED_CONDITIONAL_TRUE@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFS = @DEFS@
@@ -326,24 +328,27 @@ INCLUDES = -I$(top_srcdir)/src
# This is our main target
lib_LTLIBRARIES = libhdf5_cpp.la
+
+# Shared C++ libraries aren't universally supported.
+@CXX_SHARED_CONDITIONAL_FALSE@AM_LDFLAGS = -static
bin_SCRIPTS = h5c++
# Source files for the library
-libhdf5_cpp_la_SOURCES = H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
- H5Attribute.cpp H5Object.cpp H5PropList.cpp H5FaccProp.cpp \
- H5FcreatProp.cpp H5DcreatProp.cpp H5DxferProp.cpp H5DataType.cpp \
- H5DataSpace.cpp H5AbstractDs.cpp H5AtomType.cpp H5PredType.cpp \
- H5EnumType.cpp H5IntType.cpp H5FloatType.cpp H5StrType.cpp \
- H5ArrayType.cpp H5VarLenType.cpp H5CompType.cpp H5DataSet.cpp \
+libhdf5_cpp_la_SOURCES = H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
+ H5Attribute.cpp H5Object.cpp H5PropList.cpp H5FaccProp.cpp \
+ H5FcreatProp.cpp H5DcreatProp.cpp H5DxferProp.cpp H5DataType.cpp \
+ H5DataSpace.cpp H5AbstractDs.cpp H5AtomType.cpp H5PredType.cpp \
+ H5EnumType.cpp H5IntType.cpp H5FloatType.cpp H5StrType.cpp \
+ H5ArrayType.cpp H5VarLenType.cpp H5CompType.cpp H5DataSet.cpp \
H5CommonFG.cpp H5Group.cpp H5File.cpp
# Public headers
-include_HEADERS = H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \
- H5CommonFG.h H5CompType.h H5DataSet.h H5DataSpace.h H5DataType.h \
- H5DcreatProp.h H5DxferProp.h H5EnumType.h H5Exception.h H5FaccProp.h \
- H5FcreatProp.h H5File.h H5FloatType.h H5Group.h H5IdComponent.h \
- H5Include.h H5IntType.h H5Library.h H5Object.h H5PredType.h \
+include_HEADERS = H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \
+ H5CommonFG.h H5CompType.h H5DataSet.h H5DataSpace.h H5DataType.h \
+ H5DcreatProp.h H5DxferProp.h H5EnumType.h H5Exception.h H5FaccProp.h \
+ H5FcreatProp.h H5File.h H5FloatType.h H5Group.h H5IdComponent.h \
+ H5Include.h H5IntType.h H5Library.h H5Object.h H5PredType.h \
H5PropList.h H5StrType.h H5CppDoc.h H5ArrayType.h H5VarLenType.h
diff --git a/c++/test/Makefile.am b/c++/test/Makefile.am
index 2f5edf5..35de101 100644
--- a/c++/test/Makefile.am
+++ b/c++/test/Makefile.am
@@ -22,6 +22,12 @@ include $(top_srcdir)/config/commence.am
# Include src, test, and c++/src directories
INCLUDES=-I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
+# Shared C++ libraries aren't universally supported.
+if CXX_SHARED_CONDITIONAL
+else
+ AM_LDFLAGS=-static
+endif
+
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
TEST_PROG=dsets testhdf5
diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in
index 02fc2c2..6990f59 100644
--- a/c++/test/Makefile.in
+++ b/c++/test/Makefile.in
@@ -137,6 +137,8 @@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
+CXX_SHARED_CONDITIONAL_FALSE = @CXX_SHARED_CONDITIONAL_FALSE@
+CXX_SHARED_CONDITIONAL_TRUE = @CXX_SHARED_CONDITIONAL_TRUE@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFS = @DEFS@
@@ -313,6 +315,9 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Include src, test, and c++/src directories
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
+# Shared C++ libraries aren't universally supported.
+@CXX_SHARED_CONDITIONAL_FALSE@AM_LDFLAGS = -static
+
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
TEST_PROG = dsets testhdf5