diff options
author | Robb Matzke <matzke@llnl.gov> | 1999-03-18 13:42:52 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1999-03-18 13:42:52 (GMT) |
commit | 826dbc81465d5d45cb96960ddeee97fb8b536f2d (patch) | |
tree | ee7e208308f918dd90d23ab64cdb793158efe4f3 /src | |
parent | 4ec2ca72ba19629e76fe9de26f82119b0929b307 (diff) | |
download | hdf5-826dbc81465d5d45cb96960ddeee97fb8b536f2d.zip hdf5-826dbc81465d5d45cb96960ddeee97fb8b536f2d.tar.gz hdf5-826dbc81465d5d45cb96960ddeee97fb8b536f2d.tar.bz2 |
[svn-r1149] ./configure.in
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
./src/H5private.h
Temporarily commented out the code that tries to link a simple
MPI-IO application because I'm not sure how to pass $LDFLAGS
and $LIBS to the compiler.
Removed the `--enable-parallel=ibm' switch because the library
we link with is either -lmpcc or -lmpcc_r but not both. The
only way to tell is to see what compiler was specified (mpcc
or mpcc_r) but if that compiler is specified then we don't
need any libraries (the compiler script supplies them). That
leaves just two choices: the user must use a compiler script:
CC=mpcc ./configure
or the user must state which library is desired:
LDFLAGS='-lmpcc' ./configure --enable-parallel
Checks for <setjmp.h>, longjmp(), and signal(). We don't check
for setjmp() because it could be a macro (in fact, Posix
requires it to be a macro) and if longjmp() is present then
setjmp() is probably present too ;-)
./src/H5detect.c
The alignment detection loop uses SIGBUS and setjmp/longjmp
instead of fork/wait in order to get around bugs with forking
in conjunction with mpich. This hasn't been tested on the
SP-2 yet but it does work on the DEC Alpha.
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
Changed the order that libraries are linked so -lhdf5 is
always before $LDFLAGS.
Diffstat (limited to 'src')
-rw-r--r-- | src/.distdep | 870 | ||||
-rw-r--r-- | src/H5config.h.in | 9 | ||||
-rw-r--r-- | src/H5detect.c | 53 | ||||
-rw-r--r-- | src/H5private.h | 7 |
4 files changed, 123 insertions, 816 deletions
diff --git a/src/.distdep b/src/.distdep index 3a8511b..a611fd6 100644 --- a/src/.distdep +++ b/src/.distdep @@ -26,10 +26,7 @@ H5.o: \ H5Gprivate.h \ H5Gpublic.h \ H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h + H5Opublic.h H5A.o: \ H5A.c \ H5private.h \ @@ -61,7 +58,9 @@ H5A.o: \ H5MMprivate.h \ H5MMpublic.h \ H5Pprivate.h \ - H5Ppublic.h + H5Ppublic.h \ + H5Apkg.h \ + H5Aprivate.h H5AC.o: \ H5AC.c \ H5private.h \ @@ -73,7 +72,9 @@ H5AC.o: \ H5Fprivate.h \ H5Fpublic.h \ H5Ipublic.h \ - H5Dpublic.h + H5Dpublic.h \ + H5Eprivate.h \ + H5Epublic.h H5B.o: \ H5B.c \ H5private.h \ @@ -90,7 +91,9 @@ H5B.o: \ H5Bpublic.h \ H5Eprivate.h \ H5Epublic.h \ - H5MFprivate.h + H5MFprivate.h \ + H5MFpublic.h \ + H5MMprivate.h H5D.o: \ H5D.c \ H5private.h \ @@ -127,14 +130,18 @@ H5D.o: \ H5MFpublic.h \ H5MMprivate.h \ H5MMpublic.h \ - H5Pprivate.h + H5Pprivate.h \ + H5Ppublic.h \ + H5TBprivate.h H5E.o: \ H5E.c \ H5private.h \ H5public.h \ H5config.h \ H5api_adpt.h \ - H5Iprivate.h + H5Iprivate.h \ + H5Ipublic.h \ + H5Eprivate.h H5F.o: \ H5F.c \ H5private.h \ @@ -166,7 +173,9 @@ H5F.o: \ H5ACprivate.h \ H5ACpublic.h \ H5Eprivate.h \ - H5Epublic.h + H5Epublic.h \ + H5MMprivate.h \ + H5MMpublic.h H5Farray.o: \ H5Farray.c \ H5private.h \ @@ -193,7 +202,9 @@ H5Farray.o: \ H5Zprivate.h \ H5Zpublic.h \ H5Eprivate.h \ - H5Epublic.h + H5Epublic.h \ + H5MFprivate.h \ + H5MFpublic.h H5Fcore.o: \ H5Fcore.c \ H5private.h \ @@ -202,10 +213,7 @@ H5Fcore.o: \ H5api_adpt.h \ H5Eprivate.h \ H5Epublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h + H5Ipublic.h H5Ffamily.o: \ H5Ffamily.c \ H5private.h \ @@ -214,10 +222,7 @@ H5Ffamily.o: \ H5api_adpt.h \ H5Eprivate.h \ H5Epublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h + H5Ipublic.h H5Fistore.o: \ H5Fistore.c \ H5private.h \ @@ -244,7 +249,9 @@ H5Fistore.o: \ H5Zprivate.h \ H5Zpublic.h \ H5Eprivate.h \ - H5Epublic.h + H5Epublic.h \ + H5MFprivate.h \ + H5MFpublic.h H5Flow.o: \ H5Flow.c \ H5private.h \ @@ -253,10 +260,7 @@ H5Flow.o: \ H5api_adpt.h \ H5Eprivate.h \ H5Epublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h + H5Ipublic.h H5Fmpio.o: \ H5Fmpio.c \ H5private.h \ @@ -280,10 +284,7 @@ H5Fmpio.o: \ H5HGpublic.h \ H5Tprivate.h \ H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h + H5Sprivate.h H5Fsec2.o: \ H5Fsec2.c \ H5private.h \ @@ -292,10 +293,7 @@ H5Fsec2.o: \ H5api_adpt.h \ H5Eprivate.h \ H5Epublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h + H5Ipublic.h H5Fsplit.o: \ H5Fsplit.c \ H5private.h \ @@ -307,7 +305,9 @@ H5Fsplit.o: \ H5Ipublic.h \ H5Fprivate.h \ H5Fpublic.h \ - H5Dpublic.h + H5Dpublic.h \ + H5MFprivate.h \ + H5MFpublic.h H5Fstdio.o: \ H5Fstdio.c \ H5private.h \ @@ -316,10 +316,7 @@ H5Fstdio.o: \ H5api_adpt.h \ H5Eprivate.h \ H5Epublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h + H5Ipublic.h H5G.o: \ H5G.c \ H5private.h \ @@ -353,10 +350,7 @@ H5G.o: \ H5ACprivate.h \ H5ACpublic.h \ H5HLprivate.h \ - H5HLpublic.h \ - H5Iprivate.h \ - H5MMprivate.h \ - H5MMpublic.h + H5HLpublic.h H5Gent.o: \ H5Gent.c \ H5private.h \ @@ -375,10 +369,7 @@ H5Gent.o: \ H5Gprivate.h \ H5Gpublic.h \ H5Bprivate.h \ - H5Bpublic.h \ - H5HLprivate.h \ - H5HLpublic.h \ - H5MMprivate.h + H5Bpublic.h H5Gnode.o: \ H5Gnode.c \ H5private.h \ @@ -410,7 +401,9 @@ H5Gnode.o: \ H5HGpublic.h \ H5Tprivate.h \ H5Tpublic.h \ - H5Sprivate.h + H5Sprivate.h \ + H5Spublic.h \ + H5Zprivate.h H5Gstab.o: \ H5Gstab.c \ H5private.h \ @@ -440,9 +433,7 @@ H5Gstab.o: \ H5HGpublic.h \ H5Tprivate.h \ H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h + H5Sprivate.h H5HG.o: \ H5HG.c \ H5private.h \ @@ -459,7 +450,9 @@ H5HG.o: \ H5Epublic.h \ H5HGprivate.h \ H5HGpublic.h \ - H5MFprivate.h + H5MFprivate.h \ + H5MFpublic.h \ + H5MMprivate.h H5HL.o: \ H5HL.c \ H5private.h \ @@ -476,14 +469,18 @@ H5HL.o: \ H5Epublic.h \ H5HLprivate.h \ H5HLpublic.h \ - H5MFprivate.h + H5MFprivate.h \ + H5MFpublic.h \ + H5MMprivate.h H5I.o: \ H5I.c \ H5private.h \ H5public.h \ H5config.h \ H5api_adpt.h \ - H5Iprivate.h + H5Iprivate.h \ + H5Ipublic.h \ + H5Eprivate.h H5MF.o: \ H5MF.c \ H5private.h \ @@ -492,17 +489,16 @@ H5MF.o: \ H5api_adpt.h \ H5Eprivate.h \ H5Epublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h + H5Ipublic.h H5MM.o: \ H5MM.c \ H5private.h \ H5public.h \ H5config.h \ H5api_adpt.h \ - H5Eprivate.h + H5Eprivate.h \ + H5Epublic.h \ + H5Ipublic.h H5O.o: \ H5O.c \ H5private.h \ @@ -531,569 +527,7 @@ H5O.o: \ H5HGprivate.h \ H5HGpublic.h \ H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Oattr.o: \ - H5Oattr.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Ocomp.o: \ - H5Ocomp.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Ocont.o: \ - H5Ocont.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Odtype.o: \ - H5Odtype.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Oefl.o: \ - H5Oefl.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5HLprivate.h \ - H5HLpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h -H5Ofill.o: \ - H5Ofill.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Iprivate.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h -H5Olayout.o: \ - H5Olayout.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Dprivate.h \ - H5Dpublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Eprivate.h \ - H5Epublic.h -H5Omtime.o: \ - H5Omtime.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Oname.o: \ - H5Oname.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Onull.o: \ - H5Onull.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Ipublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h -H5Osdspace.o: \ - H5Osdspace.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Oshared.o: \ - H5Oshared.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5Ostab.o: \ - H5Ostab.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5P.o: \ - H5P.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Iprivate.h \ - H5Ipublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Dprivate.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Eprivate.h -H5RA.o: \ - H5RA.c \ - H5RAprivate.h \ - H5RApublic.h \ - H5Ipublic.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Dprivate.h \ - H5Dpublic.h \ - H5private.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Iprivate.h \ - H5MMprivate.h \ - H5MMpublic.h -H5S.o: \ - H5S.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Iprivate.h \ - H5Ipublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h -H5Smpio.o: \ - H5Smpio.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h -H5Snone.o: \ - H5Snone.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Vprivate.h -H5T.o: \ - H5T.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Dprivate.h \ - H5Dpublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Iprivate.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Tpkg.h \ - H5Rprivate.h -H5Tbit.o: \ - H5Tbit.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Iprivate.h \ - H5Tpkg.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Rprivate.h \ - H5Rpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Gprivate.h \ - H5Gpublic.h -H5Tconv.o: \ - H5Tconv.c \ - H5Iprivate.h \ - H5Ipublic.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5private.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Tpkg.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Rprivate.h \ - H5Rpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Gprivate.h \ - H5Gpublic.h + H5Tpublic.h H5Tinit.o: \ H5Tinit.c \ H5private.h \ @@ -1115,200 +549,6 @@ H5Tinit.o: \ H5Rprivate.h \ H5Rpublic.h \ H5Tprivate.h \ - H5Tpublic.h -H5TB.o: \ - H5TB.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Iprivate.h \ - H5Ipublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h -H5V.o: \ - H5V.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h -H5Z.o: \ - H5Z.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h -H5R.o: \ - H5R.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Iprivate.h \ - H5Ipublic.h \ - H5Dprivate.h \ - H5Dpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Eprivate.h -H5Sall.o: \ - H5Sall.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Vprivate.h -H5Shyper.o: \ - H5Shyper.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Vprivate.h -H5Spoint.o: \ - H5Spoint.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ H5Tpublic.h \ - H5Zprivate.h -H5Sselect.o: \ - H5Sselect.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5api_adpt.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Iprivate.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h + H5Gpublic.h diff --git a/src/H5config.h.in b/src/H5config.h.in index eed36d5..0b8340e 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -173,6 +173,9 @@ /* Define if you have the ioctl function. */ #undef HAVE_IOCTL +/* Define if you have the longjmp function. */ +#undef HAVE_LONGJMP + /* Define if you have the lseek64 function. */ #undef HAVE_LSEEK64 @@ -182,6 +185,9 @@ /* Define if you have the sigaction function. */ #undef HAVE_SIGACTION +/* Define if you have the signal function. */ +#undef HAVE_SIGNAL + /* Define if you have the snprintf function. */ #undef HAVE_SNPRINTF @@ -197,6 +203,9 @@ /* Define if you have the <mfhdf.h> header file. */ #undef HAVE_MFHDF_H +/* Define if you have the <setjmp.h> header file. */ +#undef HAVE_SETJMP_H + /* Define if you have the <stddef.h> header file. */ #undef HAVE_STDDEF_H diff --git a/src/H5detect.c b/src/H5detect.c index 5736846..0af2e9d 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -60,6 +60,7 @@ static unsigned long find_bias(int, int, int *, void *); static void precision (detected_t*); static void print_header(void); static size_t align_g[] = {1, 2, 4, 8, 16}; +static jmp_buf jbuf_g; /*------------------------------------------------------------------------- @@ -241,6 +242,31 @@ precision (detected_t *d) precision (&(INFO)); \ } +#if defined(HAVE_LONGJMP) && defined(HAVE_SIGNAL) +#define ALIGNMENT(TYPE,ALIGN) { \ + char *_buf=NULL; \ + volatile TYPE _val=0; \ + volatile size_t _ano=0; \ + void (*_handler)(int) = signal(SIGBUS, sigbus_handler); \ + \ + _buf = malloc(sizeof(TYPE)+align_g[NELMTS(align_g)-1]); \ + if (setjmp(jbuf_g)) _ano++; \ + if (_ano<NELMTS(align_g)) { \ + *((TYPE*)(_buf+align_g[_ano])) = _val; /*possible SIGBUS*/ \ + _val = *((TYPE*)(_buf+align_g[_ano])); /*possible SIGBUS*/ \ + (ALIGN)=align_g[_ano]; \ + } else { \ + (ALIGN)=0; \ + fprintf(stderr, "unable to calculate alignment for %s\n", #TYPE); \ + } \ + free(_buf); \ + signal(SIGBUS, _handler); /*restore original handler*/ \ +} +#else +#define ALIGNMENT(TYPE,ALIGN) (ALIGN)=0 +#endif + +#if 0 #if defined(HAVE_FORK) && defined(HAVE_WAITPID) #define ALIGNMENT(TYPE,ALIGN) { \ char *_buf; \ @@ -285,8 +311,33 @@ precision (detected_t *d) #else #define ALIGNMENT(TYPE,ALIGN) (ALIGN)=0 #endif +#endif - + +/*------------------------------------------------------------------------- + * Function: sigbus_handler + * + * Purpose: Handler for SIGBUS. We use signal() instead of sigaction() + * because it's more portable to non-Posix systems. Although + * it's not nearly as nice to work with, it does the job for + * this simple stuff. + * + * Return: Returns via longjmp to jbuf_g. + * + * Programmer: Robb Matzke + * Thursday, March 18, 1999 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static void +sigbus_handler(int __unused__ signo) +{ + longjmp(jbuf_g, 1); + signal(SIGBUS, sigbus_handler); +} + /*------------------------------------------------------------------------- * Function: print_results diff --git a/src/H5private.h b/src/H5private.h index 1dae62c..ecac81c 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -74,6 +74,13 @@ #endif /* + * Longjumps are used to detect alignment constrants + */ +#ifdef HAVE_SETJMP_H +# include <setjmp.h> +#endif + +/* * Resource usage is not Posix.1 but HDF5 uses it anyway for some performance * and debugging code if available. */ |