mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00:00
bitbake.conf: Start to separate out gcc related variable definitions
To be able to switch toolchains, we need to separate out the gcc definitions into seperate include files. This patch starts that process. Whilst the include is still hardcoded for now, it allows developers to start experimenting with this locally more easily and stops people reinventing this patch. A sample clang configuruation is also included which I was using for experimentation. (From OE-Core rev: be063d58c0985a2c43c16302efb44706fbf3f1b3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
+31
-30
@@ -555,40 +555,38 @@ HOSTTOOLS_NONFATAL += "git-lfs"
|
||||
|
||||
CCACHE ??= ""
|
||||
|
||||
export CC
|
||||
export CXX
|
||||
export FC
|
||||
export CPP
|
||||
export LD
|
||||
export CCLD
|
||||
export AR
|
||||
export AS
|
||||
export RANLIB
|
||||
export STRIP
|
||||
export OBJCOPY
|
||||
export OBJDUMP
|
||||
export STRINGS
|
||||
export NM
|
||||
export READELF
|
||||
|
||||
export BUILD_CC
|
||||
export BUILD_CXX
|
||||
export BUILD_FC
|
||||
export BUILD_CPP
|
||||
export BUILD_LD
|
||||
export BUILD_CCLD
|
||||
export BUILD_AR
|
||||
export BUILD_AS
|
||||
export BUILD_RANLIB
|
||||
export BUILD_STRIP
|
||||
export BUILD_NM
|
||||
|
||||
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
|
||||
|
||||
export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
export FC = "${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
|
||||
export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
|
||||
export CCLD = "${CC}"
|
||||
export AR = "${HOST_PREFIX}gcc-ar"
|
||||
export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}"
|
||||
export RANLIB = "${HOST_PREFIX}gcc-ranlib"
|
||||
export STRIP = "${HOST_PREFIX}strip"
|
||||
export OBJCOPY = "${HOST_PREFIX}objcopy"
|
||||
export OBJDUMP = "${HOST_PREFIX}objdump"
|
||||
export STRINGS = "${HOST_PREFIX}strings"
|
||||
export NM = "${HOST_PREFIX}gcc-nm"
|
||||
export READELF = "${HOST_PREFIX}readelf"
|
||||
PYTHON = "${@sys.executable}"
|
||||
|
||||
export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
|
||||
export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
|
||||
export BUILD_FC = "${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
|
||||
export BUILD_CPP = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
|
||||
export BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
|
||||
export BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
|
||||
export BUILD_AR = "${BUILD_PREFIX}ar"
|
||||
export BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
|
||||
export BUILD_RANLIB = "${BUILD_PREFIX}ranlib -D"
|
||||
export BUILD_STRIP = "${BUILD_PREFIX}strip"
|
||||
BUILD_OBJCOPY = "${BUILD_PREFIX}objcopy"
|
||||
BUILD_OBJDUMP = "${BUILD_PREFIX}objdump"
|
||||
export BUILD_NM = "${BUILD_PREFIX}nm"
|
||||
BUILD_READELF = "${BUILD_PREFIX}readelf"
|
||||
|
||||
export MAKE = "make"
|
||||
EXTRA_OEMAKE = ""
|
||||
EXTRA_OECONF = ""
|
||||
@@ -843,6 +841,9 @@ include conf/licenses.conf
|
||||
require conf/sanity.conf
|
||||
include conf/bblock.conf
|
||||
|
||||
require toolchain/gcc.inc
|
||||
require toolchain/build-gcc.inc
|
||||
|
||||
##################################################################
|
||||
# Weak variables (usually to retain backwards compatibility)
|
||||
##################################################################
|
||||
|
||||
@@ -3,19 +3,10 @@
|
||||
#
|
||||
|
||||
PREFERRED_PROVIDER_virtual/cross-binutils = "${MLPREFIX}binutils-cross-${TARGET_ARCH}"
|
||||
PREFERRED_PROVIDER_virtual/cross-cc = "${MLPREFIX}gcc-cross-${TARGET_ARCH}"
|
||||
PREFERRED_PROVIDER_virtual/cross-c++ = "${MLPREFIX}gcc-cross-${TARGET_ARCH}"
|
||||
PREFERRED_PROVIDER_virtual/compilerlibs = "gcc-runtime"
|
||||
PREFERRED_PROVIDER_gdb = "gdb"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/cross-binutils:class-nativesdk ?= "binutils-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/cross-cc:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/cross-c++:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-cross-binutils ?= "binutils-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-cross-cc = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-cross-c++ = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-compilerlibs = "nativesdk-gcc-runtime"
|
||||
|
||||
PREFERRED_PROVIDER_gdb = "gdb"
|
||||
|
||||
# Default libc config
|
||||
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
|
||||
BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
|
||||
BUILD_FC = "${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
|
||||
BUILD_CPP = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
|
||||
BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
|
||||
BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
|
||||
BUILD_AR = "${BUILD_PREFIX}ar"
|
||||
BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
|
||||
BUILD_RANLIB = "${BUILD_PREFIX}ranlib -D"
|
||||
BUILD_STRIP = "${BUILD_PREFIX}strip"
|
||||
BUILD_OBJCOPY = "${BUILD_PREFIX}objcopy"
|
||||
BUILD_OBJDUMP = "${BUILD_PREFIX}objdump"
|
||||
BUILD_NM = "${BUILD_PREFIX}nm"
|
||||
BUILD_READELF = "${BUILD_PREFIX}readelf"
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
CC = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
CXX = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
FC = "${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
CPP = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E"
|
||||
LD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.lld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', d)}"
|
||||
CCLD = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
RANLIB = "${HOST_PREFIX}llvm-ranlib"
|
||||
AR = "${HOST_PREFIX}llvm-ar"
|
||||
AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}"
|
||||
RANLIB = "${HOST_PREFIX}gcc-ranlib"
|
||||
STRIP = "${HOST_PREFIX}llvm-strip"
|
||||
OBJCOPY = "${HOST_PREFIX}llvm-objcopy"
|
||||
OBJDUMP = "${HOST_PREFIX}llvm-objdump"
|
||||
STRINGS = "${HOST_PREFIX}llvm-strings"
|
||||
NM = "${HOST_PREFIX}llvm-nm"
|
||||
READELF = "${HOST_PREFIX}llvm-readelf"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/cross-cc = "${MLPREFIX}clang-cross-${TARGET_ARCH}"
|
||||
PREFERRED_PROVIDER_virtual/cross-c++ = "${MLPREFIX}clang-cross-${TARGET_ARCH}"
|
||||
PREFERRED_PROVIDER_virtual/compilerlibs = "gcc-runtime"
|
||||
PREFERRED_PROVIDER_virtual/cross-cc:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/cross-c++:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-cross-cc = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-cross-c++ = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-compilerlibs = "nativesdk-gcc-runtime"
|
||||
@@ -0,0 +1,26 @@
|
||||
CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
FC = "${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
|
||||
LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
|
||||
CCLD = "${CC}"
|
||||
AR = "${HOST_PREFIX}gcc-ar"
|
||||
AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}"
|
||||
RANLIB = "${HOST_PREFIX}gcc-ranlib"
|
||||
STRIP = "${HOST_PREFIX}strip"
|
||||
OBJCOPY = "${HOST_PREFIX}objcopy"
|
||||
OBJDUMP = "${HOST_PREFIX}objdump"
|
||||
STRINGS = "${HOST_PREFIX}strings"
|
||||
NM = "${HOST_PREFIX}gcc-nm"
|
||||
READELF = "${HOST_PREFIX}readelf"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/cross-cc = "${MLPREFIX}gcc-cross-${TARGET_ARCH}"
|
||||
PREFERRED_PROVIDER_virtual/cross-c++ = "${MLPREFIX}gcc-cross-${TARGET_ARCH}"
|
||||
PREFERRED_PROVIDER_virtual/compilerlibs = "gcc-runtime"
|
||||
PREFERRED_PROVIDER_virtual/cross-cc:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/cross-c++:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-cross-cc = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-cross-c++ = "gcc-crosssdk-${SDK_SYS}"
|
||||
PREFERRED_PROVIDER_virtual/nativesdk-compilerlibs = "nativesdk-gcc-runtime"
|
||||
|
||||
Reference in New Issue
Block a user