From e6566526b6096a7f0a1d57990f78ba708643b95f Mon Sep 17 00:00:00 2001 From: Joan Figueras Date: Sun, 16 Oct 2022 20:57:16 +0200 Subject: [PATCH] Added again clang optional compilation. Simplify makes. --- .SRCINFO | 6 +++--- PKGBUILD | 33 ++++++++++++++++++--------------- choose-gcc-optimization.sh | 11 ++++++++++- 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 219728e..2793711 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,5 +1,5 @@ pkgbase = linux-xanmod - pkgdesc = Linux Xanmod - Current Stable (STABLE) + pkgdesc = Linux Xanmod - Current Stable (CURRENT) pkgver = 6.0.2 pkgrel = 1 url = http://www.xanmod.org/ @@ -22,7 +22,7 @@ pkgbase = linux-xanmod sha256sums = 5c2443a5538de52688efb55c27ab0539c1f5eb58c0cfd16a2b9fbb08fd81788e sha256sums = SKIP sha256sums = feb15accc0576f78eca9cbf8f8178419c4a2aeb3915a9bfefacf2467bcc55b35 - sha256sums = 1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee + sha256sums = 5c84bfe7c1971354cff3f6b3f52bf33e7bbeec22f85d5e7bfde383b54c679d30 pkgname = linux-xanmod pkgdesc = The Linux kernel and modules with Xanmod patches @@ -37,5 +37,5 @@ pkgname = linux-xanmod provides = NTFS3-MODULE pkgname = linux-xanmod-headers - pkgdesc = Headers and scripts for building modules for the Linux Xanmod - Current Stable (STABLE) kernel + pkgdesc = Headers and scripts for building modules for the Linux Xanmod - Current Stable (CURRENT) kernel depends = pahole diff --git a/PKGBUILD b/PKGBUILD index 60cdd57..3c1c1f7 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -31,18 +31,19 @@ if [ -z ${use_tracers+x} ]; then use_tracers=y fi -## NOTICE: clang config is not ready yet in 5.17.x +# Unique compiler supported upstream is GCC ## Choose between GCC and CLANG config (default is GCC) -if [ -z ${_compiler+x} ] || [ "$_compiler" = "clang" ]; then - _compiler=gcc +## Use the environment variable "_compiler=clang" +if [ "${_compiler}" = "clang" ]; then + _compiler_flags="CC=clang HOSTCC=clang LLVM=1 LLVM_IAS=1" fi -# Choose between the 3 main configs for EDGE branch. Default x86-64-v2 which use CONFIG_GENERIC_CPU2: -# Possible values: config_x86-64 (default) / config_x86-64-v2 / config_x86-64-v3 +# Choose between the 4 main configs for stable branch. Default x86-64-v1 which use CONFIG_GENERIC_CPU2: +# Possible values: config_x86-64-v1 (default) / config_x86-64-v2 / config_x86-64-v3 / config_x86-64-v4 # This will be overwritten by selecting any option in microarchitecture script # Source files: https://github.com/xanmod/linux/tree/5.17/CONFIGS/xanmod/gcc if [ -z ${_config+x} ]; then - _config=config_x86-64 + _config=config_x86-64-v1 fi # Compress modules with ZSTD (to save disk space) @@ -75,7 +76,7 @@ pkgver=${_major}.2 _branch=5.x xanmod=1 pkgrel=${xanmod} -pkgdesc='Linux Xanmod - Current Stable (STABLE)' +pkgdesc='Linux Xanmod - Current Stable (CURRENT)' url="http://www.xanmod.org/" arch=(x86_64) @@ -109,7 +110,7 @@ done sha256sums=('5c2443a5538de52688efb55c27ab0539c1f5eb58c0cfd16a2b9fbb08fd81788e' 'SKIP' 'feb15accc0576f78eca9cbf8f8178419c4a2aeb3915a9bfefacf2467bcc55b35' - '1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee') + '5c84bfe7c1971354cff3f6b3f52bf33e7bbeec22f85d5e7bfde383b54c679d30') export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux} export KBUILD_BUILD_USER=${KBUILD_BUILD_USER:-makepkg} @@ -137,12 +138,11 @@ prepare() { done # Applying configuration - cp -vf CONFIGS/xanmod/${_compiler}/${_config} .config + cp -vf CONFIGS/xanmod/gcc/${_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 @@ -172,7 +172,10 @@ prepare() { fi # Let's user choose microarchitecture optimization in GCC - ../choose-gcc-optimization.sh $_microarchitecture + # Use default microarchitecture only if we have not choosen another microarchitecture + if [ "$_microarchitecture" -ne "0" ]; then + ../choose-gcc-optimization.sh $_microarchitecture + fi # This is intended for the people that want to build this package with their own config # Put the file "myconfig" at the package folder (this will take preference) or "${XDG_CONFIG_HOME}/linux-xanmod/myconfig" @@ -199,20 +202,20 @@ prepare() { if [ "$_localmodcfg" = "y" ]; then if [ -f $HOME/.config/modprobed.db ]; then msg2 "Running Steven Rostedt's make localmodconfig now" - make LLVM=$_LLVM LLVM_IAS=$_LLVM LSMOD=$HOME/.config/modprobed.db localmodconfig + make ${_compiler_flags} LSMOD=$HOME/.config/modprobed.db localmodconfig else msg2 "No modprobed.db data found" exit 1 fi fi - make LLVM=$_LLVM LLVM_IAS=$_LLVM olddefconfig + make ${_compiler_flags} olddefconfig make -s kernelrelease > version msg2 "Prepared %s version %s" "$pkgbase" "$(