diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2015-09-07 23:44:41 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2015-09-07 23:44:41 (GMT) |
commit | 4c8902cdf0dee80c05f20a953e96c5a70c95d2f5 (patch) | |
tree | 21c964af725654ea01e6bd397996062d3bc40374 | |
parent | 34be1d1aed91b56337eefe4cb76ee66b3e3dc0c4 (diff) | |
download | hdf5-4c8902cdf0dee80c05f20a953e96c5a70c95d2f5.zip hdf5-4c8902cdf0dee80c05f20a953e96c5a70c95d2f5.tar.gz hdf5-4c8902cdf0dee80c05f20a953e96c5a70c95d2f5.tar.bz2 |
[svn-r27692] Changed the autotools files so that the high-level library is unsupported
when building the thread-safe library.
Configure will quit with an error when --disable-hl or
--enable-unsupported is not used with --enable-threadsafe.
Fixes HDFFV-8719
Tested on: h5committest
configure w/ various combinations of --enable-threadsafe,
--disable-hl, and --enable-unsupported
-rwxr-xr-x | configure | 16 | ||||
-rw-r--r-- | configure.ac | 14 |
2 files changed, 25 insertions, 5 deletions
@@ -1581,9 +1581,8 @@ Optional Features: --disable-sharedlib-rpath Disable use of the '=Wl,-rpath' linker option --enable-production Determines how to run the compiler. - --enable-threadsafe Enable thread-safe capability. This will disable the - high-level library. You can override this behavior - by specifying --enable-hl and --enable-unsupported. + --enable-threadsafe Enable thread-safe capability. Not compatible with + the high-level library, Fortran, or C++ wrappers. [default=no] --enable-debug=all Turn on debugging in all packages. One may also specify a comma-separated list of package names @@ -25846,6 +25845,17 @@ fi ## with the thread-safety option because the lock is not hoisted ## into the higher-level API calls. +## --enable-threadsafe is incompatible with --enable-hl unless +## --enable-unsupported has been specified on the configure line. +## +## Note that the high-level library is enabled by default so most +## users will have to add --disable-hl to the configure options. +if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then + if test "X${HDF5_HL}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then + as_fn_error $? "The thread-safe library is incompatible with the high-level library. --disable-hl can be used to prevent building the high-level library (recommended). Alternatively, --enable-unsupported will allow building the high-level library, though this configuration is not supported by The HDF Group." "$LINENO" 5 + fi +fi + ## The --enable-threadsafe flag is not compatible with --enable-cxx. ## If the user tried to specify both flags, throw an error, unless ## they also provided the --enable-unsupported flag. diff --git a/configure.ac b/configure.ac index df14cec..a4f1457 100644 --- a/configure.ac +++ b/configure.ac @@ -1504,8 +1504,7 @@ AC_CACHE_SAVE AC_MSG_CHECKING([for thread safe support]) AC_ARG_ENABLE([threadsafe], [AS_HELP_STRING([--enable-threadsafe], - [Enable thread-safe capability. This will disable the high-level library. - You can override this behavior by specifying --enable-hl and --enable-unsupported. + [Enable thread-safe capability. Not compatible with the high-level library, Fortran, or C++ wrappers. [default=no]])], [THREADSAFE=$enableval]) @@ -1513,6 +1512,17 @@ AC_ARG_ENABLE([threadsafe], ## with the thread-safety option because the lock is not hoisted ## into the higher-level API calls. +## --enable-threadsafe is incompatible with --enable-hl unless +## --enable-unsupported has been specified on the configure line. +## +## Note that the high-level library is enabled by default so most +## users will have to add --disable-hl to the configure options. +if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then + if test "X${HDF5_HL}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then + AC_MSG_ERROR([The thread-safe library is incompatible with the high-level library. --disable-hl can be used to prevent building the high-level library (recommended). Alternatively, --enable-unsupported will allow building the high-level library, though this configuration is not supported by The HDF Group.]) + fi +fi + ## The --enable-threadsafe flag is not compatible with --enable-cxx. ## If the user tried to specify both flags, throw an error, unless ## they also provided the --enable-unsupported flag. |