summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure78
-rw-r--r--configure.in19
-rw-r--r--src/H5Z.c2
-rw-r--r--src/H5config.h.in3
-rw-r--r--src/H5detect.c64
5 files changed, 139 insertions, 27 deletions
diff --git a/configure b/configure
index b524b3a..edac543 100755
--- a/configure
+++ b/configure
@@ -1646,6 +1646,8 @@ Optional Features:
--enable-strict-format-checks
Enable strict file format checks, default=yes if
debug flag is enabled, no otherwise
+ --enable-embedded-libinfo
+ Enable embedded library information [default=yes]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -8078,13 +8080,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:8081: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:8083: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:8084: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:8086: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:8087: output\"" >&5)
+ (eval echo "\"\$as_me:8089: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -9305,7 +9307,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 9308 "configure"' > conftest.$ac_ext
+ echo '#line 9310 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -12176,11 +12178,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12179: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12181: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12183: \$? = $ac_status" >&5
+ echo "$as_me:12185: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12515,11 +12517,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12518: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12520: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12522: \$? = $ac_status" >&5
+ echo "$as_me:12524: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12620,11 +12622,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12623: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12625: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12627: \$? = $ac_status" >&5
+ echo "$as_me:12629: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12675,11 +12677,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12678: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12680: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12682: \$? = $ac_status" >&5
+ echo "$as_me:12684: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -15511,7 +15513,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 15514 "configure"
+#line 15516 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15607,7 +15609,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 15610 "configure"
+#line 15612 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17635,11 +17637,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17638: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17640: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17642: \$? = $ac_status" >&5
+ echo "$as_me:17644: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -17734,11 +17736,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17737: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17739: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17741: \$? = $ac_status" >&5
+ echo "$as_me:17743: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17786,11 +17788,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17789: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17791: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17793: \$? = $ac_status" >&5
+ echo "$as_me:17795: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -19331,11 +19333,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19334: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19336: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:19338: \$? = $ac_status" >&5
+ echo "$as_me:19340: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -19430,11 +19432,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19433: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19435: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19437: \$? = $ac_status" >&5
+ echo "$as_me:19439: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -19482,11 +19484,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19485: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19487: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19489: \$? = $ac_status" >&5
+ echo "$as_me:19491: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -51236,6 +51238,30 @@ echo "${ECHO_T}no" >&6; }
esac
+{ echo "$as_me:$LINENO: checking Whether to have library information embedded in the executables" >&5
+echo $ECHO_N "checking Whether to have library information embedded in the executables... $ECHO_C" >&6; }
+# Check whether --enable-embedded-libinfo was given.
+if test "${enable_embedded_libinfo+set}" = set; then
+ enableval=$enable_embedded_libinfo; enable_embedded_libinfo=$enableval
+else
+ enable_embedded_libinfo=yes
+fi
+
+
+ if test "${enable_embedded_libinfo}" = "yes"; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_EMBEDDED_LIBINFO 1
+_ACEOF
+
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ fi
+
+
{ echo "$as_me:$LINENO: checking if alignment restrictions are strictly enforced" >&5
echo $ECHO_N "checking if alignment restrictions are strictly enforced... $ECHO_C" >&6; }
if test "$cross_compiling" = yes; then
diff --git a/configure.in b/configure.in
index 57632d5..37f7b4c 100644
--- a/configure.in
+++ b/configure.in
@@ -3796,6 +3796,25 @@ esac
dnl ----------------------------------------------------------------------
+dnl Enable embedded library information
+dnl
+AC_MSG_CHECKING([Whether to have library information embedded in the executables])
+AC_ARG_ENABLE([embedded-libinfo],
+ [AC_HELP_STRING([--enable-embedded-libinfo],
+ [Enable embedded library information [default=yes]])],
+ [enable_embedded_libinfo=$enableval],
+ [enable_embedded_libinfo=yes])
+
+ if test "${enable_embedded_libinfo}" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_EMBEDDED_LIBINFO], [1],
+ [Define if library information should be embedded in the executables])
+ else
+ AC_MSG_RESULT([no])
+ fi
+
+
+dnl ----------------------------------------------------------------------
dnl Check if pointer alignments are enforced
dnl
AC_MSG_CHECKING([if alignment restrictions are strictly enforced])
diff --git a/src/H5Z.c b/src/H5Z.c
index 80382f4..d3e1066 100644
--- a/src/H5Z.c
+++ b/src/H5Z.c
@@ -227,7 +227,7 @@ H5Zregister(const void *cls)
herr_t ret_value=SUCCEED; /* Return value */
FUNC_ENTER_API(H5Zregister, FAIL)
- H5TRACE1("e", "*Zc", cls);
+ H5TRACE1("e", "*x", cls);
/* Check args */
if (cls_real==NULL)
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 1c70790..a3e879b 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -84,6 +84,9 @@
/* Define to 1 if you have the <dmalloc.h> header file. */
#undef HAVE_DMALLOC_H
+/* Define if library information should be embedded in the executables */
+#undef HAVE_EMBEDDED_LIBINFO
+
/* Define to 1 if you have the <features.h> header file. */
#undef HAVE_FEATURES_H
diff --git a/src/H5detect.c b/src/H5detect.c
index b67c2b0..146750c 100644
--- a/src/H5detect.c
+++ b/src/H5detect.c
@@ -108,6 +108,7 @@ 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(void);
static size_t align_g[] = {1, 2, 4, 8, 16};
static jmp_buf jbuf_g;
@@ -502,6 +503,64 @@ sigbus_handler(int UNUSED signo)
/*-------------------------------------------------------------------------
+ * Function: insert_libhdf5_settings
+ *
+ * Purpose: Insert contents of libhdf5.settings so that it is included
+ * in all hdf5 executables.
+ *
+ * Return: void
+ *
+ * Programmer: Albert Cheng
+ * Apr 20, 2009
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+#define LIBSETTINGSFNAME "libhdf5.settings"
+static void
+insert_libhdf5_settings(void)
+{
+ FILE *fsettings;
+ char inchar;
+ int bol=0; /* indicates the beginning of a new line */
+
+ if (NULL==(fsettings=HDfopen(LIBSETTINGSFNAME, "r"))){
+ perror(LIBSETTINGSFNAME);
+ exit(1);
+ }
+ /* print variable definition */
+ printf("extern char H5libhdf5_settings[]=\n");
+ bol++;
+ while (EOF != (inchar = getc(fsettings))){
+ if (bol){
+ /* Start a new line */
+ printf("\t\"");
+ bol = 0;
+ }
+ if (inchar == '\n'){
+ /* end of a line */
+ printf("\\n\"\n");
+ bol++;
+ }else{
+ putchar(inchar);
+ }
+ }
+ if (feof(fsettings)){
+ /* wrap up */
+ if (!bol){
+ /* EOF found without a new line */
+ printf("\\n\"\n");
+ };
+ printf(";\n\n");
+ }else{
+ fprintf(stderr, "Read errors encountered with %s\n", LIBSETTINGSFNAME);
+ exit(1);
+ }
+}
+
+
+/*-------------------------------------------------------------------------
* Function: print_results
*
* Purpose: Prints information about the detected data types.
@@ -580,6 +639,11 @@ print_results(int nd, detected_t *d, int na, malign_t *misc_align)
/*******************/\n\
\n");
+#ifdef H5_HAVE_EMBEDDED_LIBINFO
+ /* Insert content of libhdf5.settings */
+ insert_libhdf5_settings();
+#endif
+
/* The interface initialization function */
printf("\n\
\n\