hrev54625 adds 1 changeset to branch 'master'
old head: a3f0a36a7944ff506ef01c8fe34ccbd28579e06e
new head: 47320dd0abaf18e29575277a4b4aa49f5715e7e8
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=47320dd0abaf+%5Ea3f0a36a7944
----------------------------------------------------------------------------
47320dd0abaf: configure & build: Rework legacy GCC detection to parse versions
outside of Jam.
Jam comparison logic is string-based, and so was detecting GCC >= 10
as being < 2. This rectifies that by removing the GCC version parsing
from Jam logic entirely, and setting various BuildConfig variables
instead.
Change-Id: I0c0ae3b9002fb5e77f9ca7a78600c91871657f03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3293
Reviewed-by: Adrien Destugues <pulkomandy@xxxxxxxxx>
Reviewed-by: Jérôme Duval <jerome.duval@xxxxxxxxx>
Reviewed-by: Alex von Gluck IV <kallisti5@xxxxxxxxxxx>
[ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev54625
Commit: 47320dd0abaf18e29575277a4b4aa49f5715e7e8
URL: https://git.haiku-os.org/haiku/commit/?id=47320dd0abaf
Author: Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date: Wed Oct 7 03:46:18 2020 UTC
Committer: Alex von Gluck IV <kallisti5@xxxxxxxxxxx>
Commit-Date: Fri Oct 9 01:20:02 2020 UTC
----------------------------------------------------------------------------
19 files changed, 54 insertions(+), 74 deletions(-)
build/jam/ArchitectureRules | 26 +++++++++-------------
build/jam/BuildFeatureRules | 2 +-
build/jam/BuildSetup | 17 +++++++--------
build/jam/HelperRules | 30 +-------------------------
build/jam/OptionalPackages | 5 ++---
build/jam/packages/Haiku | 2 +-
build/jam/packages/HaikuBootstrap | 2 +-
build/jam/packages/HaikuCrossDevel | 2 +-
build/jam/packages/HaikuDevel | 2 +-
build/jam/packages/HaikuDevelSecondary | 2 +-
build/jam/packages/HaikuSecondary | 2 +-
build/jam/packages/HaikuSecondaryBootstrap | 2 +-
configure | 20 +++++++++++++++--
src/add-ons/screen_savers/gravity/Jamfile | 2 +-
src/add-ons/translators/png/Jamfile | 4 ++--
src/apps/haiku3d/Jamfile | 2 +-
src/system/boot/Jamfile | 2 +-
src/system/libroot/os/arch/x86/Jamfile | 2 +-
src/tools/bfs_shell/Jamfile | 2 +-
----------------------------------------------------------------------------
diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules
index eff6fde919..e74c6cddae 100644
--- a/build/jam/ArchitectureRules
+++ b/build/jam/ArchitectureRules
@@ -7,18 +7,13 @@ rule ArchitectureSetup architecture
# architecture), if this is the first invocation of the rule, and adds
# the architecture to HAIKU_ARCHS, if not yet contained.
- # analyze GCC version
- local gccVersion
- = [ FAnalyzeGCCVersion HAIKU_GCC_RAW_VERSION_$(architecture) ] ;
- HAIKU_GCC_VERSION_$(architecture) = $(gccVersion) ;
-
# enable GCC -pipe option, if requested
local ccBaseFlags ;
if $(HAIKU_USE_GCC_PIPE) = 1 {
ccBaseFlags = -pipe ;
}
- if $(gccVersion[1]) >= 3 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
# disable strict aliasing on anything newer than gcc 2 as it
may lead to
# unexpected results.
# TODO: remove the -fno-strict-aliasing option when all code
has been
@@ -122,7 +117,7 @@ rule ArchitectureSetup architecture
HAIKU_WERROR_FLAGS_$(architecture) = ;
- if $(gccVersion[1]) >= 4 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
# TODO: Remove all these.
HAIKU_WERROR_FLAGS_$(architecture) +=
-Wno-error=unused-but-set-variable
-Wno-error=deprecated -Wno-error=deprecated-declarations
@@ -149,7 +144,7 @@ rule ArchitectureSetup architecture
# TODO: Temporary work-around. Should be defined in the compiler specs
HAIKU_LINKFLAGS_$(architecture) += -Xlinker --no-undefined ;
- if $(gccVersion[1]) < 3 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
HAIKU_DEFINES_$(architecture) += _BEOS_R5_COMPATIBLE_ ;
}
@@ -222,7 +217,6 @@ rule KernelArchitectureSetup architecture
HAIKU_KERNEL_ARCH = $(HAIKU_ARCH) ;
- local gccVersion = $(HAIKU_GCC_VERSION_$(architecture)) ;
local cpu = $(HAIKU_CPU_$(architecture)) ;
switch $(cpu) {
@@ -352,8 +346,8 @@ rule KernelArchitectureSetup architecture
# C/C++ flags
local ccBaseFlags = -finline -fno-builtin ;
- if $(gccVersion[1]) >= 4 {
- if $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
+ if ! $(HAIKU_CC_IS_CLANG_$(architecture)) {
# Clang does not yet understand this flag.
ccBaseFlags += -fno-semantic-interposition ;
}
@@ -363,7 +357,8 @@ rule KernelArchitectureSetup architecture
local c++BaseFlags = $(ccBaseFlags) -fno-exceptions ;
- if $(gccVersion[1]) >= 3 && $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1
+ && $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
c++BaseFlags += -fno-use-cxa-atexit ;
}
@@ -501,7 +496,7 @@ rule KernelArchitectureSetup architecture
} else {
HAIKU_BOOT_$(bootTarget:U)_LDFLAGS +=
-m elf_i386_haiku ;
}
- if $(gccVersion[1]) >= 3 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) !=
1 {
HAIKU_BOOT_$(bootTarget:U)_CCFLAGS +=
-Wno-error=main -m32 ;
HAIKU_BOOT_$(bootTarget:U)_C++FLAGS +=
-Wno-error=main -m32 ;
}
@@ -514,7 +509,7 @@ rule KernelArchitectureSetup architecture
} else {
HAIKU_BOOT_$(bootTarget:U)_LDFLAGS +=
-m elf_i386_haiku ;
}
- if $(gccVersion[1]) >= 3 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) !=
1 {
HAIKU_BOOT_$(bootTarget:U)_CCFLAGS +=
-Wno-error=main -m32 ;
HAIKU_BOOT_$(bootTarget:U)_C++FLAGS +=
-Wno-error=main -m32 ;
}
@@ -606,8 +601,7 @@ rule ArchitectureSetupWarnings architecture
# Work-around for GCC 2 problem -- despite -Wno-multichar it reports
# multichar warnings in headers/private/kernel/debugger_keymaps.h
included
# by src/system/kernel/arch/x86/arch_debug_console.cpp.
- local gccVersion = $(HAIKU_GCC_VERSION_$(architecture)) ;
- if $(gccVersion[1]) = 2 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
local file = <src!system!kernel!arch!x86>arch_debug_console.o ;
WARNINGS on $(file) = $(WARNINGS) ;
}
diff --git a/build/jam/BuildFeatureRules b/build/jam/BuildFeatureRules
index 62d5545da4..602e46d6d5 100644
--- a/build/jam/BuildFeatureRules
+++ b/build/jam/BuildFeatureRules
@@ -447,7 +447,7 @@ rule InitArchitectureBuildFeatures architecture
# Add all secondary architectures as build features (with prefix).
EnableBuildFeatures secondary_$(TARGET_PACKAGING_ARCHS[2-]) ;
- if $(TARGET_GCC_VERSION_$(architecture)[1]) = 2 {
+ if $(TARGET_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
EnableBuildFeatures gcc2 ;
}
diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup
index dc8862fde5..53598de16d 100644
--- a/build/jam/BuildSetup
+++ b/build/jam/BuildSetup
@@ -239,12 +239,9 @@ HOST_ARCH ?= $(HOST_CPU) ;
HOST_ARCHS = $(HOST_ARCH) ;
HOST_KERNEL_ARCH = host ;
-# analyze GCC version
-HOST_GCC_VERSION = [ FAnalyzeGCCVersion HOST_GCC_RAW_VERSION ] ;
-
# set packaging architecture
HOST_PACKAGING_ARCH ?= $(HOST_CPU) ;
-if $(HOST_PACKAGING_ARCH) = x86 && $(HOST_GCC_VERSION[1]) = 2 {
+if $(HOST_PACKAGING_ARCH) = x86 && $(HOST_CC_IS_LEGACY_GCC) = 1 {
HOST_PACKAGING_ARCH = x86_gcc2 ;
}
HOST_PACKAGING_ARCHS = $(HOST_PACKAGING_ARCH) ;
@@ -276,7 +273,7 @@ HOST_C++FLAGS += -Wno-multichar ;
HOST_PIC_CCFLAGS += -fPIC ;
HOST_PIC_C++FLAGS += -fPIC ;
-if $(HOST_GCC_VERSION[1]) >= 3 {
+if $(HOST_CC_IS_LEGACY_GCC) != 1 {
HOST_GCC_BASE_FLAGS += -fno-strict-aliasing
-fno-delete-null-pointer-checks ;
}
@@ -306,7 +303,7 @@ if $(HOST_ARCH) = m68k {
if $(HOST_PLATFORM) != darwin {
# fix for new changes to DSO linking policies
HOST_LINKFLAGS += -Xlinker --no-as-needed ;
- if $(HOST_GCC_VERSION[1]) >= 3 {
+ if $(HOST_CC_IS_LEGACY_GCC) != 1 {
HOST_LINKFLAGS += -Wl,--copy-dt-needed-entries ;
}
}
@@ -382,7 +379,7 @@ HOST_LIBBE = libbe_build.so ;
if $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
# the C++ standard and support libraries
- if $(HOST_GCC_VERSION[1]) < 3 {
+ if $(HOST_CC_IS_LEGACY_GCC) = 1 {
HOST_LIBSTDC++ = stdc++.r4 ;
HOST_LIBSUPC++ = ;
} else {
@@ -418,7 +415,7 @@ if $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
HOST_PTHREAD_LINKFLAGS = -pthread ;
# the C++ support library
- if $(HOST_GCC_VERSION[1]) < 3 {
+ if $(HOST_CC_IS_LEGACY_GCC) = 1 {
HOST_LIBSUPC++ = ;
} else {
HOST_LIBSUPC++ = supc++ ;
@@ -586,10 +583,12 @@ local buildVars =
;
local archDependentBuildVars =
- ARCH CPU GCC_VERSION
+ ARCH CPU
AR CC C++ ELFEDIT LD OBJCOPY RANLIB STRIP
+ CC_IS_LEGACY_GCC CC_IS_CLANG
+
ARFLAGS ASFLAGS UNARFLAGS CPPFLAGS CCFLAGS C++FLAGS HDRS LDFLAGS
LINK LINKFLAGS
diff --git a/build/jam/HelperRules b/build/jam/HelperRules
index 18e70a7170..1dcdfbf5b2 100644
--- a/build/jam/HelperRules
+++ b/build/jam/HelperRules
@@ -208,40 +208,12 @@ rule SetPlatformCompatibilityFlagVariables
?= $($(varPrefix)_PLATFORM_HAIKU_COMPATIBLE) ;
}
-rule FAnalyzeGCCVersion
-{
- # FAnalyzeGCCVersion <rawVersionVariable> ;
- #
- local varName = $(1) ;
- local rawVersion = $($(varName)) ;
-
- if ! $(rawVersion) {
- ECHO "Variable $(varName) not set. Please run ./configure or" ;
- EXIT "specify it manually." ;
- }
-
- local version = ;
- # split the raw version string at `.' and `-' characters
- while $(rawVersion) {
- local split = [ Match "([^.-]*)[.-](.*)" : $(rawVersion) ] ;
- if $(split) {
- version += $(split[1]) ;
- rawVersion = $(split[2]) ;
- } else {
- version += $(rawVersion) ;
- rawVersion = ;
- }
- }
-
- return $(version) ;
-}
-
rule SetIncludePropertiesVariables prefix : suffix
{
# SetIncludePropertiesVariables <prefix> : <suffix> ;
#
suffix = $(suffix:E=) ;
- if $($(prefix)_GCC_VERSION$(suffix)[1]) < 4 {
+ if $($(prefix)_CC_IS_LEGACY_GCC$(suffix)) {
$(prefix)_INCLUDES_SEPARATOR$(suffix) = -I- ;
$(prefix)_LOCAL_INCLUDES_OPTION$(suffix) = -I ;
$(prefix)_SYSTEM_INCLUDES_OPTION$(suffix) = -I ;
diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages
index 53622c9b6c..75719a8e6a 100644
--- a/build/jam/OptionalPackages
+++ b/build/jam/OptionalPackages
@@ -41,11 +41,10 @@ if [ IsOptionalHaikuImagePackageAdded BeBook ] {
# BeOSCompatibility
if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
- if $(TARGET_ARCH) != x86 {
+ if $(TARGET_ARCH) != x86
+ || $(TARGET_CC_IS_LEGACY_GCC_$(TARGET_PACKAGING_ARCH))
!= 1 {
Echo "No optional package BeOSCompatibility available for"
"$(TARGET_ARCH)" ;
- } else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 {
- Echo "No optional package BeOSCompatibility available for gcc4"
;
} else {
Echo "Warning: Adding BeOS compatibility symlinks. This will go
away."
"Please fix your apps!" ;
diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku
index d5828d7b7c..de4c2d4120 100644
--- a/build/jam/packages/Haiku
+++ b/build/jam/packages/Haiku
@@ -93,7 +93,7 @@ AddLibrariesToPackage lib
: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;
# libnetwork.so replaces quite a few libraries
-if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
+if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
local libNetworkAliases = libsocket.so libbind.so libnet.so ;
local lib ;
for lib in $(libNetworkAliases) {
diff --git a/build/jam/packages/HaikuBootstrap
b/build/jam/packages/HaikuBootstrap
index 2bea48e1ac..44cf71ed00 100644
--- a/build/jam/packages/HaikuBootstrap
+++ b/build/jam/packages/HaikuBootstrap
@@ -87,7 +87,7 @@ AddLibrariesToPackage lib
: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;
# libnetwork.so replaces quite a few libraries
-if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
+if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
local libNetworkAliases = libsocket.so libbind.so libnet.so ;
local lib ;
for lib in $(libNetworkAliases) {
diff --git a/build/jam/packages/HaikuCrossDevel
b/build/jam/packages/HaikuCrossDevel
index 1a6405b1ab..e03f2ab62c 100644
--- a/build/jam/packages/HaikuCrossDevel
+++ b/build/jam/packages/HaikuCrossDevel
@@ -93,7 +93,7 @@ for stage in _stage0 _stage1 "" {
if $(stage) != _stage0 {
# cpp headers
- if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
+ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
# GCC 2 only -- for GCC 4 they come with the
DevelopmentBase package
CopyDirectoryToPackage $(developCrossHeadersDirTokens)
c++
: [ FDirName $(HAIKU_TOP) headers cpp ] :
2.95.3 ;
diff --git a/build/jam/packages/HaikuDevel b/build/jam/packages/HaikuDevel
index 407aabbf55..ebb86a9f25 100644
--- a/build/jam/packages/HaikuDevel
+++ b/build/jam/packages/HaikuDevel
@@ -79,7 +79,7 @@ AddHeaderDirectoryToPackage compatibility bsd : bsd ;
AddHeaderDirectoryToPackage compatibility gnu : gnu ;
# cpp headers
-if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
+if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
# GCC 2 only -- for GCC 4 they come with the gcc package
CopyDirectoryToPackage develop headers c++
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ;
diff --git a/build/jam/packages/HaikuDevelSecondary
b/build/jam/packages/HaikuDevelSecondary
index 042b1e6b85..947d4e03eb 100644
--- a/build/jam/packages/HaikuDevelSecondary
+++ b/build/jam/packages/HaikuDevelSecondary
@@ -48,7 +48,7 @@ AddFilesToPackage develop lib $(architecture)
# ABI independent stuff
# cpp headers
-if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
+if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
# GCC 2 only -- for GCC 4 they come with the gcc package
CopyDirectoryToPackage develop headers c++
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ;
diff --git a/build/jam/packages/HaikuSecondary
b/build/jam/packages/HaikuSecondary
index fe9a5be417..96b5ac5b18 100644
--- a/build/jam/packages/HaikuSecondary
+++ b/build/jam/packages/HaikuSecondary
@@ -10,7 +10,7 @@ AddLibrariesToPackage lib $(architecture)
: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;
# libnetwork.so replaces quite a few libraries
-if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
+if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
local libNetworkAliases = libsocket.so libbind.so libnet.so ;
local lib ;
for lib in $(libNetworkAliases) {
diff --git a/build/jam/packages/HaikuSecondaryBootstrap
b/build/jam/packages/HaikuSecondaryBootstrap
index c51afc376a..d159d1cbf6 100644
--- a/build/jam/packages/HaikuSecondaryBootstrap
+++ b/build/jam/packages/HaikuSecondaryBootstrap
@@ -11,7 +11,7 @@ AddLibrariesToPackage lib $(architecture)
: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;
# libnetwork.so replaces quite a few libraries
-if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
+if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
local libNetworkAliases = libsocket.so libbind.so libnet.so ;
local lib ;
for lib in $(libNetworkAliases) {
diff --git a/configure b/configure
index 1493f1e851..5d7a1391e8 100755
--- a/configure
+++ b/configure
@@ -239,6 +239,19 @@ valid_toolchain()
return 1
}
+# is_legacy_gcc
+#
+# Determines if the specified GCC version is a "legacy" (i.e. GCC < 4) one.
+#
+is_legacy_gcc()
+{
+ if [ `echo $1 | cut -d'.' -f1` -lt 4 ]; then
+ echo 1
+ else
+ echo 0
+ fi
+}
+
# standard_gcc_settings
#
# Sets the variables for a GCC platform.
@@ -331,6 +344,8 @@ standard_gcc_settings()
set_variable HAIKU_CPU_$targetArch $targetCpu
get_build_tool_path CC_$targetArch "$gcc"
+ set_variable HAIKU_CC_IS_LEGACY_GCC_$targetArch \
+ `is_legacy_gcc $gccRawVersion`
set_variable HAIKU_CC_IS_CLANG_$targetArch $useClang
set_variable HAIKU_GCC_RAW_VERSION_$targetArch $gccRawVersion
set_variable HAIKU_GCC_MACHINE_$targetArch $gccMachine
@@ -608,6 +623,7 @@ fi
# exported (BuildSetup) default parameter values
#
HOST_GCC_RAW_VERSION=`$CC -dumpversion`
+HOST_CC_IS_LEGACY_GCC=`is_legacy_gcc $HOST_GCC_RAW_VERSION`
HOST_GCC_MACHINE=`$CC -dumpmachine`
HAIKU_INCLUDE_SOURCES=0
HAIKU_INCLUDE_3RDPARTY=0
@@ -1082,7 +1098,7 @@ HAIKU_HOST_BUILD_ONLY ?=
"${HAIKU_HOST_BUILD_ONLY}" ;
JAMSHELL ?= ${JAMSHELL} -c ;
HOST_CC ?= ${CC} ;
-HOST_GCC_RAW_VERSION ?= ${HOST_GCC_RAW_VERSION} ;
+HOST_CC_IS_LEGACY_GCC ?= ${HOST_CC_IS_LEGACY_GCC} ;
HOST_GCC_MACHINE ?= ${HOST_GCC_MACHINE} ;
HOST_LD ?= ${HOST_GCC_LD} ;
HOST_OBJCOPY ?= ${HOST_GCC_OBJCOPY} ;
@@ -1103,11 +1119,11 @@ EOF
for targetArch in $HAIKU_PACKAGING_ARCHS; do
variables="
HAIKU_CC HAIKU_CC
+ HAIKU_CC_IS_LEGACY_GCC HAIKU_CC_IS_LEGACY_GCC
HAIKU_CC_IS_CLANG HAIKU_CC_IS_CLANG
HAIKU_USE_GCC_GRAPHITE HAIKU_USE_GCC_GRAPHITE
HAIKU_CPU HAIKU_CPU
HAIKU_GCC_MACHINE HAIKU_GCC_MACHINE
- HAIKU_GCC_RAW_VERSION HAIKU_GCC_RAW_VERSION
HAIKU_GCC_LIB_DIR HAIKU_GCC_LIB_DIR
HAIKU_BOOT_LIBGCC HAIKU_BOOT_LIBGCC
HAIKU_BOOT_LIBSUPC++ HAIKU_BOOT_LIBSUPCXX
diff --git a/src/add-ons/screen_savers/gravity/Jamfile
b/src/add-ons/screen_savers/gravity/Jamfile
index 024fccadc3..dd4f7ca2ad 100644
--- a/src/add-ons/screen_savers/gravity/Jamfile
+++ b/src/add-ons/screen_savers/gravity/Jamfile
@@ -3,7 +3,7 @@ UseBuildFeatureHeaders glu ;
UseBuildFeatureHeaders mesa ;
# For GCC2
-if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 {
+if $(TARGET_CC_IS_LEGACY_GCC_$(TARGET_PACKAGING_ARCH)) = 1 {
SubDirC++Flags --no-warnings ;
}
diff --git a/src/add-ons/translators/png/Jamfile
b/src/add-ons/translators/png/Jamfile
index a3a94e331a..9e43e8d04b 100644
--- a/src/add-ons/translators/png/Jamfile
+++ b/src/add-ons/translators/png/Jamfile
@@ -4,7 +4,7 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources PNGTranslator : PNGTranslator.rdef ;
-if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) = 2 {
+if $(TARGET_CC_IS_LEGACY_GCC_$(TARGET_PACKAGING_ARCH)) = 1 {
SubDirCcFlags -DPNG_NO_PEDANTIC_WARNINGS ;
}
@@ -17,7 +17,7 @@ for architectureObject in [ MultiArchSubDirSetup ] {
Includes [ FGristFiles PNGTranslator.cpp PNGView.cpp ]
: [ BuildFeatureAttribute libpng : headers ] ;
- Translator [ MultiArchDefaultGristFiles PNGTranslator ] :
+ Translator [ MultiArchDefaultGristFiles PNGTranslator ] :
PNGMain.cpp
PNGTranslator.cpp
PNGView.cpp
diff --git a/src/apps/haiku3d/Jamfile b/src/apps/haiku3d/Jamfile
index e9266cbfdc..930b70b9b7 100644
--- a/src/apps/haiku3d/Jamfile
+++ b/src/apps/haiku3d/Jamfile
@@ -6,7 +6,7 @@ SEARCH_SOURCE += [ FDirName $(SUBDIR) mesh ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) texture ] ;
# For GCC2
-if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 {
+if $(TARGET_CC_IS_LEGACY_GCC_$(TARGET_PACKAGING_ARCH)) = 1 {
SubDirC++Flags --no-warnings ;
}
diff --git a/src/system/boot/Jamfile b/src/system/boot/Jamfile
index 84784224b5..f1d3e8d582 100644
--- a/src/system/boot/Jamfile
+++ b/src/system/boot/Jamfile
@@ -250,7 +250,7 @@ actions AtariBootPrgLd
local extraSources = ;
-if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) = 2 {
+if $(TARGET_CC_IS_LEGACY_GCC_$(TARGET_PACKAGING_ARCH)) = 1 {
extraSources += atomic.S ;
}
diff --git a/src/system/libroot/os/arch/x86/Jamfile
b/src/system/libroot/os/arch/x86/Jamfile
index 50e421b7cc..a74fb90cdd 100644
--- a/src/system/libroot/os/arch/x86/Jamfile
+++ b/src/system/libroot/os/arch/x86/Jamfile
@@ -13,7 +13,7 @@ for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2
] {
SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ;
local compatibilitySources ;
- if $(TARGET_GCC_VERSION_$(architecture)[1]) = 2 {
+ if $(TARGET_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
compatibilitySources =
compatibility.c
;
diff --git a/src/tools/bfs_shell/Jamfile b/src/tools/bfs_shell/Jamfile
index 80f4175323..68844ef170 100644
--- a/src/tools/bfs_shell/Jamfile
+++ b/src/tools/bfs_shell/Jamfile
@@ -20,7 +20,7 @@ DEFINES += HAIKU_BUILD_COMPATIBILITY_H __STRICT_ANSI__ ;
defines = [ FDefines $(defines) ] ;
local c++flags = ;
- if $(HOST_GCC_VERSION[1]) >= 3 {
+ if $(HOST_CC_IS_LEGACY_GCC) != 1 {
c++flags += -std=c++11 ;
}