configure: Remove support for HOST_CC_IS_LEGACY_GCC.

Add an error message if it's detected to be such, and
remove all the build machinery related to it.

Fixes #18935.
This commit is contained in:
Augustin Cavalier 2024-07-24 21:33:34 -04:00
parent 9e11f4e9a5
commit 0bbef5d79f
3 changed files with 11 additions and 29 deletions

View File

@ -246,9 +246,6 @@ HOST_KERNEL_ARCH = host ;
# set packaging architecture
HOST_PACKAGING_ARCH ?= $(HOST_CPU) ;
if $(HOST_PACKAGING_ARCH) = x86 && $(HOST_CC_IS_LEGACY_GCC) = 1 {
HOST_PACKAGING_ARCH = x86_gcc2 ;
}
HOST_PACKAGING_ARCHS = $(HOST_PACKAGING_ARCH) ;
# directories
@ -278,9 +275,7 @@ HOST_C++FLAGS += -Wno-multichar ;
HOST_PIC_CCFLAGS += -fPIC ;
HOST_PIC_C++FLAGS += -fPIC ;
if $(HOST_CC_IS_LEGACY_GCC) != 1 {
HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-delete-null-pointer-checks ;
}
HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-delete-null-pointer-checks ;
HOST_KERNEL_CCFLAGS += $(HOST_GCC_BASE_FLAGS) -finline -fno-builtin
-D_KERNEL_MODE ;
@ -308,9 +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_CC_IS_LEGACY_GCC) != 1 {
HOST_LINKFLAGS += -Wl,--copy-dt-needed-entries ;
}
HOST_LINKFLAGS += -Wl,--copy-dt-needed-entries ;
}
@ -390,13 +383,8 @@ if $(HOST_PLATFORM) != darwin {
if $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
# the C++ standard and support libraries
if $(HOST_CC_IS_LEGACY_GCC) = 1 {
HOST_LIBSTDC++ = stdc++.r4 ;
HOST_LIBSUPC++ = ;
} else {
HOST_LIBSTDC++ = stdc++ ;
HOST_LIBSUPC++ = supc++ ;
}
HOST_LIBSTDC++ = stdc++ ;
HOST_LIBSUPC++ = supc++ ;
HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
= "LIBRARY_PATH=\"$LIBRARY_PATH:$(HOST_BUILD_COMPATIBILITY_LIB_DIR)\"" ;
@ -423,11 +411,7 @@ if $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
HOST_PTHREAD_LINKFLAGS = -pthread ;
# the C++ support library
if $(HOST_CC_IS_LEGACY_GCC) = 1 {
HOST_LIBSUPC++ = ;
} else {
HOST_LIBSUPC++ = supc++ ;
}
HOST_LIBSUPC++ = supc++ ;
if $(HOST_PLATFORM) = darwin {
# part of the C++ runtime lives in libstdc++ on Darwin

9
configure vendored
View File

@ -358,7 +358,6 @@ standard_gcc_settings()
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
set_variable HAIKU_GCC_LIB_DIR_$targetArch $gccdir
set_variable HAIKU_BOOT_CXX_HEADERS_DIR_$targetArch "$bootCxxHeaders"
@ -603,6 +602,11 @@ gdbSources=
if [ -z "$CC" ]; then
CC=gcc
fi
if [ $(is_legacy_gcc $($CC -dumpversion)) -ne 0 ]; then
echo The host tools cannot be built with a legacy version of GCC.
echo Please specify a more modern compiler in the "CC" environ.
exit 1
fi
# detect the build platform
case "${platform}" in
@ -637,8 +641,6 @@ fi
# exported (BuildSetup) default parameter values
#
GIT_DIR=`git -C "$configureDir" rev-parse --git-dir | sed 's/^gitdir: //'`
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
@ -1124,7 +1126,6 @@ HAIKU_HOST_BUILD_ONLY ?= "${HAIKU_HOST_BUILD_ONLY}" ;
JAMSHELL ?= ${JAMSHELL} -e -c ;
HOST_CC ?= ${CC} ;
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} ;

View File

@ -19,10 +19,7 @@ DEFINES += HAIKU_BUILD_COMPATIBILITY_H __STRICT_ANSI__ ;
defines = [ FDefines $(defines) ] ;
local c++flags = ;
if $(HOST_CC_IS_LEGACY_GCC) != 1 {
c++flags += -std=c++11 ;
}
local c++flags = -std=c++11 ;
SubDirCcFlags $(defines) -Wno-multichar ;
SubDirC++Flags $(defines) -Wno-multichar -fno-rtti ;