summaryrefslogtreecommitdiffstats
path: root/c++
diff options
context:
space:
mode:
Diffstat (limited to 'c++')
-rw-r--r--c++/config/BlankForm126
-rw-r--r--c++/config/commence.in155
-rw-r--r--c++/config/conclude.in184
-rw-r--r--c++/config/depend1.in50
-rw-r--r--c++/config/depend2.in11
-rw-r--r--c++/config/depend3.in7
-rw-r--r--c++/config/depend4.in7
-rw-r--r--c++/config/dependN.in4
-rw-r--r--c++/config/linux-gnu4
-rw-r--r--c++/config/linux-gnulibc116
-rw-r--r--c++/config/linux-gnulibc210
-rw-r--r--c++/config/solaris2.x29
12 files changed, 603 insertions, 0 deletions
diff --git a/c++/config/BlankForm b/c++/config/BlankForm
new file mode 100644
index 0000000..18933e4
--- /dev/null
+++ b/c++/config/BlankForm
@@ -0,0 +1,126 @@
+# -*- shell-script -*-
+#
+# This file is part of the HDF5 build script. It is processed shortly
+# after configure starts and defines, among other things, flags for
+# the various compile modes.
+
+
+#----------------------------------------------------------------------------
+# Compiler flags. The CPPFLAGS values should not include package debug
+# flags like `-DH5G_DEBUG' since these are added with the
+# `--enable-debug' switch of configure.
+#----------------------------------------------------------------------------
+
+
+# Choosing a C++ Compiler
+# -----------------------
+#
+# The user should be able to specify the compiler by setting the CXX
+# environment variable to the name of the compiler and any switches it
+# requires for proper operation. If CXX is unset then this script may
+# set it. If CXX is unset by time this script completes then configure
+# will try `g++' and `CC' in that order (perhaps some others too).
+#
+# Note: Code later in this file may depend on the value of $CXX_BASENAME
+# in order to distinguish between different compilers when
+# deciding which compiler command-line switches to use. This
+# variable is set based on the incoming value of $CC and is only
+# used within this file.
+
+if test -z "$CXX"; then
+ CXX="/some/default/compiler/named/foo -ansi"
+ CXX_BASENAME=foo
+fi
+
+
+# C++ Compiler and Preprocessor Flags
+# -----------------------------------
+#
+# Flags that end with `_CXXFLAGS' are always passed to the compiler.
+# Flags that end with `_CPPFLAGS' are passed to the compiler when
+# compiling but not when linking.
+#
+# DEBUG_CXXFLAGS Flags to pass to the compiler to create a
+# DEBUG_CPPFLAGS library suitable for use with debugging
+# tools. Usually this list will exclude
+# optimization switches (like `-O') and include
+# switches that turn on symbolic debugging
+# support (like `-g').
+#
+# PROD_CXXFLAGS Flags to pass to the compiler to create a
+# PROD_CPPFLAGS production version of the library. These
+# usualy exclude symbolic debugging switches
+# (like `-g') and include optimization switches
+# (like `-O').
+#
+# PROFILE_CXXFLAGS Flags to pass to the compiler to create a
+# PROFILE_CPPFLAGS library suitable for performance testing (like
+# `-pg'). This may or may not include debugging
+# or production flags.
+#
+# CXXFLAGS Flags can be added to this variable which
+# might already be partially initialized. These
+# flags will always be passed to the compiler
+# and should include switches to turn on full
+# warnings. HDF5 attempts to be ANSI and Posix
+# compliant and employ good programming
+# practices resulting in few if any
+# warnings.
+#
+# Warning flags do not have to be added to CFLAGS
+# variable if the compiler is the GNU gcc
+# compiler or a descendent of gcc such as EGCS or PGCC.
+#
+# The CFLAGS should contains *something* or else
+# configure will probably add `-g'. For most
+# systems this isn't a problem but some systems
+# will disable optimizations in favor of the
+# `-g'.
+#
+#
+# These flags should be set according to the compiler being used.
+# There are two ways to check the compiler. You can try using `-v' or
+# `--version' to see if the compiler will print a version string. You
+# can use the value of $CXX_BASENAME which is the base name of the
+# first word in $CXX (note that the value of CXX may have changed
+# above).
+
+case $CXX_BASENAME in
+ g++)
+ CXXFLAGS="$CXXFLAGS -Wsign-compare" #Only works for some versions
+ DEBUG_CXXFLAGS="-g -fverbose-asm"
+ DEBUG_CPPFLAGS=
+ PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
+ PROD_CPPFLAGS=
+ PROFILE_CXXFLAGS="-pg"
+ PROFILE_CPPFLAGS=
+ ;;
+
+ *)
+ CXXFLAGS="$CXXFLAGS"
+ DEBUG_CXXFLAGS="-g"
+ DEBUG_CPPFLAGS=
+ PROD_CXXFLAGS="-O"
+ PROD_CPPFLAGS=
+ PROFILE_CXXFLAGS="-pg"
+ PROFILE_CPPFLAGS=
+ ;;
+esac
+
+
+
+# Overriding Configure Tests
+# --------------------------
+#
+# Values for overriding configuration tests when cross compiling.
+# This includes compiling on some machines where the serial front end
+# compiles for a parallel back end.
+
+# Set this to `yes' or `no' depending on whether the target is big
+# endian or little endian.
+#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
+
+# Set this to the width required by printf() to print type `long
+# long'. For instance, if the format would be `%lld' then set it to
+# `ll' or if the format would be `%qd' set it to `q'.
+#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
diff --git a/c++/config/commence.in b/c++/config/commence.in
new file mode 100644
index 0000000..659436d
--- /dev/null
+++ b/c++/config/commence.in
@@ -0,0 +1,155 @@
+##------------------------------------------------------------ -*- makefile -*-
+## The following section of this makefile comes from the
+## `./config/commence' file which was generated with config.status
+## from `./config/commence.in'.
+##-----------------------------------------------------------------------------
+
+## Things that Make needs
+.SUFFIXES:
+.SUFFIXES: .C .o .lo
+@SET_MAKE@
+
+## Directories to search
+@SEARCH@
+
+## Programs
+SHELL=/bin/sh
+CXX=@CXX@
+CXXFLAGS=@CXXFLAGS@
+CFLAGS=@CFLAGS@
+CPPFLAGS=@CPPFLAGS@
+LDFLAGS=@LDFLAGS@
+ROOT=@ROOT@
+LIBS=@LIBS@
+AR=@AR@
+RANLIB=@RANLIB@
+RM=rm -f
+CP=cp
+INSTALL=@INSTALL@
+INSTALL_PROGRAM=@INSTALL_PROGRAM@
+INSTALL_DATA=@INSTALL_DATA@
+RUNSERIAL=@RUNSERIAL@
+RUNPARALLEL=@RUNPARALLEL@
+RUNTEST=$(RUNSERIAL)
+TRACE=:
+
+## Installation points
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+bindir=@bindir@
+libdir=@libdir@
+includedir=@includedir@
+docdir=@exec_prefix@/doc
+PUB_LIB=$(LIB)
+
+## Shared libraries
+LT_STATIC_EXEC=@LT_STATIC_EXEC@
+DYNAMIC_DIRS=@DYNAMIC_DIRS@
+LT=$(top_builddir)/libtool
+LT_COMPILE=$(LT) --mode=compile $(CXX)
+LT_LINK_LIB=$(LT) --mode=link $(CXX) -rpath $(libdir)
+LT_LINK_EXE=$(LT) --mode=link $(CXX) $(LT_STATIC_EXEC) -rpath $(bindir) $(DYNAMIC_DIRS)
+LT_RUN=$(LT) --mode=execute
+LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
+LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
+LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
+
+## Optional variables. We must declare them here because Irix pmake
+## complains if it sees a reference to a variable which has never been
+## defined. The main makefile is free to redefine these to something else.
+DOCDIR=$(docdir)
+LIB=
+LIB_SRC=
+LIB_OBJ=
+PUB_HDR=
+PUB_PROGS=
+PUB_DOCS=
+PROGS=
+TEST_PROGS=
+TEST_FLAGS=
+TEST_SCRIPTS=
+
+## The default is to build the library and/or programs. We must build
+## them sequentially.
+all:
+ $(MAKE) lib
+ $(MAKE) progs
+ $(MAKE) tests
+
+## The following rules insure that the Makefile is up-to-date by rerunning
+## various autoconf components (although not all versions of make assume
+## that the makefile is implicitly a target). We use time stamp files to
+## keep track of the most recent update of H5config.h.in and H5config.h
+## because autoheader and config.status don't update the modification time
+## if the contents don't change.
+## Invoke it by "gmake reconfigure".
+##
+## Graphically, the dependencies are:
+##
+## configure.in
+## | |
+## +-----------------+ +------------+
+## | |
+## stamp1 configure
+## (H5config.h.in) |
+## | | |
+## | +---------------+ +-----------+
+## | | |
+## | config.status
+## | |
+## | +------------------+
+## | |
+## stamp2
+## (H5config.h) Makefile.in et al
+## | |
+## +------------------+ +-----------+
+## | |
+## Makefile
+##
+## A side effect of updating stamp1 is to generate H5config.h.in and a
+## side effect of updating stamp2 is to generate H5config.h. When using
+## a version of make that doesn't treat the makefile as the initial target
+## the user may want to occassionally type `make Makefile' in any source
+## directory.
+## The `Makefile' target has been renamed to `reconfigure' so that the
+## autoconf and make depend processes do not start up automatically.
+## One must do `make reconfigure' explicitedly to start the process.
+## (When srcdir is used and if more than one machines are running,
+## this automatic Makefile/autoconf can get things unstable.)
+##
+STAMP1=$(top_builddir)/config/stamp1
+STAMP2=$(top_builddir)/config/stamp2
+
+MAKEFILE_PARTS=$(srcdir)/Makefile.in \
+ $(top_srcdir)/config/commence.in \
+ $(top_srcdir)/config/conclude.in \
+ $(top_srcdir)/config/depend1.in \
+ $(top_srcdir)/config/depend2.in \
+ $(top_srcdir)/config/depend3.in \
+ $(top_srcdir)/config/depend4.in \
+ $(top_srcdir)/config/dependN.in
+
+$(STAMP1): $(top_srcdir)/configure.in
+ touch $(STAMP1)
+ -cd $(top_srcdir); autoheader
+
+$(STAMP2): $(STAMP1) $(top_builddir)/config.status
+ touch $(STAMP2)
+ -cd $(top_builddir); \
+ CONFIG_FILES= CONFIG_HEADERS=src/H5config.h ./config.status
+
+$(top_srcdir)/configure: $(top_srcdir)/configure.in
+ -cd $(top_srcdir); autoconf
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(STAMP1)
+ -cd $(top_builddir); ./config.status --recheck
+
+# rerun the autoconf process if any configure components have changed.
+reconfigure: $(MAKEFILE_PARTS) $(STAMP2)
+ -cd $(top_builddir); CONFIG_HEADERS= ./config.status
+
+##-----------------------------------------------------------------------------
+## The following section of this makefile comes from the middle of
+## `Makefile.in' from this directory. It was generated by running
+## `config.status'.
+##-----------------------------------------------------------------------------
diff --git a/c++/config/conclude.in b/c++/config/conclude.in
new file mode 100644
index 0000000..790da2d
--- /dev/null
+++ b/c++/config/conclude.in
@@ -0,0 +1,184 @@
+##------------------------------------------------------------ -*- makefile -*-
+## The following section of this makefile comes from the
+## `./config/conclude' file which was generated with config.status
+## from `./config/conclude.in'.
+##-----------------------------------------------------------------------------
+
+## This is the target for the library described in the main body of the
+## makefile.
+##
+lib: $(LIB)
+$(LIB) __no_library__: $(LIB_OBJ)
+ @$(LT_LINK_LIB) -o $@ $(CXXFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS)
+
+progs: $(LIB) $(PROGS)
+
+## Build a tags file in this directory.
+TAGS: $(LIB_SRC)
+ $(RM) $@
+ -etags $(LIB_SRC)
+
+## Runs each test in order, passing $(TEST_FLAGS) to the program.
+## Since tests are done in a shell loop, "make -i" does apply inside it.
+## Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
+tests: $(TEST_PROGS) $(LIB)
+check test _test: tests
+ @for test in $(TEST_PROGS) dummy; do \
+ if test $$test != dummy; then \
+ echo "============================"; \
+ echo "Testing $$test $(TEST_FLAGS)"; \
+ echo "============================"; \
+ srcdir="$(srcdir)" \
+ $(RUNTEST) ./$$test $(TEST_FLAGS) || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ break; \
+ echo ""; \
+ fi; \
+ done; \
+ test $$test = dummy || false
+ @for test in $(TEST_SCRIPTS) dummy; do \
+ if test $$test != dummy; then \
+ echo "============================"; \
+ echo "Testing $$test $(TEST_FLAGS)"; \
+ echo "============================"; \
+ RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
+ srcdir="$(srcdir)" \
+ /bin/sh $$test $(TEST_FLAGS) || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ break; \
+ echo ""; \
+ fi; \
+ done; \
+ test $$test = dummy || false
+
+## Make installation directories directories if they don't exist.
+$(libdir):
+ mkdir $@ && chmod 755 $@
+
+$(includedir):
+ mkdir $@ && chmod 755 $@
+
+$(bindir):
+ mkdir $@ && chmod 755 $@
+
+$(DOCDIR):
+ mkdir $@ && chmod 755 $@
+
+## Install the library, the public header files, and public programs.
+install: $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir)
+ @for f in X $(PUB_LIB); do \
+ if test $$f != X; then \
+ ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1); \
+ fi; \
+ done
+ @if test -f libhdf5.settings; then \
+ (set -x; $(INSTALL_DATA) libhdf5.settings $(libdir)/. || exit 1); \
+ fi
+ @for f in X $(PUB_HDR); do \
+ if test $$f != X; then \
+ if test -f $$f; then \
+ (set -x; $(INSTALL_DATA) $$f $(includedir)/. || exit 1); \
+ else \
+ (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(includedir)/. || \
+ exit 1); \
+ fi; \
+ fi; \
+ done
+ @for f in X $(PUB_PROGS); do \
+ if test $$f != X; then \
+ ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \
+ fi; \
+ done
+
+## Install the documents.
+install-doc: $(PUB_DOCS) $(DOCDIR)
+ @for d in X $(SUBDIRS); do \
+ if test $$d != X; then \
+ (set -x; cd $$d && $(MAKE) $@) || exit 1; \
+ fi; \
+ done
+ @for f in X $(PUB_DOCS); do \
+ if test $$f != X; then \
+ if test -f $$f; then \
+ (set -x; $(INSTALL_DATA) $$f $(DOCDIR)/. || exit 1); \
+ else \
+ (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(DOCDIR)/. || \
+ exit 1); \
+ fi; \
+ fi; \
+ done
+
+## Removes those things that `make install' (would have) installed.
+uninstall:
+ @for f in libhdf5.settings $(LIB); do \
+ $(LT_UNINSTALL) $(libdir)/$$f; \
+ done
+ @if test "X$(PUB_HDR)" != X; then \
+ set -x; cd $(includedir) && $(RM) $(PUB_HDR); \
+ fi
+ @for f in X $(PUB_PROGS); do \
+ if test $$f != X; then \
+ $(LT_UNINSTALL) $(bindir)/$$f; \
+ fi; \
+ done
+
+## Removes those things that `make install-doc' (would have) installed.
+uninstall-doc:
+ @for d in X $(SUBDIRS); do \
+ if test $$d != X; then \
+ (set -x; cd $$d && $(MAKE) $@) || exit 1; \
+ fi; \
+ done
+ @if test "X$(PUB_DOCS)" != X; then \
+ set -x; cd $(DOCDIR) && $(RM) $(PUB_DOCS); \
+ fi
+
+## Removes temporary files without removing the final target files. That is,
+## remove things like object files but not libraries or executables.
+##
+mostlyclean:
+ -$(RM) $(LIB_OBJ) $(LIB_OBJ:.lo=.o)
+ -$(RM) $(TEST_OBJ) $(TEST_OBJ:.lo=.o)
+ -$(RM) $(PROG_OBJ) $(PROG_OBJ:.lo=.o) $(MOSTLYCLEAN)
+
+## Like `mostlyclean' except it also removes the final targets: things like
+## libraries and executables. This target doesn't remove any file that
+## is part of the HDF5 distribution.
+##
+clean: mostlyclean
+ -$(RM) $(LIB) $(TEST_PROGS) $(PROGS) $(CLEAN)
+ -$(RM) -r .libs
+
+## Like `clean' except it also removes files that were created by running
+## configure. If you've unpacked the source and built HDF5 without creating
+## any other files, then `make distclean' will leave only the files that were
+## in the distribution.
+##
+distclean: clean
+ -$(RM) .depend TAGS *~ core *.core *.bak *.old *.new $(DISTCLEAN)
+ @if test -f $(srcdir)/Makefile.in; then \
+ (set -x; $(RM) Makefile); \
+ fi
+
+
+## Like `distclean' except it deletes all files that can be regenerated from
+## the makefile, including those generated from autoheader and autoconf.
+##
+maintainer-clean: distclean
+ -$(RM) *~ core core.* *.core *.bak *.contrib gmon.out
+
+## Implicit rules
+.C.o:
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
+.C.lo:
+ @$(LT_COMPILE) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
+##-----------------------------------------------------------------------------
+## The following section of this makefile contains dependencies between the
+## source files and the header files.
+##-----------------------------------------------------------------------------
+.PHONY: dep depend
+dep depend: $(srcdir)/Dependencies
+
+@DEPEND@
diff --git a/c++/config/depend1.in b/c++/config/depend1.in
new file mode 100644
index 0000000..e07f4bf
--- /dev/null
+++ b/c++/config/depend1.in
@@ -0,0 +1,50 @@
+## -*- makefile -*-
+
+## We keep a list of dependencies in `.depend' for each of the source
+## files on which it depends. When one of the source files is modified
+## we remove its record from .depend and regenerate its dependencies,
+## tacking them onto the end of .depend. By including the .depend file
+## into the makefile, we're telling make that the makefile depends on
+## the dependency list in the .depend file.
+##
+## This is as fast as the `.d' method described in the GNU make manual
+## for automatic dependencies, but has the added advantage that all
+## dependencies are stored in one place. The advantage over the
+## `makedepend' program is that only those files that are out of date
+## have dependency information rebuilt, and the Makefile is not
+## modified.
+##
+## This is also where tracing information is updated. The $(TRACE)
+## program is run on each source file to make sure that the H5TRACE()
+## macros are up to date. If they are then the file is not modified,
+## otherwise the file is changed and a backup is saved by appending a
+## tilde to the file name.
+##
+$(srcdir)/Dependencies: .depend
+ @if test "$(srcdir)" != "."; then \
+ echo '## This file is machine generated on GNU systems.' >$@; \
+ echo '## Only temporary changes may be made here.' >>$@; \
+ echo >>$@; \
+ perl -p $(top_srcdir)/bin/distdep .depend >>$@; \
+ else \
+ echo 'Dependencies cannot be built when $$srcdir == $$builddir'; \
+ fi
+
+.depend: $(LIB_SRC) $(TEST_SRC) $(PROG_SRC)
+ @touch .depend
+ @for dep in $? dummy; do \
+ if [ $$dep != "dummy" ]; then \
+ echo Building dependencies for $$dep; \
+ obj=`basename $$dep .c`.lo; \
+ sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
+ $(TRACE) $$dep; \
+ $(CC) -M -MG $(CPPFLAGS) $$dep 2>/dev/null | \
+ sed 's% $(srcdir)/% $$(srcdir)/%g' | \
+ sed 's% $(top_srcdir)/% $$(top_srcdir)/%g' | \
+ sed 's% $(top_builddir)/% $$(top_builddir)/%g' | \
+ sed 's/\.o/.lo/' >>$@; \
+ fi; \
+ done;
+
+-include .depend
+
diff --git a/c++/config/depend2.in b/c++/config/depend2.in
new file mode 100644
index 0000000..f67914f
--- /dev/null
+++ b/c++/config/depend2.in
@@ -0,0 +1,11 @@
+## -*- makefile -*-
+
+## This platform doesn't support automatic dependencies because we're
+## not using GNU gcc. GNU gcc is needed in order to generate the list
+## of header files included by a source file.
+
+## Since automatic dependencies are not being used, we attempt to include the
+## `.distdep' file from the source tree. This file was automatically generated
+## on some system that satisfies the above requirements.
+
+-include $(srcdir)/Dependencies
diff --git a/c++/config/depend3.in b/c++/config/depend3.in
new file mode 100644
index 0000000..e856bc5
--- /dev/null
+++ b/c++/config/depend3.in
@@ -0,0 +1,7 @@
+## -*- makefile -*-
+
+## Since automatic dependencies are not being used, we attempt to include the
+## `.distdep' file from the source tree. This file was automatically generated
+## on some system that satisfies the above requirements.
+
+.include <$(srcdir)/Dependencies>
diff --git a/c++/config/depend4.in b/c++/config/depend4.in
new file mode 100644
index 0000000..b0324d9
--- /dev/null
+++ b/c++/config/depend4.in
@@ -0,0 +1,7 @@
+## -*- makefile -*-
+
+## Since automatic dependencies are not being used, we attempt to include the
+## `.distdep' file from the source tree. This file was automatically generated
+## on some system that satisfies the above requirements.
+
+include $(srcdir)/Dependencies
diff --git a/c++/config/dependN.in b/c++/config/dependN.in
new file mode 100644
index 0000000..7ece270
--- /dev/null
+++ b/c++/config/dependN.in
@@ -0,0 +1,4 @@
+## -*- makefile -*-
+
+## Automatic dependencies are not being used and we cannot include other
+## files.
diff --git a/c++/config/linux-gnu b/c++/config/linux-gnu
new file mode 100644
index 0000000..d139966
--- /dev/null
+++ b/c++/config/linux-gnu
@@ -0,0 +1,4 @@
+# -*- shell-script -*-
+# This is the same as linux-gnulibc1
+
+. $srcdir/config/linux-gnulibc1
diff --git a/c++/config/linux-gnulibc1 b/c++/config/linux-gnulibc1
new file mode 100644
index 0000000..4b7ac40
--- /dev/null
+++ b/c++/config/linux-gnulibc1
@@ -0,0 +1,16 @@
+# -*- shell-script -*-
+#
+# This file is part of the HDF5 build script. It is processed shortly
+# after configure starts and defines, among other things, flags for
+# the various compile modes.
+#
+# See BlankForm in this directory for details.
+
+# The default compiler is `g++'.
+if test -z "$CXX"; then
+ CXX=g++
+ CXX_BASENAME=g++
+fi
+
+# Figure out compiler flags
+#. $srcdir/config/gnu-flags
diff --git a/c++/config/linux-gnulibc2 b/c++/config/linux-gnulibc2
new file mode 100644
index 0000000..4551fb6
--- /dev/null
+++ b/c++/config/linux-gnulibc2
@@ -0,0 +1,10 @@
+# -*- shell-script -*-
+#
+# This file is part of the HDF5 build script. It is processed shortly
+# after configure starts and defines, among other things, flags for
+# the various compile modes.
+#
+# See BlankForm in this directory for details.
+
+# Same as with gnulibc1 for now
+. $srcdir/config/linux-gnulibc1
diff --git a/c++/config/solaris2.x b/c++/config/solaris2.x
new file mode 100644
index 0000000..1ff0005
--- /dev/null
+++ b/c++/config/solaris2.x
@@ -0,0 +1,29 @@
+# -*- shell-script -*-
+#
+# This file is part of the HDF5 build script. It is processed shortly
+# after configure starts and defines, among other things, flags for
+# the various compile modes.
+#
+# See BlankForm in this directory for details
+
+# The default compiler is `sunpro cc'
+if test -z "$CXX"; then
+ CXX=CC
+ CXX_BASENAME=CC
+fi
+
+# Try gcc compiler flags
+#. $srcdir/config/gnu-flags
+
+# Try solaris native compiler flags
+if test -z "$cxx_flags_set"; then
+ CFLAGS="-erroff=%none"
+ LIBS="$LIBS -lsocket"
+ DEBUG_CFLAGS=-g
+ DEBUG_CPPFLAGS=
+ PROD_CFLAGS="-O -s"
+ PROD_CPPFLAGS=
+ PROFILE_CFLAGS=-xpg
+ PROFILE_CPPFLAGS=
+ cxx_flags_set=yes
+fi