diff options
author | Dana Robinson <43805+derobins@users.noreply.github.com> | 2020-11-30 04:44:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-30 04:44:47 (GMT) |
commit | a6e3d226043eb81aac3c315c6fd9262a036f9f1d (patch) | |
tree | 8ab035e1b34099be7ba09819e5a8982472376fe5 | |
parent | 3446fa699330abaf320a1199dadaebee6b73dbdf (diff) | |
download | hdf5-a6e3d226043eb81aac3c315c6fd9262a036f9f1d.zip hdf5-a6e3d226043eb81aac3c315c6fd9262a036f9f1d.tar.gz hdf5-a6e3d226043eb81aac3c315c6fd9262a036f9f1d.tar.bz2 |
FreeBSD autotools changes (#142)
* Updates to allow autotools builds on recent FreeBSD
* Switches the default C compiler to cc from gcc
(this may need a version string check if we want to support
FreeBSD 9 and earlier. FreeBSD 10 was released in 2014)
* Makes the default C++ compiler c++ (no previous setting)
* Both of these resolve to Clang on FreeBSD 10+
* Added a note about flang being unsuitable on FreeBSD
(the port uses an ancient build of flang that lacks Fortran
2003 support)
* Autotools only - CMake appears to use different CPP flags
which cause compilation errors
* Adds a RELEASE.txt note for new FreeBSD autotools changes
-rw-r--r-- | config/freebsd | 28 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 14 |
2 files changed, 38 insertions, 4 deletions
diff --git a/config/freebsd b/config/freebsd index 9a9348b..ba05380 100644 --- a/config/freebsd +++ b/config/freebsd @@ -18,19 +18,26 @@ # # See BlankForm in this directory for details. -# The default compiler is `gcc' +# The default compiler is 'cc' if test "X-" = "X-$CC"; then - CC=gcc - CC_BASENAME=gcc + CC=cc + CC_BASENAME=cc fi -# Figure out C compiler flags +# Figure out clang C compiler flags +. $srcdir/config/clang-flags + +# Figure out GNU C compiler flags . $srcdir/config/gnu-flags # Figure out Intel C compiler flags . $srcdir/config/intel-flags # The default Fortran 90 compiler +# No default Fortran compiler for clang. flang exists on +# FreeBSD as a port, but this is tied to an ancient LLVM +# and lacks Fortran 2003 features which causes configure +# to fail. if test "X-" = "X-$FC"; then case $CC_BASENAME in gcc*|pgcc*) @@ -54,3 +61,16 @@ fi # Figure out Intel F90 compiler flags . $srcdir/config/intel-fflags +# The default C++ compiler + +# The default compiler is 'c++'. +if test -z "$CXX"; then + CXX=c++ + CXX_BASENAME=c++ +fi + +# Figure out Clang CXX compiler flags +. $srcdir/config/clang-cxxflags + +# Figure out GNU CXX compiler flags +. $srcdir/config/gnu-cxxflags diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 690635a..9e3b67c 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -47,6 +47,20 @@ New Features Configuration: ------------- + - FreeBSD Autotools configuration now defaults to 'cc' and 'c++' compilers + + On FreeBSD, the autotools defaulted to 'gcc' as the C compiler and did + not process C++ options. Since FreeBSD 10, the default compiler has + been clang (via 'cc'). + + The default compilers have been set to 'cc' for C and 'c++' for C++, + which will pick up clang and clang++ respectively on FreeBSD 10+. + Additionally, clang options are now set correctly for both C and C++ + and g++ options will now be set if that compiler is being used (an + omission from the former functionality). + + (DER - 2020/11/28, HDFFV-11193) + - Fixed POSIX problems when building w/ gcc on Solaris When building on Solaris using gcc, the POSIX symbols were not |