|
| 1 | +diff --git a/hints/linux.sh b/hints/linux.sh |
| 2 | +index e1508c7..d5a7f25 100644 |
| 3 | +--- a/hints/linux.sh |
| 4 | ++++ b/hints/linux.sh |
| 5 | +@@ -106,12 +106,29 @@ case "`${cc:-cc} -V 2>&1`" in |
| 6 | + '') optimize='-O3' ;; |
| 7 | + esac |
| 8 | + ;; |
| 9 | ++ |
| 10 | ++# the new Intel C/C++ compiler, LLVM based, replaces ICC which |
| 11 | ++# is no longer maintained from around October 2023 |
| 12 | ++*"Intel(R) oneAPI DPC++/C++ Compiler"*) |
| 13 | ++ # version from end of first line, like: |
| 14 | ++ # Intel(R) oneAPI DPC++/C++ Compiler 2024.1.0 (2024.1.0.20240308) |
| 15 | ++ ccversion=`${cc:-cc} --version | sed -n -e 's/^Intel.*(\(.*\))/\1/p'` |
| 16 | ++ # If we're using ICX, we usually want the best performance |
| 17 | ++ case "$optimize" in |
| 18 | ++ '') optimize='-O3' ;; |
| 19 | ++ esac |
| 20 | ++ # fp-model defaults to "fast" which mis-handles NaNs |
| 21 | ++ ccflags="-fp-model=precise $ccflags" |
| 22 | ++ ;; |
| 23 | ++ |
| 24 | + *" Sun "*"C"*) |
| 25 | + # Sun's C compiler, which might have a 'tag' name between |
| 26 | + # 'Sun' and the 'C': Examples: |
| 27 | + # cc: Sun C 5.9 Linux_i386 Patch 124871-01 2007/07/31 |
| 28 | + # cc: Sun Ceres C 5.10 Linux_i386 2008/07/10 |
| 29 | +- test "$optimize" || optimize='-xO2' |
| 30 | ++ # cc: Studio 12.6 Sun C 5.15 Linux_i386 2017/05/30 |
| 31 | ++ # GH #21535 - apparent optimization bug in workshop cc |
| 32 | ++ test "$optimize" || optimize='-O1' |
| 33 | + cccdlflags='-KPIC' |
| 34 | + lddlflags='-G -Bdynamic' |
| 35 | + # Sun C doesn't support gcc attributes, but, in many cases, doesn't |
| 36 | +@@ -123,6 +140,15 @@ case "`${cc:-cc} -V 2>&1`" in |
| 37 | + d_attribute_pure='undef' |
| 38 | + d_attribute_unused='undef' |
| 39 | + d_attribute_warn_unused_result='undef' |
| 40 | ++ case "$cc" in |
| 41 | ++ *c99) # Without -Xa c99 errors on some Linux system headers |
| 42 | ++ # in particular zero sized arrays at the end of structs |
| 43 | ++ case "$ccflags" in |
| 44 | ++ *-Xa*) ;; |
| 45 | ++ *) ccflags="$ccflags -Xa" ;; |
| 46 | ++ esac |
| 47 | ++ ;; |
| 48 | ++ esac |
| 49 | + ;; |
| 50 | + esac |
| 51 | + |
| 52 | +@@ -166,7 +192,7 @@ esac |
| 53 | + if [ -x /usr/bin/gcc ] ; then |
| 54 | + gcc=/usr/bin/gcc |
| 55 | + # clang also provides -print-search-dirs |
| 56 | +-elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then |
| 57 | ++elif ${cc:-cc} --version 2>/dev/null | grep -q -e '^clang version' -e ' clang version'; then |
| 58 | + gcc=${cc:-cc} |
| 59 | + else |
| 60 | + gcc=gcc |
| 61 | +@@ -460,3 +486,10 @@ case "$libdb_needs_pthread" in |
| 62 | + libswanted="$libswanted pthread" |
| 63 | + ;; |
| 64 | + esac |
| 65 | ++ |
| 66 | ++# Detect case-insensitive file systems |
| 67 | ++echo X >UU/casesense.tmp |
| 68 | ++if test -f UU/CASESENSE.TMP && test -f UU/CaSeSeNsE.tMp; then |
| 69 | ++ firstmakefile='GNUmakefile' |
| 70 | ++fi |
| 71 | ++rm -f UU/casesense.tmp |
0 commit comments