summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2020-07-06 21:09:49 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2020-07-07 00:22:26 (GMT)
commitd9105b2fcf04f36ea348bf9726a49c05cacc0b78 (patch)
tree4edeae919315a2b137c7adce880a297944b0f58d
parentd52b27ad1d8142945a92310b79ab79171e76a3c3 (diff)
downloadhdf5-d9105b2fcf04f36ea348bf9726a49c05cacc0b78.zip
hdf5-d9105b2fcf04f36ea348bf9726a49c05cacc0b78.tar.gz
hdf5-d9105b2fcf04f36ea348bf9726a49c05cacc0b78.tar.bz2
Fixes Autotools builds on Solaris after monotonic timer changes
clock_gettime() wasn't being found, so some configure changes were needed to set an appropriate POSIX level and use a C99 compiler. This required several compiler flag changes. Autotools only
-rw-r--r--config/solaris21
-rw-r--r--configure.ac7
2 files changed, 23 insertions, 5 deletions
diff --git a/config/solaris b/config/solaris
index 656fee1..a424503 100644
--- a/config/solaris
+++ b/config/solaris
@@ -29,7 +29,9 @@ fi
# Try solaris native compiler flags
if test "X-" = "X-$cc_flags_set"; then
- H5_CFLAGS="$H5_CFLAGS -erroff=%none -DBSD_COMP"
+ # HDF5 must be built with a C99 compiler on Solaris
+ # -erroff=%none turns on all warnings
+ H5_CFLAGS="$H5_CFLAGS -xc99=all -erroff=%none"
# Production
# NDEBUG is handled explicitly by the configure script
@@ -41,17 +43,26 @@ if test "X-" = "X-$cc_flags_set"; then
DEBUG_CFLAGS=
# Symbols
+ # -g produces output for dbx, NOT gdb. You can use "gdb on" from
+ # inside gdb to use gdb commands if you need to debug.
+ # If you want a LOT of debugging information (at the expense of
+ # really slow code), try using -g3. That will even let you debug
+ # into macros.
+ # -s strips symbols, as in gcc
NO_SYMBOLS_CFLAGS="-s"
SYMBOLS_CFLAGS="-g"
# Profile
+ # This produces profiling output for gprof. If you want to use
+ # the Solaris profiler, use -xprofile instead.
PROFILE_CFLAGS="-xpg"
# Optimization
- # -g produces rather slow code. "-g -O" produces much faster code with some
- # loss of debugger functions such as not able to print local variables.
- HIGH_OPT_CFLAGS="-O"
- DEBUG_OPT_CFLAGS="-O"
+ # -O has switched to -xO{1|2|3|4|5}. -xO3 is probably a good compromise
+ # for the daily tests, but you might want to switch to -xO2 or lower
+ # if you are actively debugging.
+ HIGH_OPT_CFLAGS="-xO5"
+ DEBUG_OPT_CFLAGS="-xO3"
NO_OPT_CFLAGS=
cc_flags_set=yes
diff --git a/configure.ac b/configure.ac
index d7e3cb5..e16cbba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1249,6 +1249,13 @@ case "$host_cpu-$host_vendor-$host_os" in
## VFD on Linux systems.
H5_CPPFLAGS="-D_GNU_SOURCE $H5_CPPFLAGS"
;;
+
+ *solaris*)
+ ## Solaris also needs _POSIX_C_SOURCE set correctly to pick up
+ ## clock_gettime().
+ H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS"
+ H5_CPPFLAGS="-D_GNU_SOURCE $H5_CPPFLAGS"
+ ;;
esac
## Need to add the AM_ and H5_ into CFLAGS/CPPFLAGS to make them visible