summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <43805+derobins@users.noreply.github.com>2020-11-30 04:44:47 (GMT)
committerGitHub <noreply@github.com>2020-11-30 04:44:47 (GMT)
commita6e3d226043eb81aac3c315c6fd9262a036f9f1d (patch)
tree8ab035e1b34099be7ba09819e5a8982472376fe5
parent3446fa699330abaf320a1199dadaebee6b73dbdf (diff)
downloadhdf5-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/freebsd28
-rw-r--r--release_docs/RELEASE.txt14
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