summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/alpha-dec21
-rw-r--r--config/commence.in13
-rw-r--r--config/conclude.in31
-rw-r--r--config/dec-osf4.x (renamed from config/alpha-dec-osf4.0)19
-rw-r--r--config/freebsd2
-rw-r--r--config/irix5.337
-rw-r--r--config/irix5.x50
-rw-r--r--config/irix6.x45
-rw-r--r--config/irix6469
-rw-r--r--config/linux-gnu1
-rw-r--r--config/linux-gnulibc1 (renamed from config/linux)0
-rw-r--r--config/linux-gnulibc276
12 files changed, 211 insertions, 153 deletions
diff --git a/config/alpha-dec b/config/alpha-dec
deleted file mode 100644
index e019ac0..0000000
--- a/config/alpha-dec
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- 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 detailed information.
-#
-
-# What compiler flags should be used for code development?
-DEBUG_CFLAGS=-g
-DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
-
-# What compiler flags should be used for building a production
-# library?
-PROD_CFLAGS=-O
-PROD_CPPFLAGS=
-
-# What compiler flags enable code profiling?
-PROFILE_CFLAGS=-pg
-PROFILE_CPPFLAGS=
diff --git a/config/commence.in b/config/commence.in
index 3d67623..3fe2f30 100644
--- a/config/commence.in
+++ b/config/commence.in
@@ -6,7 +6,7 @@
# Things that Make needs
.SUFFIXES:
-.SUFFIXES: .c .o
+.SUFFIXES: .c .o .lo
@SET_MAKE@
# Programs
@@ -36,6 +36,17 @@ bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
+# Shared libraries
+LT=@top_srcdir@/libtool
+LT_COMPILE=$(LT) --mode=compile $(CC)
+LT_LINK_LIB=$(LT) --mode=link $(CC) -rpath $(libdir)
+LT_LINK_EXE=$(LT) --mode=link $(CC)
+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)
+
+
# The default is to build the library and/or programs. We must build
# them sequentially.
all:
diff --git a/config/conclude.in b/config/conclude.in
index b39fb96..3740080 100644
--- a/config/conclude.in
+++ b/config/conclude.in
@@ -9,8 +9,7 @@
#
lib: $(LIB)
$(LIB) __no_library__: $(LIB_OBJ)
- $(AR) -rc $@ $(LIB_OBJ)
- $(RANLIB) $@
+ @$(LT_LINK_LIB) -o $@ $(CFLAGS) $(LIB_OBJ) $(LIBS)
progs: $(LIB) $(PROGS)
@@ -21,7 +20,7 @@ TAGS: $(LIB_SRC)
# Runs each test in order, passing $(TEST_FLAGS) to the program.
tests: $(TEST_PROGS) $(LIB)
-test _test: tests
+check test _test: tests
@for test in $(TEST_PROGS) dummy; do \
if test $$test != dummy; then \
echo "============================"; \
@@ -46,7 +45,7 @@ install: $(LIB) $(PUB_HDR) $(PROGS)
@test -d $(libdir) || mkdir $(libdir)
@for f in X $(LIB); do \
if test $$f != X; then \
- (set -x; $(INSTALL_DATA) $$f $(libdir)/. || exit 1); \
+ ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1); \
fi; \
done
@test -d $(includedir) || mkdir $(includedir)
@@ -58,34 +57,39 @@ install: $(LIB) $(PUB_HDR) $(PROGS)
@test -d $(bindir) || mkdir $(bindir)
@for f in X $(PROGS); do \
if test $$f != X; then \
- (set -x; $(INSTALL_PROGRAM) $$f $(bindir)/. || exit 1); \
+ ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \
fi; \
done
# Removes those things that `make install' (would have) installed.
uninstall:
@if test "X$(LIB)" != X; then \
- set -x; cd $(libdir) && $(RM) $(LIB); \
+ for f in $(LIB); do \
+ $(LT_UNINSTALL) $(libdir)/$$f; \
+ done; \
fi
- @if test "X$(PUBHDR)" != X; then \
+ @if test "X$(PUB_HDR)" != X; then \
set -x; cd $(includedir) && $(RM) $(PUB_HDR); \
fi
@if test "X$(PROGS)" != X; then \
- set -x; cd $(bindir) && $(RM) $(PROGS); \
+ for f in $(PROGS); do \
+ $(LT_UNINSTALL) $(bindir)/$$f; \
+ done; \
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) $(TEST_OBJ) $(PROG_OBJ) $(MOSTLYCLEAN)
+ -$(RM) $(LIB_OBJ) $(TEST_OBJ) $(PROG_OBJ) $(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) $(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
@@ -93,7 +97,7 @@ clean: mostlyclean
# in the distribution.
#
distclean: clean
- $(RM) .depend TAGS *~ core *.core *.bak *.old *.new $(DISTCLEAN)
+ -$(RM) .depend TAGS *~ core *.core *.bak *.old *.new $(DISTCLEAN)
@if test -f Makefile.in; then \
(set -x; $(RM) Makefile); \
fi
@@ -102,12 +106,15 @@ distclean: clean
# the makefile, including those generated from autoheader and autoconf.
#
maintainer-clean: distclean
- $(RM) *~ core core.* *.core *.bak *.contrib gmon.out
+ -$(RM) *~ core core.* *.core *.bak *.contrib gmon.out
# Implicit rules
.c.o:
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+.c.lo:
+ @$(LT_COMPILE) $(CFLAGS) $(CPPFLAGS) -c $<
+
#------------------------------------------------------------------------------
# The following section of this makefile contains dependencies between the
# source files and the header files. If GNU make and GCC are being used then
diff --git a/config/alpha-dec-osf4.0 b/config/dec-osf4.x
index 1443d1b..474e717 100644
--- a/config/alpha-dec-osf4.0
+++ b/config/dec-osf4.x
@@ -27,11 +27,28 @@ case "X-$CC_BASENAME" in
;;
*)
- #CFLAGS="$CFLAGS"
+ # Watch out for some versions of the compiler
+ case "`($CC -V |head -1) 2>/dev/null`" in
+ "DEC C V5.2-038 "*)
+ echo " +------------------------------------------------+"
+ echo " | You have an old version of cc. Please upgrade. |"
+ echo " | Continuing anyway, but code generation might be|"
+ echo " | incorrect, especially if optimizations are |"
+ echo " | enabled (look for -O) |"
+ echo " +------------------------------------------------+"
+ sleep 5
+ ;;
+ esac
+
+ # Debugging
DEBUG_CFLAGS="-g -std -verbose -warnprotos"
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+
+ # Production
PROD_CFLAGS="-g0 -verbose -warnprotos -std -O4 -arch host -tune host -ansi_args -fp_reorder -readonly_strings -inline speed"
PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"
+
+ # Profiling
PROFILE_CFLAGS="-pg -std -verbose -warnprotos"
PROFILE_CPPFLAGS=
;;
diff --git a/config/freebsd b/config/freebsd
index c3694a1..96d918e 100644
--- a/config/freebsd
+++ b/config/freebsd
@@ -5,4 +5,4 @@
#
# See BlankForm in this directory for details.
-. config/linux
+. config/linux-gnulibc1
diff --git a/config/irix5.3 b/config/irix5.3
deleted file mode 100644
index fe76210..0000000
--- a/config/irix5.3
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- 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 `cc' and there is no ranlib.
-if test "X-" = "X-$CC"; then
- CC=cc
- CC_BASENAME=cc
-fi
-RANLIB=:
-
-# Compiler flags
-case "X-$CC_BASENAME" in
- X-gcc)
- CFLAGS="$CFLAGS -ansi"
- DEBUG_CFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS="-DH5F_LOW_DFLT=H5F_LOW_SEC2"
- PROD_CFLAGS="-O3 -finline-functions"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS=-pg
- PROFILE_CPPFLAGS=
- ;;
- *)
- CFLAGS="$CFLAGS -fullwarn -prototypes -woff 799"
- DEBUG_CFLAGS=-g
- DEBUG_CPPFLAGS=
- PROD_CFLAGS=-O
- PROD_CPPFLAGS=
- PROFILE_CFLAGS=-pg
- PROFILE_CPPFLAGS=
- ;;
-esac
-
diff --git a/config/irix5.x b/config/irix5.x
new file mode 100644
index 0000000..03fdfa9
--- /dev/null
+++ b/config/irix5.x
@@ -0,0 +1,50 @@
+# -*- 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 `cc' and there is no ranlib.
+if test "X-" = "X-$CC"; then
+ CC=cc
+ CC_BASENAME=cc
+fi
+RANLIB=:
+
+case "X-$CC_BASENAME" in
+ X-gcc)
+ CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
+ DEBUG_CFLAGS="-g -fverbose-asm"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROD_CFLAGS="-O3"
+ PROD_CPPFLAGS=
+ PROFILE_CFLAGS="-pg"
+ PROFILE_CPPFLAGS=
+ ;;
+
+ *)
+ # Do *not* use -ansi because it prevents hdf5 from being able
+ # to read modification dates from the file. On some systems it
+ # can also result in compile errors in system header files
+ # since hdf5 includes a couple non-ANSI header files.
+ #CFLAGS="$CFLAGS -ansi"
+
+ # Always turn off these compiler warnings:
+ CFLAGS="$CFLAGS -woff 799"
+
+ # Extra debugging flags
+ DEBUG_CFLAGS=-g
+ DEBUG_CPPFLAGS=
+
+ # Extra production flags
+ # Note: higher optimizations relax alignment requirements needed.
+ PROD_CFLAGS=-O
+ PROD_CPPFLAGS=
+
+ # Extra profiling flags
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
+esac
diff --git a/config/irix6.x b/config/irix6.x
index 4699d00..4025037 100644
--- a/config/irix6.x
+++ b/config/irix6.x
@@ -4,15 +4,16 @@
# after configure starts and defines, among other things, flags for
# the various compile modes.
#
-# See BlankForm in this directory for details
+# See BlankForm in this directory for details.
-# The default compiler is `cc' and there is no ranlib.
+# Use SGI supplied C compiler by default. There is no ranlib
if test "X-" = "X-$CC"; then
- CC='cc -n32'
+ CC='cc -64'
CC_BASENAME=cc
fi
RANLIB=:
+# Compiler flags
case "X-$CC_BASENAME" in
X-gcc)
CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
@@ -25,33 +26,55 @@ case "X-$CC_BASENAME" in
;;
*)
+
+ # Check for old versions of the compiler that don't work right.
+ case "`$CC -version 2>&1 |head -1`" in
+ "Mongoose Compilers: Version 7.00")
+ echo " +---------------------------------------------------+"
+ echo " | You have an old version of cc (Mongoose Compilers |"
+ echo " | version 7.00). Please upgrade to MIPSpro version |"
+ echo " | 7.2.1.2m (patches are available from the SGI web |"
+ echo " | site). The 7.00 version may generate incorrect |"
+ echo " | code, especially when optimizations are enabled. |"
+ echo " +---------------------------------------------------+"
+ sleep 5
+ ;;
+ esac
+
# Do *not* use -ansi because it prevents hdf5 from being able
# to read modification dates from the file. On some systems it
# can also result in compile errors in system header files
# since hdf5 includes a couple non-ANSI header files.
#CFLAGS="$CFLAGS -ansi"
- # Always turn off these compiler warnings:
+ # Always turn off these compiler warnings for the -64 compiler:
# 1174: function declared but not used
# 1429: the `long long' type is not standard
# 1209: constant expressions
# 1196: __vfork() (this is an SGI config problem)
- CFLAGS="$CFLAGS -woff 1174,1429,1209,1196"
+ # 1685: turn off warnings about turning off invalid warnings
+ CFLAGS="$CFLAGS -woff 1174,1429,1209,1196,1685"
+
+ # Always turn off these compiler warnings for the old compiler:
+ # 799: the `long long' type is not standard
+ # 803: turn off warnings about turning off invalid warnings
+ # 835: __vfork() (this is an SGI config problem)
+ CFLAGS="$CFLAGS -woff 799,803,835"
# Always turn off these loader warnings:
- # 47: linked module might degrade performance
+ # (notice the peculiar syntax)
+ # 47: branch instructions that degrade performance on R4000
# 84: a library is not used
- # 85: duplicate definition preemption
- # 134: duplicate weak definition preemption
+ # 85: duplicate definition preemption (from -lnsl)
+ # 134: duplicate weak definition preemption (from -lnsl)
CFLAGS="$CFLAGS -Wl,-woff,47,-woff,84,-woff,85,-woff,134"
# Extra debugging flags
- DEBUG_CFLAGS=-g
+ DEBUG_CFLAGS="-g -fullwarn"
DEBUG_CPPFLAGS=
# Extra production flags
- # Note: higher optimizations relax alignment requirements needed.
- PROD_CFLAGS=-O1
+ PROD_CFLAGS=-O
PROD_CPPFLAGS=
# Extra profiling flags
diff --git a/config/irix64 b/config/irix64
deleted file mode 100644
index ac3b2b8..0000000
--- a/config/irix64
+++ /dev/null
@@ -1,69 +0,0 @@
-# -*- 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.
-
-# Use SGI supplied C compiler by default. There is no ranlib
-if test "X-" = "X-$CC"; then
- CC='cc -64'
- CC_BASENAME=cc
-fi
-RANLIB=:
-
-# Compiler flags
-case "X-$CC_BASENAME" in
- X-gcc)
- CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
- PROD_CFLAGS="-O3"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- # Do *not* use -ansi because it prevents hdf5 from being able
- # to read modification dates from the file. On some systems it
- # can also result in compile errors in system header files
- # since hdf5 includes a couple non-ANSI header files.
- #CFLAGS="$CFLAGS -ansi"
-
- # Always turn off these compiler warnings for the -64 compiler:
- # 1174: function declared but not used
- # 1429: the `long long' type is not standard
- # 1209: constant expressions
- # 1196: __vfork() (this is an SGI config problem)
- # 1685: turn off warnings about turning off invalid warnings
- CFLAGS="$CFLAGS -woff 1174,1429,1209,1196,1685"
-
- # Always turn off these compiler warnings for the old compiler:
- # 799: the `long long' type is not standard
- # 803: turn off warnings about turning off invalid warnings
- # 835: __vfork() (this is an SGI config problem)
- CFLAGS="$CFLAGS -woff 799,803,835"
-
- # Always turn off these loader warnings:
- # (notice the peculiar syntax)
- # 47: branch instructions that degrade performance on R4000
- # 84: a library is not used
- # 85: duplicate definition preemption (from -lnsl)
- # 134: duplicate weak definition preemption (from -lnsl)
- CFLAGS="$CFLAGS -Wl,-woff,47,-woff,84,-woff,85,-woff,134"
-
- # Extra debugging flags
- DEBUG_CFLAGS="-g -fullwarn"
- DEBUG_CPPFLAGS=
-
- # Extra production flags
- PROD_CFLAGS=-O
- PROD_CPPFLAGS=
-
- # Extra profiling flags
- PROFILE_CFLAGS=-pg
- PROFILE_CPPFLAGS=
- ;;
-esac
diff --git a/config/linux-gnu b/config/linux-gnu
new file mode 100644
index 0000000..8a57bd5
--- /dev/null
+++ b/config/linux-gnu
@@ -0,0 +1 @@
+. config/linux-gnulibc1
diff --git a/config/linux b/config/linux-gnulibc1
index f314915..f314915 100644
--- a/config/linux
+++ b/config/linux-gnulibc1
diff --git a/config/linux-gnulibc2 b/config/linux-gnulibc2
new file mode 100644
index 0000000..f314915
--- /dev/null
+++ b/config/linux-gnulibc2
@@ -0,0 +1,76 @@
+# -*- 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 `gcc'.
+if test "X-" = "X-$CC"; then
+ CC=gcc
+ CC_BASENAME=gcc
+fi
+
+ARCH="-mcpu=pentiumpro -march=pentiumpro -malign-double"
+NOFP="-fomit-frame-pointer"
+#HDF4_FLAGS="-D__i386"
+
+# Compiler flags. We use `-v' to get the version number because it almost
+# always works on Linux systems.
+case `$CC -v 2>&1 |grep 'gcc version' |sed 's/.*gcc version //'` in
+ 2.7.*)
+ echo " +------------------------------------------------+"
+ echo " | You have an old version of gcc. Please upgrade |"
+ echo " | to 2.8.1 or better. Continuing anyway, but |"
+ echo " | code generation may be wrong on some platforms.|"
+ echo " +------------------------------------------------+"
+ sleep 5
+ CFLAGS="$CFLAGS -ansi"
+ PROD_CFLAGS="-O3 $NOFP -finline-functions -Wno-shadow"
+ PROD_CPPFLAGS="$HDF4_FLAGS"
+ DEBUG_CFLAGS="-g -fverbose-asm -Wno-shadow"
+ DEBUG_CPPFLAGS="$HDF4_FLAGS -DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
+
+ 2.8.*)
+ CFLAGS="$CFLAGS -Wsign-compare"
+ PROD_CFLAGS="$ARCH -O3 $NOFP -finline-functions -fschedule-insns2 -Wno-shadow"
+ PROD_CPPFLAGS="$HDF4_FLAGS"
+ DEBUG_CFLAGS="-g -fverbose-asm -Wno-shadow"
+ DEBUG_CPPFLAGS="$HDF4_FLAGS -DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
+
+ egcs-*)
+ CFLAGS="$CFLAGS -Wsign-compare"
+ PROD_CFLAGS="$ARCH -O6 $NOFP -Wno-shadow"
+ PROD_CPPFLAGS="$HDF4_FLAGS"
+ DEBUG_CFLAGS="-g -fverbose-asm -Wno-shadow"
+ DEBUG_CPPFLAGS="$HDF4_FLAGS -DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
+
+ pgcc-*)
+ CFLAGS="$CFLAGS -Wsign-compare"
+ PROD_CFLAGS="$ARCH -O6 $NOFP -Wno-shadow"
+ PROD_CPPFLAGS="$HDF4_FLAGS"
+ DEBUG_CFLAGS="-g -fverbose-asm -Wno-shadow"
+ DEBUG_CPPFLAGS="$HDF4_FLAGS -DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
+
+ *)
+ PROD_CFLAGS=-O
+ PROD_CPPFLAGS="$HDF4_FLAGS"
+ DEBUG_CFLAGS="-g"
+ DEBUG_CPPFLAGS="$HDF4_FLAGS -DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
+esac