diff options
-rw-r--r-- | src/H5.c | 2 | ||||
-rw-r--r-- | src/H5detect.c | 1 | ||||
-rw-r--r-- | src/H5make_libsettings.c | 40 | ||||
-rw-r--r-- | src/H5private.h | 2 | ||||
-rwxr-xr-x | src/Makefile.am | 16 | ||||
-rw-r--r-- | src/Makefile.in | 59 |
6 files changed, 49 insertions, 71 deletions
@@ -16,14 +16,12 @@ /****************/ /* Module Setup */ /****************/ -#define H5_LIBSETTINGS_OWNER /* This module is the owner of the lib settings variable */ /***********/ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5lib_settings.h" /* Library build settings */ #include "H5ACprivate.h" /* Metadata cache */ #include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ diff --git a/src/H5detect.c b/src/H5detect.c index 8fc1690..50b36fd 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -108,7 +108,6 @@ static void detect_C99_integers16(void); static void detect_C99_integers32(void); static void detect_C99_integers64(void); static void detect_alignments(void); -static void insert_libhdf5_settings(FILE *flibinfo); static size_t align_g[] = {1, 2, 4, 8, 16}; static jmp_buf jbuf_g; diff --git a/src/H5make_libsettings.c b/src/H5make_libsettings.c index 49b17bd..d903592 100644 --- a/src/H5make_libsettings.c +++ b/src/H5make_libsettings.c @@ -35,7 +35,7 @@ static const char *FileHeader = "\n\ * 17 Mar 2010 * Quincey Koziol * - * Purpose: Generate the H5libsettings.h header file from the + * Purpose: Generate the H5libsettings.c file from the * libhdf5.settings file. * *------------------------------------------------------------------------- @@ -66,11 +66,7 @@ static const char *FileHeader = "\n\ static void insert_libhdf5_settings(FILE *flibinfo) { - fprintf(flibinfo, "#ifndef H5_LIBSETTINGS_OWNER\n"); - fprintf(flibinfo, "extern const char H5libhdf5_settings[];\n"); - fprintf(flibinfo, "#else /* H5_LIBSETTINGS_OWNER */\n"); #ifdef H5_HAVE_EMBEDDED_LIBINFO -{ FILE *fsettings; /* for files libhdf5.settings */ int inchar; int bol = 0; /* indicates the beginning of a new line */ @@ -81,8 +77,8 @@ insert_libhdf5_settings(FILE *flibinfo) } /* end if */ /* print variable definition and the string */ - /* Do not use static else AIX strings does not show it. */ - fprintf(flibinfo, "const char H5libhdf5_settings[]=\n"); + /* Do not use const else AIX strings does not show it. */ + fprintf(flibinfo, "char H5libhdf5_settings[]=\n"); bol++; while(EOF != (inchar = HDgetc(fsettings))) { if(bol) { @@ -113,13 +109,11 @@ insert_libhdf5_settings(FILE *flibinfo) HDperror(LIBSETTINGSFNAME); HDexit(1); } /* end if */ -} #else /* print variable definition and an empty string */ - /* Do not use static else AIX strings does not show it. */ - fprintf(flibinfo, "const char H5libhdf5_settings[]=\"\";\n"); + /* Do not use const else AIX strings does not show it. */ + fprintf(flibinfo, "char H5libhdf5_settings[]=\"\";\n"); #endif - fprintf(flibinfo, "#endif /* H5_LIBSETTINGS_OWNER */\n"); } /* insert_libhdf5_settings() */ @@ -148,7 +142,7 @@ make_libinfo(void) /*------------------------------------------------------------------------- * Function: print_header * - * Purpose: Prints the H file header for the generated file. + * Purpose: Prints the header for the generated file. * * Return: void * @@ -253,16 +247,13 @@ information about the library build configuration\n"; for(i = 0; i < 73; i++) HDputchar('-'); printf("\n */\n\n"); - - printf("#ifndef _H5lib_settings_H\n"); - printf("#define _H5lib_settings_H\n\n"); } /*------------------------------------------------------------------------- * Function: print_footer * - * Purpose: Prints the H file footer for the generated file. + * Purpose: Prints the file footer for the generated file. * * Return: void * @@ -275,7 +266,7 @@ information about the library build configuration\n"; static void print_footer(void) { - printf("#endif /* _H5lib_settings_H */\n\n"); + /* nothing */ } @@ -288,16 +279,8 @@ print_footer(void) * * Failure: exit(1) * - * Programmer: Robb Matzke - * matzke@llnl.gov - * Jun 12, 1996 - * - * Modifications: - * Albert Cheng, 2004/05/20 - * Some compilers, e.g., Intel C v7.0, took a long time to compile - * with optimization when a module routine contains many code lines. - * Divide up all those types detections macros into subroutines, both - * to avoid the compiler optimization error and cleaner codes. + * Programmer: Albert Cheng + * 2010/4/1 * *------------------------------------------------------------------------- */ @@ -311,6 +294,5 @@ main(void) print_footer(); - return 0; + HDexit(0); } - diff --git a/src/H5private.h b/src/H5private.h index 277fe70..860e8ac 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -1535,6 +1535,8 @@ typedef struct H5_debug_t { extern H5_debug_t H5_debug_g; #define H5DEBUG(X) (H5_debug_g.pkg[H5_PKG_##X].stream) +/* Do not use const else AIX strings does not show it. */ +extern char H5libhdf5_settings[]; /* embedded library information */ /*------------------------------------------------------------------------- * Purpose: These macros are inserted automatically just after the diff --git a/src/Makefile.am b/src/Makefile.am index 735cf9d..9acfcd2 100755 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -35,8 +35,8 @@ lib_LTLIBRARIES=libhdf5.la # Add libtool numbers to the HDF5 library (from config/lt_vers.am) libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) -# H5Tinit.c is a generated file, and should be cleaned. -MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.h +# H5Tinit.c and H5lib_settings.c are generated files and should be cleaned. +MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c # H5pubconf.h is generated by configure, and should be cleaned. DISTCLEANFILES=H5pubconf.h @@ -72,7 +72,7 @@ libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \ H5HFspace.c H5HFstat.c H5HFtest.c H5HFtiny.c \ H5HG.c H5HGcache.c H5HGdbg.c \ H5HL.c H5HLcache.c H5HLdbg.c H5HLint.c \ - H5HP.c H5I.c H5L.c H5Lexternal.c \ + H5HP.c H5I.c H5L.c H5Lexternal.c H5lib_settings.c \ H5MF.c H5MFaggr.c H5MFdbg.c H5MFsection.c \ H5MM.c H5MP.c H5MPtest.c \ H5O.c H5Oainfo.c H5Oalloc.c H5Oattr.c \ @@ -130,21 +130,19 @@ settings_DATA=libhdf5.settings H5Tinit.c: H5detect$(EXEEXT) LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ sed -e 's/-L/:/g' -e 's/ //g'`" \ - $(RUNSERIAL) ./H5detect$(EXEEXT) > H5Tinit.c || \ + $(RUNSERIAL) ./H5detect$(EXEEXT) > $@ || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ ($(RM) $@ ; exit 1) -H5.o H5.lo: H5lib_settings.h - # Build configuration header file generation # The LD_LIBRARY_PATH setting is a kludge. # Things should have been all set during H5make_libsettings making. -# Remove the generated .h file if errors occur unless HDF5_Make_Ignore +# Remove the generated .c file if errors occur unless HDF5_Make_Ignore # is set to ignore the error. -H5lib_settings.h: H5make_libsettings$(EXEEXT) libhdf5.settings +H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ sed -e 's/-L/:/g' -e 's/ //g'`" \ - $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > H5lib_settings.h || \ + $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@ || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ ($(RM) $@ ; exit 1) diff --git a/src/Makefile.in b/src/Makefile.in index ac8e2af..40e0097 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -123,27 +123,27 @@ am_libhdf5_la_OBJECTS = H5.lo H5checksum.lo H5dbg.lo H5system.lo \ H5HFman.lo H5HFsection.lo H5HFspace.lo H5HFstat.lo H5HFtest.lo \ H5HFtiny.lo H5HG.lo H5HGcache.lo H5HGdbg.lo H5HL.lo \ H5HLcache.lo H5HLdbg.lo H5HLint.lo H5HP.lo H5I.lo H5L.lo \ - H5Lexternal.lo H5MF.lo H5MFaggr.lo H5MFdbg.lo H5MFsection.lo \ - H5MM.lo H5MP.lo H5MPtest.lo H5O.lo H5Oainfo.lo H5Oalloc.lo \ - H5Oattr.lo H5Oattribute.lo H5Obogus.lo H5Obtreek.lo \ - H5Ocache.lo H5Ocont.lo H5Ocopy.lo H5Odbg.lo H5Odrvinfo.lo \ - H5Odtype.lo H5Oefl.lo H5Ofill.lo H5Ofsinfo.lo H5Oginfo.lo \ - H5Olayout.lo H5Olinfo.lo H5Olink.lo H5Omessage.lo H5Omtime.lo \ - H5Oname.lo H5Onull.lo H5Opline.lo H5Orefcount.lo H5Osdspace.lo \ - H5Oshared.lo H5Ostab.lo H5Oshmesg.lo H5Otest.lo H5Ounknown.lo \ - H5P.lo H5Pacpl.lo H5Pdapl.lo H5Pdcpl.lo H5Pdeprec.lo \ - H5Pdxpl.lo H5Pfapl.lo H5Pfcpl.lo H5Pfmpl.lo H5Pgcpl.lo \ - H5Pint.lo H5Plapl.lo H5Plcpl.lo H5Pocpl.lo H5Pocpypl.lo \ - H5Pstrcpl.lo H5Ptest.lo H5R.lo H5Rdeprec.lo H5RC.lo H5RS.lo \ - H5S.lo H5Sall.lo H5Sdbg.lo H5Shyper.lo H5Smpio.lo H5Snone.lo \ - H5Spoint.lo H5Sselect.lo H5Stest.lo H5SL.lo H5SM.lo \ - H5SMbtree2.lo H5SMcache.lo H5SMmessage.lo H5SMtest.lo H5ST.lo \ - H5T.lo H5Tarray.lo H5Tbit.lo H5Tcommit.lo H5Tcompound.lo \ - H5Tconv.lo H5Tcset.lo H5Tdbg.lo H5Tdeprec.lo H5Tenum.lo \ - H5Tfields.lo H5Tfixed.lo H5Tfloat.lo H5Tinit.lo H5Tnative.lo \ - H5Toffset.lo H5Toh.lo H5Topaque.lo H5Torder.lo H5Tpad.lo \ - H5Tprecis.lo H5Tstrpad.lo H5Tvisit.lo H5Tvlen.lo H5TS.lo \ - H5V.lo H5WB.lo H5Z.lo H5Zdeflate.lo H5Zfletcher32.lo \ + H5Lexternal.lo H5lib_settings.lo H5MF.lo H5MFaggr.lo \ + H5MFdbg.lo H5MFsection.lo H5MM.lo H5MP.lo H5MPtest.lo H5O.lo \ + H5Oainfo.lo H5Oalloc.lo H5Oattr.lo H5Oattribute.lo H5Obogus.lo \ + H5Obtreek.lo H5Ocache.lo H5Ocont.lo H5Ocopy.lo H5Odbg.lo \ + H5Odrvinfo.lo H5Odtype.lo H5Oefl.lo H5Ofill.lo H5Ofsinfo.lo \ + H5Oginfo.lo H5Olayout.lo H5Olinfo.lo H5Olink.lo H5Omessage.lo \ + H5Omtime.lo H5Oname.lo H5Onull.lo H5Opline.lo H5Orefcount.lo \ + H5Osdspace.lo H5Oshared.lo H5Ostab.lo H5Oshmesg.lo H5Otest.lo \ + H5Ounknown.lo H5P.lo H5Pacpl.lo H5Pdapl.lo H5Pdcpl.lo \ + H5Pdeprec.lo H5Pdxpl.lo H5Pfapl.lo H5Pfcpl.lo H5Pfmpl.lo \ + H5Pgcpl.lo H5Pint.lo H5Plapl.lo H5Plcpl.lo H5Pocpl.lo \ + H5Pocpypl.lo H5Pstrcpl.lo H5Ptest.lo H5R.lo H5Rdeprec.lo \ + H5RC.lo H5RS.lo H5S.lo H5Sall.lo H5Sdbg.lo H5Shyper.lo \ + H5Smpio.lo H5Snone.lo H5Spoint.lo H5Sselect.lo H5Stest.lo \ + H5SL.lo H5SM.lo H5SMbtree2.lo H5SMcache.lo H5SMmessage.lo \ + H5SMtest.lo H5ST.lo H5T.lo H5Tarray.lo H5Tbit.lo H5Tcommit.lo \ + H5Tcompound.lo H5Tconv.lo H5Tcset.lo H5Tdbg.lo H5Tdeprec.lo \ + H5Tenum.lo H5Tfields.lo H5Tfixed.lo H5Tfloat.lo H5Tinit.lo \ + H5Tnative.lo H5Toffset.lo H5Toh.lo H5Topaque.lo H5Torder.lo \ + H5Tpad.lo H5Tprecis.lo H5Tstrpad.lo H5Tvisit.lo H5Tvlen.lo \ + H5TS.lo H5V.lo H5WB.lo H5Z.lo H5Zdeflate.lo H5Zfletcher32.lo \ H5Znbit.lo H5Zshuffle.lo H5Zszip.lo H5Zscaleoffset.lo \ H5Ztrans.lo libhdf5_la_OBJECTS = $(am_libhdf5_la_OBJECTS) @@ -453,8 +453,8 @@ lib_LTLIBRARIES = libhdf5.la # Add libtool numbers to the HDF5 library (from config/lt_vers.am) libhdf5_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) -# H5Tinit.c is a generated file, and should be cleaned. -MOSTLYCLEANFILES = H5Tinit.c H5lib_settings.h +# H5Tinit.c and H5lib_settings.c are generated files and should be cleaned. +MOSTLYCLEANFILES = H5Tinit.c H5lib_settings.c # H5pubconf.h is generated by configure, and should be cleaned. DISTCLEANFILES = H5pubconf.h @@ -490,7 +490,7 @@ libhdf5_la_SOURCES = H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \ H5HFspace.c H5HFstat.c H5HFtest.c H5HFtiny.c \ H5HG.c H5HGcache.c H5HGdbg.c \ H5HL.c H5HLcache.c H5HLdbg.c H5HLint.c \ - H5HP.c H5I.c H5L.c H5Lexternal.c \ + H5HP.c H5I.c H5L.c H5Lexternal.c H5lib_settings.c \ H5MF.c H5MFaggr.c H5MFdbg.c H5MFsection.c \ H5MM.c H5MP.c H5MPtest.c \ H5O.c H5Oainfo.c H5Oalloc.c H5Oattr.c \ @@ -917,6 +917,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5checksum.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5dbg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5detect-H5detect.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5lib_settings.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5make_libsettings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5system.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5timer.Plo@am__quote@ @@ -1245,21 +1246,19 @@ help: H5Tinit.c: H5detect$(EXEEXT) LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ sed -e 's/-L/:/g' -e 's/ //g'`" \ - $(RUNSERIAL) ./H5detect$(EXEEXT) > H5Tinit.c || \ + $(RUNSERIAL) ./H5detect$(EXEEXT) > $@ || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ ($(RM) $@ ; exit 1) -H5.o H5.lo: H5lib_settings.h - # Build configuration header file generation # The LD_LIBRARY_PATH setting is a kludge. # Things should have been all set during H5make_libsettings making. -# Remove the generated .h file if errors occur unless HDF5_Make_Ignore +# Remove the generated .c file if errors occur unless HDF5_Make_Ignore # is set to ignore the error. -H5lib_settings.h: H5make_libsettings$(EXEEXT) libhdf5.settings +H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ sed -e 's/-L/:/g' -e 's/ //g'`" \ - $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > H5lib_settings.h || \ + $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@ || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ ($(RM) $@ ; exit 1) |