--- SConstruct 2023-06-16 20:55:56.000000000 +0800 +++ SConstruct 2024-04-09 15:23:59.000000000 +0800 @@ -1416,6 +1416,8 @@ 'aarch64' : { 'endian': 'little', 'check': '(defined(__arm64__) || defined(__aarch64__))' }, 'emscripten' : { 'endian': 'little', 'check': '(defined(__EMSCRIPTEN__))' }, 'ppc64le' : { 'endian': 'little', 'check': '(defined(__powerpc64__))' }, + 'ppc64' : { 'endian': 'big', 'check': '(defined(__ppc64__))' }, + 'ppc' : { 'endian': 'big', 'check': '(defined(__ppc__))' }, 'riscv64' : { 'endian': 'little', 'check': '(defined(__riscv)) && (__riscv_xlen == 64)' }, 's390x' : { 'endian': 'big', 'check': '(defined(__s390x__))' }, 'x86_64' : { 'endian': 'little', 'check': '(defined(__x86_64) || defined(_M_AMD64))' }, @@ -2491,9 +2493,7 @@ ) # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. - env.Append( CCFLAGS=["-fasynchronous-unwind-tables", - "-ggdb" if not env.TargetOSIs('emscripten') else "-g", - "-Wall", + env.Append( CCFLAGS=["-Wall", "-Wsign-compare", "-Wno-unknown-pragmas", "-Winvalid-pch"] ) @@ -2663,6 +2663,8 @@ "aarch64" : { "-march=" : "armv8.2-a", "-mtune=" : "generic" }, "i386" : { "-march=" : "nocona", "-mtune=" : "generic" }, "ppc64le" : { "-mcpu=" : "power8", "-mtune=" : "power8", "-mcmodel=" : "medium" }, + "ppc64" : { "-mtune=" : "970" }, + "ppc" : { "-mtune=" : "native" }, "s390x" : { "-march=" : "z196", "-mtune=" : "zEC12" }, } @@ -4564,6 +4566,8 @@ # the compiler can actualy do for us. extended_alignment_search_sequence = { 'ppc64le' : [ 128, 64, 32 ], + 'ppc64' : [ 128, 64, 32 ], + 'ppc' : [ 128, 64, 32 ], 's390x' : [ 256, 128, 64, 32 ], } @@ -4632,6 +4636,8 @@ if (free_monitoring == "on") and (http_client == "off"): env.ConfError("FreeMonitoring requires an HTTP client which has been explicitly disabled") + # What is called Altivec below seems misleading, as it checks for VSX instead. + # Will not be useful then. if env['TARGET_ARCH'] == "ppc64le": # This checks for an altivec optimization we use in full text search. # Different versions of gcc appear to put output bytes in different