diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2011-05-23 19:15:39 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2011-05-23 19:15:39 (GMT) |
commit | 0418b80b226e22db0b8ddbfcd3754a90c8eb54f9 (patch) | |
tree | 0cb1388b845ecd5ca21f8c29da1bb711739bb65a /configure.in | |
parent | 3cfec078a6d5305657380b68558900d8aa955470 (diff) | |
download | hdf5-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.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 18 |
1 files changed, 11 insertions, 7 deletions
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 |