summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2011-05-23 19:15:39 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2011-05-23 19:15:39 (GMT)
commit0418b80b226e22db0b8ddbfcd3754a90c8eb54f9 (patch)
tree0cb1388b845ecd5ca21f8c29da1bb711739bb65a
parent3cfec078a6d5305657380b68558900d8aa955470 (diff)
downloadhdf5-0418b80b226e22db0b8ddbfcd3754a90c8eb54f9.zip
hdf5-0418b80b226e22db0b8ddbfcd3754a90c8eb54f9.tar.gz
hdf5-0418b80b226e22db0b8ddbfcd3754a90c8eb54f9.tar.bz2
[svn-r20894] Purpose:
Updates configure definitions on linux. Description: We only define _POSIX_SOURCE which only allows for the lowest level of POSIX support (IEEE 1003.1), which is unsuitable for clock_gettime() functionality on modern linux systems. This symbol was changed to _POSIX_C_SOURCE=199506L, which gives the 1996 version of POSIX support and allows clock_gettime() and CLOCK_MONOTONIC to be found. We do not link to the BSD compatibility library, even though we define _BSD_SOURCE. -lbsd-compat was added to AM_LDFLAGS in accordance with GNU recommendations. This does not appear to change anything in the current library. Tested on: jam(linux32-LE) This was tested with various configure settings including parallel, threadsafe, C++ and FORTRAN enabled.
-rwxr-xr-xconfigure7
-rw-r--r--configure.in18
2 files changed, 15 insertions, 10 deletions
diff --git a/configure b/configure
index 2aaf8ba..a1ef9a7 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Id: configure.in 20891 2011-05-23 17:02:39Z derobins .
+# From configure.in Id: configure.in 20892 2011-05-23 17:29:14Z derobins .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for HDF5 1.9.82.
#
@@ -22506,9 +22506,10 @@ case "$host_cpu-$host_vendor-$host_os" in
AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS"
fi
- H5_CPPFLAGS="-D_POSIX_SOURCE $H5_CPPFLAGS"
+ H5_CPPFLAGS="-D_POSIX_C_SOURCE=199506L $H5_CPPFLAGS"
- AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
+ AM_LDFLAGS="-lbsd-compat $AM_LDFLAGS"
;;
esac
diff --git a/configure.in b/configure.in
index c761e5a..fb488c7 100644
--- a/configure.in
+++ b/configure.in
@@ -1378,19 +1378,23 @@ case "$host_cpu-$host_vendor-$host_os" in
dnl H5_CPPFLAGS because fdopen and HDfdopen fail without it. HDfdopen
dnl is used only by H5_debug_mask which is used only when debugging in
dnl H5_init_library (all in H5.c). When the flag was removed this was
- dnl the only compile failure noted; however, defining the Macro
- dnl makes available the functionality from the POSIX.1 standard as well
- dnl as all or the ISO C facilities, according to a discussion of
- dnl defining the _POSIX_SOURCE, _BSD_SOURCE, and _POSIX_C_SOURCE Macros
- dnl and their interaction found at
- dnl http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html.
- H5_CPPFLAGS="-D_POSIX_SOURCE $H5_CPPFLAGS"
+ dnl the only compile failure noted.
+ dnl This was originally defined as _POSIX_SOURCE which was updated to
+ dnl _POSIX_C_SOURCE=199506L to expose a greater amount of POSIX
+ dnl functionality so clock_gettime and CLOCK_MONOTONIC are defined
+ dnl correctly.
+ dnl POSIX feature information can be found in the gcc manual at:
+ dnl http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html
+ H5_CPPFLAGS="-D_POSIX_C_SOURCE=199506L $H5_CPPFLAGS"
dnl Also add BSD support on Linux systems, so <features.h> defines
dnl __USE_BSD, which is required to get the prototype for strdup
dnl defined correctly in <string.h> and snprintf & vsnprintf defined
dnl correctly in <stdio.h>
+ dnl Linking to the bsd-compat library is required as per the gcc manual:
+ dnl http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html
AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
+ AM_LDFLAGS="-lbsd-compat $AM_LDFLAGS"
;;
esac