diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/alpha-dec | 21 | ||||
-rw-r--r-- | config/commence.in | 13 | ||||
-rw-r--r-- | config/conclude.in | 31 | ||||
-rw-r--r-- | config/dec-osf4.x (renamed from config/alpha-dec-osf4.0) | 19 | ||||
-rw-r--r-- | config/freebsd | 2 | ||||
-rw-r--r-- | config/irix5.3 | 37 | ||||
-rw-r--r-- | config/irix5.x | 50 | ||||
-rw-r--r-- | config/irix6.x | 45 | ||||
-rw-r--r-- | config/irix64 | 69 | ||||
-rw-r--r-- | config/linux-gnu | 1 | ||||
-rw-r--r-- | config/linux-gnulibc1 (renamed from config/linux) | 0 | ||||
-rw-r--r-- | config/linux-gnulibc2 | 76 |
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 |