kernel: Fix clang version override
Change-Id: I18fceeeeab5426f55a73d0cb8d72abd5f40c67ec
This commit is contained in:
@@ -31,10 +31,6 @@
|
||||
#
|
||||
# TARGET_KERNEL_CLANG_COMPILE = Compile kernel with clang, defaults to true
|
||||
#
|
||||
# TARGET_KERNEL_CLANG_VERSION = Clang prebuilts version, optional, defaults to clang-stable
|
||||
#
|
||||
# TARGET_KERNEL_CLANG_PATH = Clang prebuilts path, optional
|
||||
#
|
||||
# BOARD_KERNEL_IMAGE_NAME = Built image name
|
||||
# for ARM use: zImage
|
||||
# for ARM64 use: Image.gz
|
||||
@@ -231,13 +227,6 @@ ifeq ($(or $(FULL_RECOVERY_KERNEL_BUILD), $(FULL_KERNEL_BUILD)),true)
|
||||
# Add host bin out dir to path
|
||||
PATH_OVERRIDE := PATH=$(KERNEL_BUILD_OUT_PREFIX)$(HOST_OUT_EXECUTABLES):$$PATH
|
||||
ifneq ($(TARGET_KERNEL_CLANG_COMPILE),false)
|
||||
ifneq ($(TARGET_KERNEL_CLANG_VERSION),)
|
||||
KERNEL_CLANG_VERSION := clang-$(TARGET_KERNEL_CLANG_VERSION)
|
||||
else
|
||||
# Use the default version of clang if TARGET_KERNEL_CLANG_VERSION hasn't been set by the device config
|
||||
KERNEL_CLANG_VERSION := $(LLVM_PREBUILTS_VERSION)
|
||||
endif
|
||||
TARGET_KERNEL_CLANG_PATH ?= $(BUILD_TOP)/prebuilts/clang/host/$(HOST_PREBUILT_TAG)/$(KERNEL_CLANG_VERSION)
|
||||
ifeq (,$(filter 5.10, $(TARGET_KERNEL_VERSION)))
|
||||
ifeq ($(KERNEL_ARCH),arm64)
|
||||
KERNEL_CLANG_TRIPLE ?= CLANG_TRIPLE=aarch64-linux-gnu-
|
||||
|
@@ -27,6 +27,9 @@
|
||||
# x86_64-linux-android- for x86
|
||||
#
|
||||
# TARGET_KERNEL_CLANG_COMPILE = Compile kernel with clang, defaults to true
|
||||
# TARGET_KERNEL_CLANG_VERSION = Clang prebuilts version, optional, defaults to clang-stable
|
||||
# TARGET_KERNEL_CLANG_PATH = Clang prebuilts path, optional
|
||||
#
|
||||
# TARGET_KERNEL_LLVM_BINUTILS = Use LLVM binutils, defaults to true
|
||||
# TARGET_KERNEL_VERSION = Reported kernel version in top level kernel
|
||||
# makefile. Can be overriden in device trees
|
||||
@@ -68,7 +71,13 @@ KERNEL_VERSION := $(shell grep -s "^VERSION = " $(TARGET_KERNEL_SOURCE)/Makefile
|
||||
KERNEL_PATCHLEVEL := $(shell grep -s "^PATCHLEVEL = " $(TARGET_KERNEL_SOURCE)/Makefile | awk '{ print $$3 }')
|
||||
TARGET_KERNEL_VERSION ?= $(shell echo $(KERNEL_VERSION)"."$(KERNEL_PATCHLEVEL))
|
||||
|
||||
CLANG_PREBUILTS := $(BUILD_TOP)/prebuilts/clang/host/$(HOST_PREBUILT_TAG)/clang-r450784d
|
||||
ifneq ($(TARGET_KERNEL_CLANG_VERSION),)
|
||||
KERNEL_CLANG_VERSION := clang-$(TARGET_KERNEL_CLANG_VERSION)
|
||||
else
|
||||
# Use the default version of clang if TARGET_KERNEL_CLANG_VERSION hasn't been set by the device config
|
||||
KERNEL_CLANG_VERSION := clang-r450784d
|
||||
endif
|
||||
TARGET_KERNEL_CLANG_PATH ?= $(BUILD_TOP)/prebuilts/clang/host/$(HOST_PREBUILT_TAG)/$(KERNEL_CLANG_VERSION)
|
||||
|
||||
ifneq ($(USE_CCACHE),)
|
||||
ifneq ($(CCACHE_EXEC),)
|
||||
@@ -156,19 +165,19 @@ ifeq (,$(filter 5.10, $(TARGET_KERNEL_VERSION)))
|
||||
endif
|
||||
|
||||
# Set the full path to the clang command and LLVM binutils
|
||||
KERNEL_MAKE_FLAGS += HOSTCC=$(CLANG_PREBUILTS)/bin/clang
|
||||
KERNEL_MAKE_FLAGS += HOSTCXX=$(CLANG_PREBUILTS)/bin/clang++
|
||||
KERNEL_MAKE_FLAGS += HOSTCC=$(TARGET_KERNEL_CLANG_PATH)/bin/clang
|
||||
KERNEL_MAKE_FLAGS += HOSTCXX=$(TARGET_KERNEL_CLANG_PATH)/bin/clang++
|
||||
ifneq ($(TARGET_KERNEL_CLANG_COMPILE), false)
|
||||
ifneq ($(TARGET_KERNEL_LLVM_BINUTILS), false)
|
||||
KERNEL_MAKE_FLAGS += LD=$(CLANG_PREBUILTS)/bin/ld.lld
|
||||
KERNEL_MAKE_FLAGS += AR=$(CLANG_PREBUILTS)/bin/llvm-ar
|
||||
KERNEL_MAKE_FLAGS += LD=$(TARGET_KERNEL_CLANG_PATH)/bin/ld.lld
|
||||
KERNEL_MAKE_FLAGS += AR=$(TARGET_KERNEL_CLANG_PATH)/bin/llvm-ar
|
||||
endif
|
||||
endif
|
||||
else
|
||||
KERNEL_MAKE_FLAGS += HOSTCFLAGS="--sysroot=$(BUILD_TOP)/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.17-4.8/sysroot -I$(BUILD_TOP)/prebuilts/kernel-build-tools/linux-x86/include"
|
||||
KERNEL_MAKE_FLAGS += HOSTLDFLAGS="--sysroot=$(BUILD_TOP)/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.17-4.8/sysroot -Wl,-rpath,$(BUILD_TOP)/prebuilts/kernel-build-tools/linux-x86/lib64 -L $(BUILD_TOP)/prebuilts/kernel-build-tools/linux-x86/lib64 -fuse-ld=lld --rtlib=compiler-rt"
|
||||
|
||||
TOOLS_PATH_OVERRIDE += PATH=$(BUILD_TOP)/prebuilts/tools-lineage/$(HOST_PREBUILT_TAG)/bin:$(CLANG_PREBUILTS)/bin:$$PATH
|
||||
TOOLS_PATH_OVERRIDE += PATH=$(BUILD_TOP)/prebuilts/tools-lineage/$(HOST_PREBUILT_TAG)/bin:$(TARGET_KERNEL_CLANG_PATH)/bin:$$PATH
|
||||
endif
|
||||
|
||||
# Set DTBO image locations so the build system knows to build them
|
||||
|
Reference in New Issue
Block a user