diff options
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 35 | ||||
-rwxr-xr-x | choose-gcc-optimization.sh | 11 |
3 files changed, 34 insertions, 22 deletions
@@ -1,5 +1,5 @@ pkgbase = linux-xanmod-anbox - pkgdesc = Linux Xanmod with ashmem and binder enabled for Anbox - Current Stable (STABLE) + pkgdesc = Linux Xanmod with ashmem and binder enabled for Anbox - Current Stable (CURRENT) pkgver = 6.0.2 pkgrel = 1 url = http://www.xanmod.org/ @@ -13,8 +13,8 @@ pkgbase = linux-xanmod-anbox makedepends = tar makedepends = xz options = !strip - source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-6.0.tar.xz - source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-6.0.tar.sign + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.sign source = https://github.com/xanmod/linux/releases/download/6.0.2-xanmod1/patch-6.0.2-xanmod1.xz source = choose-gcc-optimization.sh validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 @@ -22,7 +22,7 @@ pkgbase = linux-xanmod-anbox sha256sums = 5c2443a5538de52688efb55c27ab0539c1f5eb58c0cfd16a2b9fbb08fd81788e sha256sums = SKIP sha256sums = feb15accc0576f78eca9cbf8f8178419c4a2aeb3915a9bfefacf2467bcc55b35 - sha256sums = 1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee + sha256sums = 5c84bfe7c1971354cff3f6b3f52bf33e7bbeec22f85d5e7bfde383b54c679d30 pkgname = linux-xanmod-anbox pkgdesc = The Linux kernel and modules with Xanmod patches and ashmem and binder enabled @@ -37,5 +37,5 @@ pkgname = linux-xanmod-anbox provides = NTFS3-MODULE pkgname = linux-xanmod-anbox-headers - pkgdesc = Headers and scripts for building modules for the Linux Xanmod with ashmem and binder enabled for Anbox - Current Stable (STABLE) kernel + pkgdesc = Headers and scripts for building modules for the Linux Xanmod with ashmem and binder enabled for Anbox - Current Stable (CURRENT) kernel depends = pahole @@ -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) @@ -72,10 +73,10 @@ fi pkgbase=linux-xanmod-anbox _major=6.0 pkgver=${_major}.2 -_branch=5.x +_branch=6.x xanmod=1 pkgrel=${xanmod} -pkgdesc='Linux Xanmod with ashmem and binder enabled for Anbox - Current Stable (STABLE)' +pkgdesc='Linux Xanmod with ashmem and binder enabled for Anbox - 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,7 +138,7 @@ 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 @@ -150,7 +151,6 @@ prepare() { scripts/config --enable CONFIG_ANDROID_BINDERFS scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder" 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 @@ -180,7 +180,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-anbox/myconfig" @@ -207,20 +210,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" "$(<version)" if [ "$_makenconfig" = "y" ]; then - make LLVM=$_LLVM LLVM_IAS=$_LLVM nconfig + make ${_compiler_flags} nconfig fi # save configuration for later reuse @@ -229,7 +232,7 @@ prepare() { build() { cd linux-${_major} - make LLVM=$_LLVM LLVM_IAS=$_LLVM all + make ${_compiler_flags} all } _package() { diff --git a/choose-gcc-optimization.sh b/choose-gcc-optimization.sh index f10eec54b81d..fe05516c66c6 100755 --- a/choose-gcc-optimization.sh +++ b/choose-gcc-optimization.sh @@ -66,7 +66,7 @@ cat << EOF 98) Intel-Native optimizations autodetected by GCC 99) AMD-Native optimizations autodetected by GCC - 0) Generic (default) + 0) Generic x64-v1 (default) EOF @@ -133,7 +133,16 @@ warning "According to PKGBUILD variable _microarchitecture, your choice is $answ msg "Building this package for microarchitecture: $Microarchitecture$default" sleep 5 +_defaultmicro=$(grep ^CONFIG_LOCALVERSION .config) +if [ -z "${default}" ]; then + _localversion=$(echo ${Microarchitecture,,} | sed -e 's/config_m/-/g' -e 's/config_generic_cpu/-x64v/g') + sed -e "s|^$_defaultmicro|CONFIG_LOCALVERSION=\"$_localversion\"|g" -i .config +fi + sed -e 's|^CONFIG_GENERIC_CPU=y|# CONFIG_GENERIC_CPU is not set|g' -i .config +sed -e 's|^CONFIG_GENERIC_CPU2=y|# CONFIG_GENERIC_CPU2 is not set|g' -i .config +sed -e 's|^CONFIG_GENERIC_CPU3=y|# CONFIG_GENERIC_CPU3 is not set|g' -i .config +sed -e 's|^CONFIG_GENERIC_CPU4=y|# CONFIG_GENERIC_CPU4 is not set|g' -i .config sed -e "s|^# $Microarchitecture is not set|$Microarchitecture=y|g" -i .config echo |