changeset 566:cb162d45916d

./configure for SunOS now uses isainfo(1) to deduce native instruction set
author Tassilo Philipp
date Sun, 04 Sep 2022 11:11:20 +0200
parents d1fa4b5a41f7
children a94b985f9a91
files ChangeLog configure
diffstat 2 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Sep 04 10:36:51 2022 +0200
+++ b/ChangeLog	Sun Sep 04 11:11:20 2022 +0200
@@ -34,6 +34,7 @@
     signature and case generator) across test suites
 buildsys:
   o ./configure output for sun make builds: set correct C++ compiler flag var
+  o ./configure for SunOS now uses isainfo(1) to deduce native instruction set
 doc:
   o callconv section additions about aggregate-by-value passing for all platforms
   o new Linux-Std-Base-specific PPC32/SysV section, as aggregate retval handling differs from
--- a/configure	Sun Sep 04 10:36:51 2022 +0200
+++ b/configure	Sun Sep 04 11:11:20 2022 +0200
@@ -180,9 +180,16 @@
     # open distributions often don't come with default cc and CC, check for common alternatives.
     printf "CC=` (which cc gcc clang  ) | grep -v '^no ' | head -1`\n" >>$C
     printf "CXX=`(which CC g++ clang++) | grep -v '^no ' | head -1`\n" >>$C # C++ compiler traditionally named CC
-    printf "CCC=\${CXX}\n" >>$C          # Sun make's rules use CCC for c++ compiler
-    printf "CCFLAGS=\${CXXFLAGS}\n" >>$C # Sun make's rules use CCFLAGS for c++ compiler flags
     printf "LDLIBS=-lm -ldl\n" >>$C
+    # make use of native instruction set, many open 64bit distributions execute 32 bit code and might default to that
+    if which isainfo >/dev/null && [ `isainfo -b` -eq 64 ]; then
+      printf "CFLAGS=-m64\n" >>$C
+      printf "CXXFLAGS=-m64\n" >>$C
+      printf "ASFLAGS=-m64\n" >>$C
+    fi
+	# Sun make's rules use CCC and CCFLAGS for c++
+    printf "CCC=\${CXX}\n" >>$C
+    printf "CCFLAGS=\${CXXFLAGS}\n" >>$C
     ;;
   Minix)
     printf "CC=gcc\n" >>$C