summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2003-04-18 04:30:26 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2003-04-18 04:30:26 (GMT)
commit8eb1a6150fa7d07c5c04905f95c6a50b599f0a85 (patch)
tree0215e8ce882f105dd6827cf6a61203131fd70b45 /src
parent32bcb46b2319fa851c0b25f83c7082784372f44a (diff)
downloadhdf5-8eb1a6150fa7d07c5c04905f95c6a50b599f0a85.zip
hdf5-8eb1a6150fa7d07c5c04905f95c6a50b599f0a85.tar.gz
hdf5-8eb1a6150fa7d07c5c04905f95c6a50b599f0a85.tar.bz2
[svn-r6711] Purpose:
Bug fix Description: Sometimes when H5detect fails (incorrect code, incorrect mpi launch command, insufficient resources,...), it generates an incomplete or even empty H5Tinit.c file. If the empty file is not removed but the make is run again, make will just use the empty file to generate the library which will have lots of missing routines. Make won't fail until much later and the missing routines would be puzzling to inexperienced users. Solution: If H5detect fails, the generated H5Tinit.c will be removed unless $HDF5_Make_Ignore is set. This is similar to removing .o file if the compile fails. Platforms tested: Copper (parallel) which has a condition causing H5detect to fail. That verified the change works. Eirene (parallel) in which H5detect runs well. This verified the change works in normal conditions too. Did not do the h5committest because this is just a makefile change and the above two tests covered it well. Misc. update:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 08c7186..03f4cf8 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -71,10 +71,14 @@ PRIVATE_HDR=H5private.h H5Aprivate.h H5Apkg.h H5ACprivate.h H5Bprivate.h \
## Number format detection
## The LD_LIBRARY_PATH setting is a klutch.
## Things should have been all set during H5detect making.
+## Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+## is set to ignore the error.
H5Tinit.c: H5detect
- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
- sed -e 's/-L/:/g' -e 's/ //g'`" \
- $(RUNSERIAL) ./H5detect >H5Tinit.c
+ LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+ sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5detect > H5Tinit.c || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
## no $(LIB) in the action below since that's being made now.
H5detect: H5detect.lo