summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2010-03-30 18:55:41 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2010-03-30 18:55:41 (GMT)
commite1282224cdd7c05ef3c278b4e46b85fb59b2bc72 (patch)
tree6f92746cc6e4567669c706880497a6a7338d3281 /src
parentabdfc0f817f84303b88410a5f5608a6655e45b8d (diff)
downloadhdf5-e1282224cdd7c05ef3c278b4e46b85fb59b2bc72.zip
hdf5-e1282224cdd7c05ef3c278b4e46b85fb59b2bc72.tar.gz
hdf5-e1282224cdd7c05ef3c278b4e46b85fb59b2bc72.tar.bz2
[svn-r18470] bug fix:
recent changes to the embedded library generation code does not quite work for the AIX system. The strings command of AIX does not display the embedded library information be default. Solution: Changed the H5libhhdf5_setting[] to be an extern variable. Also removed the const qualifier so that strings can see the variable data. Tested: Blue-print (with embedded-libinfo enabled and disabled).
Diffstat (limited to 'src')
-rw-r--r--src/H5.c2
-rw-r--r--src/H5make_libsettings.c6
-rw-r--r--src/H5private.h2
-rwxr-xr-xsrc/Makefile.am8
-rw-r--r--src/Makefile.in8
5 files changed, 15 insertions, 11 deletions
diff --git a/src/H5.c b/src/H5.c
index e94b1b4..7586247 100644
--- a/src/H5.c
+++ b/src/H5.c
@@ -22,7 +22,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5lib_settings.h" /* Library build setings */
#include "H5ACprivate.h" /* Metadata cache */
#include "H5Dprivate.h" /* Datasets */
#include "H5Eprivate.h" /* Error handling */
@@ -57,6 +56,7 @@ static void H5_debug_mask(const char*);
/*********************/
/* Package Variables */
/*********************/
+#include "H5lib_settings.c" /* Embedded library information */
/*****************************/
diff --git a/src/H5make_libsettings.c b/src/H5make_libsettings.c
index 771c510..f91e61e 100644
--- a/src/H5make_libsettings.c
+++ b/src/H5make_libsettings.c
@@ -75,7 +75,8 @@ insert_libhdf5_settings(FILE *flibinfo)
exit(1);
}
/* print variable definition and the string */
- fprintf(flibinfo, "static 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 = getc(fsettings))){
if (bol){
@@ -108,7 +109,8 @@ insert_libhdf5_settings(FILE *flibinfo)
}
#else
/* print variable definition and an empty string */
- fprintf(flibinfo, "static const char H5libhdf5_settings[]=\"\";\n");
+ /* Do not use const else AIX strings does not show it. */
+ fprintf(flibinfo, "char H5libhdf5_settings[]=\"\";\n");
#endif
} /* insert_libhdf5_settings() */
diff --git a/src/H5private.h b/src/H5private.h
index d0d3ded..a67cac2 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1529,6 +1529,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 4d36f21..f370c98 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -36,7 +36,7 @@ lib_LTLIBRARIES=libhdf5.la
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
+MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
# H5pubconf.h is generated by configure, and should be cleaned.
DISTCLEANFILES=H5pubconf.h
@@ -129,17 +129,17 @@ H5Tinit.c: H5detect$(EXEEXT)
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
($(RM) $@ ; exit 1)
-H5.o H5.lo: H5lib_settings.h
+H5.o H5.lo: H5lib_settings.c
# 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
# 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) > H5lib_settings.c || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
($(RM) $@ ; exit 1)
diff --git a/src/Makefile.in b/src/Makefile.in
index e77e877..d21cb87 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -450,7 +450,7 @@ lib_LTLIBRARIES = libhdf5.la
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
+MOSTLYCLEANFILES = H5Tinit.c H5lib_settings.c
# H5pubconf.h is generated by configure, and should be cleaned.
DISTCLEANFILES = H5pubconf.h
@@ -1219,17 +1219,17 @@ H5Tinit.c: H5detect$(EXEEXT)
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
($(RM) $@ ; exit 1)
-H5.o H5.lo: H5lib_settings.h
+H5.o H5.lo: H5lib_settings.c
# 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
# 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) > H5lib_settings.c || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
($(RM) $@ ; exit 1)