summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1999-03-18 13:42:52 (GMT)
committerRobb Matzke <matzke@llnl.gov>1999-03-18 13:42:52 (GMT)
commit826dbc81465d5d45cb96960ddeee97fb8b536f2d (patch)
treeee7e208308f918dd90d23ab64cdb793158efe4f3 /src
parent4ec2ca72ba19629e76fe9de26f82119b0929b307 (diff)
downloadhdf5-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/.distdep870
-rw-r--r--src/H5config.h.in9
-rw-r--r--src/H5detect.c53
-rw-r--r--src/H5private.h7
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.
*/