diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 0c3a534ee9..3ae1af350f 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -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 diff --git a/configure b/configure index 29d21a1574..1a10c8e1b6 100755 --- a/configure +++ b/configure @@ -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} ; diff --git a/src/tools/bfs_shell/Jamfile b/src/tools/bfs_shell/Jamfile index 68844ef170..3de9064459 100644 --- a/src/tools/bfs_shell/Jamfile +++ b/src/tools/bfs_shell/Jamfile @@ -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 ;