diff options
author | Joan Figueras | 2021-06-16 23:50:23 +0200 |
---|---|---|
committer | Joan Figueras | 2021-06-16 23:50:23 +0200 |
commit | b87d0370e2fab8a112b06147cf8e9b64913e6e51 (patch) | |
tree | 8017c4c2664e1f6c44303abeefdd551996b6463b /PKGBUILD | |
parent | 7cf2b75e8ed24de01521a4a8d9f5f14353d15055 (diff) | |
download | aur-b87d0370e2fab8a112b06147cf8e9b64913e6e51.tar.gz |
Fixed clang build
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -70,6 +70,9 @@ license=(GPL2) makedepends=( xmlto kmod inetutils bc libelf cpio ) +if [ "${_compiler}" = "clang" ]; then + makedepends+=(clang llvm) +fi options=('!strip') _srcname="linux-${pkgver}-xanmod${xanmod}" @@ -127,6 +130,12 @@ prepare() { # Applying configuration cp -vf CONFIGS/xanmod/${_compiler}/config .config + # enable LTO_CLANG_THIN + if [ "${_compiler}" = "clang" ]; then + scripts/config --disable LTO_CLANG_FULL + scripts/config --enable LTO_CLANG_THIN + _LLVM=1 + fi # CONFIG_STACK_VALIDATION gives better stack traces. Also is enabled in all official kernel packages by Archlinux team scripts/config --enable CONFIG_STACK_VALIDATION @@ -137,9 +146,11 @@ prepare() { # User set. See at the top of this file if [ "$use_tracers" = "n" ]; then - msg2 "Disabling FUNCTION_TRACER/GRAPH_TRACER..." - scripts/config --disable CONFIG_FUNCTION_TRACER \ - --disable CONFIG_STACK_TRACER + msg2 "Disabling FUNCTION_TRACER/GRAPH_TRACER only if we are not compiling with clang..." + if [ "${_compiler}" = "gcc" ]; then + scripts/config --disable CONFIG_FUNCTION_TRACER \ + --disable CONFIG_STACK_TRACER + fi fi if [ "$use_numa" = "n" ]; then @@ -170,24 +181,24 @@ prepare() { fi done - make olddefconfig - ### Optionally load needed modules for the make localmodconfig # See https://aur.archlinux.org/packages/modprobed-db if [ "$_localmodcfg" = "y" ]; then if [ -f $HOME/.config/modprobed.db ]; then msg2 "Running Steven Rostedt's make localmodconfig now" - make LSMOD=$HOME/.config/modprobed.db localmodconfig + make LLVM=$_LLVM LLVM_IAS=$_LLVM LSMOD=$HOME/.config/modprobed.db localmodconfig else msg2 "No modprobed.db data found" exit fi fi + make LLVM=$_LLVM LLVM_IAS=$_LLVM olddefconfig + make -s kernelrelease > version msg2 "Prepared %s version %s" "$pkgbase" "$(<version)" - [[ -z "$_makenconfig" ]] || make nconfig + [[ -z "$_makenconfig" ]] || make LLVM=$_LLVM LLVM_IAS=$_LLVM nconfig # save configuration for later reuse cat .config > "${SRCDEST}/config.last" @@ -195,11 +206,7 @@ prepare() { build() { cd linux-${_major} - if [ "${_compiler}" = "clang" ]; then - make LLVM=1 LLVM_IAS=1 all - else - make all - fi + make LLVM=$_LLVM LLVM_IAS=$_LLVM all } _package() { |