summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-03-18 18:09:16 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-03-18 18:09:16 (GMT)
commit2fd149a5824c22920d2102b97db8478b2f61d5dd (patch)
tree13d887c221264834f88d100e33acafe6cf9b4038
parent96dd634330502cdde53905c9edbef56028323969 (diff)
downloadhdf5-2fd149a5824c22920d2102b97db8478b2f61d5dd.zip
hdf5-2fd149a5824c22920d2102b97db8478b2f61d5dd.tar.gz
hdf5-2fd149a5824c22920d2102b97db8478b2f61d5dd.tar.bz2
[svn-r325] Changes since 19980317
---------------------- ./MANIFEST ./configure.in ./configure ./Makefile.in ./bin/distdep [NEW] ./config/conclude.in ./config/depend.in ./src/.distdep [NEW] ./test/.distdep [NEW] Added some code so non-GNU systems have a list of dependencies between the .c files and the .h files. Hopefully this works and y'all don't have to keep saying `make clean' each time you change a header. On systems with GNU make, GCC, and Perl, the dependency information is generated automatically from rules in config/depend.in as has always been done. But now extra files called `.distdep' (for `distributable dependencies) are left in each directory and these are part of CVS and thus releases. (A `make dep' will create dependencies on demand without doing anything else.) On systems lacking one or more of the tools above, the various `.distdep' files are inserted into the end of the Makefiles. If you do developement on one of these systems you'll have to update the `.distdep' and/or Makefile by hand, or wait until you have access to a GNU system and do a `make dep'.
-rw-r--r--MANIFEST3
-rw-r--r--Makefile.in6
-rw-r--r--bin/distdep6
-rw-r--r--config/conclude.in13
-rw-r--r--config/depend.in17
-rwxr-xr-xconfigure12
-rw-r--r--configure.in6
-rw-r--r--src/H5config.h.in3
-rw-r--r--src/Makefile.in28
-rw-r--r--test/.distdep264
10 files changed, 323 insertions, 35 deletions
diff --git a/MANIFEST b/MANIFEST
index c674fd1..2e7ecc6 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -11,6 +11,7 @@
./bin/checkposix
./bin/config.guess
./bin/config.sub
+./bin/distdep
./bin/errors
./bin/install-sh
./bin/release
@@ -87,6 +88,7 @@
./html/study_p1.gif
./html/study_p1.obj
./html/symtab
+./src/.distdep
./src/.indent.pro
./src/H5.c
./src/H5AC.c
@@ -164,6 +166,7 @@
./src/Makefile.in
./src/debug.c
./src/hdf5.h
+./test/.distdep
./test/Makefile.in
./test/cmpd_dset.c
./test/dsets.c
diff --git a/Makefile.in b/Makefile.in
index 83bd9cf..9b7ef97 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -90,9 +90,3 @@ maintainer-clean:
done
$(RM) config.cache config.log config.status src/H5config.h
$(RM) configure src/H5config.h.in
-
-
-# This file does not end with the `CONCLUDE' statement since it has
-# redefined all the standard targets anyway. However, we do need the
-# `DEPEND' so we can automatically rerun configure if we have GNU make.
-@DEPEND@
diff --git a/bin/distdep b/bin/distdep
new file mode 100644
index 0000000..287ce84
--- /dev/null
+++ b/bin/distdep
@@ -0,0 +1,6 @@
+#!/usr/bin/perl -p
+# Usage: $0 [<].depend
+# Takes dependency info and generates on stdout dependencies suitable for
+# distribution by removing all the system include files from the list.
+($h,$_)=/\s*\\/?$h.$`:("","$h\n");
+s|( +/\S*)*( *)|$2?" \\\n ":""|eg;
diff --git a/config/conclude.in b/config/conclude.in
index 62b48be..84b1058 100644
--- a/config/conclude.in
+++ b/config/conclude.in
@@ -100,4 +100,15 @@ maintainer-clean: distclean
.c.o:
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-@DEPEND@
+#------------------------------------------------------------------------------
+# 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
+# the dependencies are in the form of rules that cause the information to
+# be kept updated automatically. Otherwise the dependencies are listed
+# explicitly and come from the `.distdep' files in the various directories.
+# These files are part of the distribution and are generated automatically on
+# GNU/GCC systems.
+#------------------------------------------------------------------------------
+
+@DEPEND1@
+@DEPEND2@
diff --git a/config/depend.in b/config/depend.in
index 46dac4e..dae45ce 100644
--- a/config/depend.in
+++ b/config/depend.in
@@ -1,8 +1,4 @@
-#------------------------------------------------------------- -*- makefile -*-
-# The following section of this makefile comes from the
-# `./config/targets' file which was generated with config.status
-# from `./config/targets.in'.
-#------------------------------------------------------------------------------
+# -*- 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
@@ -18,8 +14,12 @@
# have dependency information rebuilt, and the Makefile is not
# modified.
#
-.PRECIOUS: .depend
-dep depend: .depend
+.PRECIOUS: .depend .distdep
+dep depend: .distdep
+
+.distdep: .depend
+ touch .distdep
+ -perl -p $(ROOT)/bin/distdep .depend >.distdep
.depend: $(LIB_SRC) $(PROG_SRC)
@touch .depend
@@ -30,7 +30,8 @@ dep depend: .depend
sed "/$$obj/,/[^\\]$$/d" <$@ >$@- && mv $@- $@; \
$(CC) -M -MG $(CPPFLAGS) $$dep >>$@; \
fi; \
- done
+ done;
+ -perl -p $(ROOT)/bin/distdep .depend >.distdep
-include .depend
diff --git a/configure b/configure
index 95f3d31..bd18570 100755
--- a/configure
+++ b/configure
@@ -2103,9 +2103,11 @@ esac
CONCLUDE=config/conclude
if test "X$GCC" = "Xyes" && test "X$GMAKE" = "Xyes"; then
- DEPEND=config/depend
+ DEPEND1=config/depend
+ DEPEND2=/dev/null
else
- DEPEND='# Use GNU make/GCC if you want auto dependencies'
+ DEPEND1=src/.distdep
+ DEPEND2=test/.distdep
fi
if test "X$GMAKE" = "Xyes"; then
@@ -2273,8 +2275,10 @@ s%@RUNTEST@%$RUNTEST%g
s%@COMMENCE@%%g
/@CONCLUDE@/r $CONCLUDE
s%@CONCLUDE@%%g
-/@DEPEND@/r $DEPEND
-s%@DEPEND@%%g
+/@DEPEND1@/r $DEPEND1
+s%@DEPEND1@%%g
+/@DEPEND2@/r $DEPEND2
+s%@DEPEND2@%%g
s%@SETX@%$SETX%g
s%@ROOT@%$ROOT%g
diff --git a/configure.in b/configure.in
index 7f48014..a05925e 100644
--- a/configure.in
+++ b/configure.in
@@ -207,9 +207,11 @@ AC_SUBST_FILE(COMMENCE) COMMENCE=config/commence
AC_SUBST_FILE(CONCLUDE) CONCLUDE=config/conclude
if test "X$GCC" = "Xyes" && test "X$GMAKE" = "Xyes"; then
- AC_SUBST_FILE(DEPEND) DEPEND=config/depend
+ AC_SUBST_FILE(DEPEND1) DEPEND1=config/depend
+ AC_SUBST_FILE(DEPEND2) DEPEND2=/dev/null
else
- AC_SUBST(DEPEND) DEPEND='# Use GNU make/GCC if you want auto dependencies'
+ AC_SUBST_FILE(DEPEND1) DEPEND1=src/.distdep
+ AC_SUBST_FILE(DEPEND2) DEPEND2=test/.distdep
fi
dnl We don't need to say when we're entering directories if we're using
diff --git a/src/H5config.h.in b/src/H5config.h.in
index b573774..e61769c 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -64,6 +64,9 @@
/* Define if you have the lseek64 function. */
#undef HAVE_LSEEK64
+/* Define if you have the system function. */
+#undef HAVE_SYSTEM
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/src/Makefile.in b/src/Makefile.in
index cf1a963..aff0d60 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -16,12 +16,12 @@ PROGS=debug
# Source and object files for the library (lexicographically)...
PARALLEL_SRC=H5Fmpio.c
-LIB_SRC=H5.c H5AC.c H5B.c H5D.c H5E.c H5F.c H5Farray.c H5Fcore.c \
- H5Ffamily.c H5Fistore.c H5Flow.c H5Fsec2.c H5Fsplit.c H5Fstdio.c \
- H5G.c H5Gent.c H5Gnode.c H5Gstab.c H5H.c H5I.c H5MF.c H5MM.c H5O.c \
- H5Ocont.c H5Odtype.c H5Oefl.c H5Olayout.c H5Oname.c H5Onull.c \
- H5Osdspace.c H5Ostab.c H5P.c H5S.c H5Ssimp.c H5T.c H5Tconv.c \
- H5Tinit.c H5V.c @PARALLEL_SRC@
+LIB_SRC=H5.c H5AC.c H5B.c H5D.c H5E.c H5F.c H5Farray.c H5Fcore.c H5Ffamily.c \
+ H5Fistore.c H5Flow.c H5Fsec2.c H5Fsplit.c H5Fstdio.c H5G.c H5Gent.c \
+ H5Gnode.c H5Gstab.c H5H.c H5I.c H5MF.c H5MM.c H5O.c H5Ocont.c \
+ H5Odtype.c H5Oefl.c H5Olayout.c H5Oname.c H5Onull.c H5Osdspace.c \
+ H5Ostab.c H5P.c H5S.c H5Ssimp.c H5T.c H5Tconv.c H5Tinit.c \
+ H5V.c @PARALLEL_SRC@
LIB_OBJ=$(LIB_SRC:.c=.o)
@@ -33,16 +33,16 @@ PROG_SRC=debug.c
PROG_OBJ=$(PROG_SRC:.c=.o)
# Public header files (to be installed)...
-PUB_HDR=H5public.h H5ACpublic.h H5Bpublic.h H5Ppublic.h \
- H5Dpublic.h H5Epublic.h H5Fpublic.h H5Gpublic.h H5Hpublic.h \
- H5Ipublic.h H5MFpublic.h H5MMpublic.h H5Opublic.h H5Spublic.h \
- H5Tpublic.h H5config.h hdf5.h
+PUB_HDR=H5public.h H5ACpublic.h H5Bpublic.h H5Ppublic.h H5Dpublic.h \
+ H5Epublic.h H5Fpublic.h H5Gpublic.h H5Hpublic.h H5Ipublic.h \
+ H5MFpublic.h H5MMpublic.h H5Opublic.h H5Spublic.h H5Tpublic.h \
+ H5config.h hdf5.h
# Other header files (not to be installed)...
-PRIVATE_HDR=H5private.h H5ACprivate.h H5Bprivate.h \
- H5Pprivate.h H5Dprivate.h H5Eprivate.h H5Fprivate.h H5Gprivate.h \
- H5Gpkg.h H5Hprivate.h H5Iprivate.h H5MFprivate.h H5MMprivate.h \
- H5Oprivate.h H5Sprivate.h H5Tprivate.h H5Tpkg.h H5Vprivate.h
+PRIVATE_HDR=H5private.h H5ACprivate.h H5Bprivate.h H5Pprivate.h H5Dprivate.h \
+ H5Eprivate.h H5Fprivate.h H5Gprivate.h H5Gpkg.h H5Hprivate.h \
+ H5Iprivate.h H5MFprivate.h H5MMprivate.h H5Oprivate.h H5Sprivate.h \
+ H5Tprivate.h H5Tpkg.h H5Vprivate.h
# Number format detection
H5Tinit.c: H5detect
diff --git a/test/.distdep b/test/.distdep
new file mode 100644
index 0000000..cb9225b
--- /dev/null
+++ b/test/.distdep
@@ -0,0 +1,264 @@
+testhdf5.o: \
+ testhdf5.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h
+tfile.o: \
+ tfile.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Eprivate.h \
+ ../src/H5Epublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Bprivate.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Pprivate.h
+theap.o: \
+ theap.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Eprivate.h \
+ ../src/H5Epublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Iprivate.h \
+ ../src/H5ACprivate.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Pprivate.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Dpublic.h
+tmeta.o: \
+ tmeta.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Eprivate.h \
+ ../src/H5Epublic.h
+tohdr.o: \
+ tohdr.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Eprivate.h \
+ ../src/H5Epublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Iprivate.h \
+ ../src/H5ACprivate.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Pprivate.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Gprivate.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Bprivate.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Oprivate.h \
+ ../src/H5Opublic.h \
+ ../src/H5Tprivate.h \
+ ../src/H5Tpublic.h \
+ ../src/H5Sprivate.h
+tstab.o: \
+ tstab.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Eprivate.h \
+ ../src/H5Epublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Iprivate.h \
+ ../src/H5ACprivate.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Pprivate.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Gprivate.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Bprivate.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Oprivate.h \
+ ../src/H5Opublic.h \
+ ../src/H5Tprivate.h \
+ ../src/H5Tpublic.h \
+ ../src/H5Sprivate.h
+th5s.o: \
+ th5s.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Eprivate.h \
+ ../src/H5Epublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Bprivate.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Sprivate.h \
+ ../src/H5Spublic.h \
+ ../src/H5Gprivate.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Oprivate.h \
+ ../src/H5Opublic.h \
+ ../src/H5Tprivate.h \
+ ../src/H5Tpublic.h \
+ ../src/H5Pprivate.h \
+ ../src/H5Ppublic.h
+dtypes.o: \
+ dtypes.c \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Hpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Spublic.h \
+ ../src/H5Tpublic.h \
+ ../src/H5Iprivate.h \
+ ../src/H5private.h \
+ ../src/H5Tprivate.h \
+ ../src/H5Gprivate.h \
+ ../src/H5Bprivate.h
+hyperslab.o: \
+ hyperslab.c \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5MMprivate.h \
+ ../src/H5MMpublic.h
+istore.o: \
+ istore.c \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Iprivate.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Pprivate.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Gprivate.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Bprivate.h \
+ ../src/H5Bpublic.h \
+ ../src/H5MMprivate.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Oprivate.h \
+ ../src/H5Opublic.h \
+ ../src/H5Tprivate.h \
+ ../src/H5Tpublic.h
+dsets.o: \
+ dsets.c \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Hpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Spublic.h \
+ ../src/H5Tpublic.h
+cmpd_dset.o: \
+ cmpd_dset.c \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Hpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Spublic.h
+extend.o: \
+ extend.c \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Hpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h
+external.o: \
+ external.c \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Hpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Spublic.h \
+ ../src/H5Tpublic.h
+iopipe.o: \
+ iopipe.c \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5Hpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Spublic.h \
+ ../src/H5Tpublic.h