summaryrefslogtreecommitdiffstats
path: root/src/H5.c
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2009-09-21 05:28:44 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2009-09-21 05:28:44 (GMT)
commit1d2bf10ae704d08b03ce9f86234e81368549ba3e (patch)
treee3acb5907b24c0b624334b15a961eb9e1a69dbe4 /src/H5.c
parent22d4097ff71fcdb7fbc505d3296f63943251ffd3 (diff)
downloadhdf5-1d2bf10ae704d08b03ce9f86234e81368549ba3e.zip
hdf5-1d2bf10ae704d08b03ce9f86234e81368549ba3e.tar.gz
hdf5-1d2bf10ae704d08b03ce9f86234e81368549ba3e.tar.bz2
[svn-r17502] Purpose:
Stage 2 implementation of embedded library information feature. H5.c: added code to print the embedded library information when there is a library versions mis-match occurs. This ensures the library information string is included in the executable. Also modifies the code so that the Library mismatch warning string is included only once in the executable. H5private.h: Added a global reference to the libinfo string variable to prepare for possible stage 3 implementation of a public API. test/testlibinfo.sh.in: A new test added to verify the library information is indeed included in the executables. configure.in: configure: Added entry to auto-generate test/testlibinfo.sh. H5detect.c: Modified the libhdf5settings generating code to allow it to insert the strings to a file other than stdout. This maybe needed in stage 3 implementation. MANIFEST: updated with the newly added file of testlibinfo.sh.in. Tested: h5committest passed. Additional tests: jam serial; jam --disable-embedded-libinfo; jam --disable-shared. All passed.
Diffstat (limited to 'src/H5.c')
-rw-r--r--src/H5.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/H5.c b/src/H5.c
index b49db8d..f11e8b7 100644
--- a/src/H5.c
+++ b/src/H5.c
@@ -28,7 +28,7 @@
#include "H5Lprivate.h" /* Links */
#include "H5Pprivate.h" /* Property lists */
#include "H5Tprivate.h" /* Datatypes */
-#include "H5SLprivate.h" /* Skip lists */
+#include "H5SLprivate.h" /* Skip lists */
/****************/
@@ -623,6 +623,7 @@ H5check_version(unsigned majnum, unsigned minnum, unsigned relnum)
static int checked = 0; /* If we've already checked the version info */
static int disable_version_check = 0; /* Set if the version check should be disabled */
herr_t ret_value=SUCCEED; /* Return value */
+ static char *version_mismatch_warning=VERSION_MISMATCH_WARNING;
FUNC_ENTER_API_NOINIT_NOFS(H5check_version)
H5TRACE3("e", "IuIuIu", majnum, minnum, relnum);
@@ -644,15 +645,16 @@ H5check_version(unsigned majnum, unsigned minnum, unsigned relnum)
H5_VERS_RELEASE!=relnum) {
switch (disable_version_check) {
case 0:
- HDfputs (VERSION_MISMATCH_WARNING
+ HDfprintf(stderr, "%s%s", version_mismatch_warning,
"You can, at your own risk, disable this warning by setting the environment\n"
"variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.\n"
- "Setting it to 2 will suppress the warning messages totally.\n",
- stderr);
+ "Setting it to 2 will suppress the warning messages totally.\n");
/* Mention the versions we are referring to */
HDfprintf (stderr, "Headers are %u.%u.%u, library is %u.%u.%u\n",
majnum, minnum, relnum,
(unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
+ /* Show library settings if available */
+ HDfprintf (stderr, "%s", H5libhdf5_settings);
/* Bail out now. */
HDfputs ("Bye...\n", stderr);
@@ -662,14 +664,18 @@ H5check_version(unsigned majnum, unsigned minnum, unsigned relnum)
break;
default:
/* continue with a warning */
- HDfprintf (stderr, VERSION_MISMATCH_WARNING
- "'HDF5_DISABLE_VERSION_CHECK' "
+ /* Note that the warning message is embedded in the format string. */
+ HDfprintf (stderr,
+ "%s'HDF5_DISABLE_VERSION_CHECK' "
"environment variable is set to %d, application will\n"
- "continue at your own risk.\n", disable_version_check);
+ "continue at your own risk.\n",
+ version_mismatch_warning, disable_version_check);
/* Mention the versions we are referring to */
HDfprintf (stderr, "Headers are %u.%u.%u, library is %u.%u.%u\n",
majnum, minnum, relnum,
(unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
+ /* Show library settings if available */
+ HDfprintf (stderr, "%s", H5libhdf5_settings);
break;
} /* end switch */