xanmod-lts
This commit is contained in:
parent
c1fd056aef
commit
3655aeceb7
5 changed files with 576 additions and 0 deletions
19
leftwm/.SRCINFO
Normal file
19
leftwm/.SRCINFO
Normal file
|
@ -0,0 +1,19 @@
|
|||
pkgbase = leftwm
|
||||
pkgdesc = Leftwm - A tiling window manager for the adventurer
|
||||
pkgver = 0.2.11
|
||||
pkgrel = 1
|
||||
epoch = 1
|
||||
url = https://github.com/leftwm/leftwm
|
||||
arch = i686
|
||||
arch = x86_64
|
||||
license = MIT
|
||||
makedepends = cargo
|
||||
makedepends = git
|
||||
optdepends = dmenu: default launcher
|
||||
optdepends = feh: used to set background images
|
||||
optdepends = lemonbar: light weight bar
|
||||
optdepends = polybar: light weight bar
|
||||
source = leftwm::git+https://github.com/leftwm/leftwm.git#tag=0.2.11
|
||||
md5sums = SKIP
|
||||
|
||||
pkgname = leftwm
|
40
leftwm/PKGBUILD
Normal file
40
leftwm/PKGBUILD
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Maintainer: ndowens <ndowens@artixlinux.org>
|
||||
# Contributor: Lex Childs <lexchilds@gmail.com>
|
||||
pkgname=leftwm
|
||||
pkgver=0.2.11
|
||||
pkgrel=1
|
||||
pkgdesc="A tiling window manager for the adventurer"
|
||||
arch=('i686' 'x86_64')
|
||||
url="https://github.com/leftwm/leftwm"
|
||||
license=('MIT')
|
||||
depends=('bash')
|
||||
makedepends=('cargo' 'git')
|
||||
optdepends=('dmenu: default launcher'
|
||||
'feh: used to set background images'
|
||||
'lemonbar: light weight bar'
|
||||
'polybar: light weight bar')
|
||||
source=("${pkgname}::git+https://github.com/leftwm/leftwm.git#tag=${pkgver}")
|
||||
md5sums=('SKIP')
|
||||
|
||||
build() {
|
||||
cd $pkgname
|
||||
cargo build --release
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname/target/release
|
||||
install -Dm755 \
|
||||
leftwm leftwm-worker leftwm-state \
|
||||
leftwm-check leftwm-command \
|
||||
-t "$pkgdir"/usr/bin
|
||||
|
||||
install -d "$pkgdir"/usr/share/leftwm
|
||||
cp -R "$srcdir/$pkgname"/themes "$pkgdir"/usr/share/leftwm
|
||||
|
||||
install -Dm644 "$srcdir/$pkgname"/leftwm.desktop \
|
||||
"$pkgdir"/usr/share/xsessions/leftwm.desktop
|
||||
|
||||
install -Dm644 "$srcdir/$pkgname"/LICENSE.md \
|
||||
"$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
|
||||
}
|
||||
|
41
linux-xanmod-lts/.SRCINFO
Normal file
41
linux-xanmod-lts/.SRCINFO
Normal file
|
@ -0,0 +1,41 @@
|
|||
pkgbase = linux-xanmod-lts
|
||||
pkgdesc = Linux Xanmod LTS
|
||||
pkgver = 5.10.101
|
||||
pkgrel = 1
|
||||
url = http://www.xanmod.org/
|
||||
arch = x86_64
|
||||
license = GPL2
|
||||
makedepends = bc
|
||||
makedepends = cpio
|
||||
makedepends = kmod
|
||||
makedepends = libelf
|
||||
makedepends = perl
|
||||
makedepends = tar
|
||||
makedepends = xz
|
||||
options = !strip
|
||||
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz
|
||||
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.sign
|
||||
source = https://github.com/xanmod/linux/releases/download/5.10.101-xanmod1/patch-5.10.101-xanmod1.xz
|
||||
source = choose-gcc-optimization.sh
|
||||
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
|
||||
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
|
||||
sha256sums = dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43
|
||||
sha256sums = SKIP
|
||||
sha256sums = 9a5a4c50d3f96f1ef88532fc1afbfbe8037490af3189e4720726e6889acc2897
|
||||
sha256sums = 1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee
|
||||
|
||||
pkgname = linux-xanmod-lts
|
||||
pkgdesc = The Linux kernel and modules with Xanmod patches
|
||||
depends = coreutils
|
||||
depends = kmod
|
||||
depends = initramfs
|
||||
optdepends = crda: to set the correct wireless channels of your country
|
||||
optdepends = linux-firmware: firmware images needed for some devices
|
||||
provides = VIRTUALBOX-GUEST-MODULES
|
||||
provides = WIREGUARD-MODULE
|
||||
provides = KSMBD-MODULE
|
||||
provides = NTFS3-MODULE
|
||||
|
||||
pkgname = linux-xanmod-lts-headers
|
||||
pkgdesc = Headers and scripts for building modules for the Linux Xanmod LTS kernel
|
||||
depends = pahole
|
337
linux-xanmod-lts/PKGBUILD
Normal file
337
linux-xanmod-lts/PKGBUILD
Normal file
|
@ -0,0 +1,337 @@
|
|||
# Maintainer: Nathan <ndowens@artixlinux.org>
|
||||
# Contributor: Joan Figueras <ffigue at gmail dot com>
|
||||
# Contributor: Torge Matthies <openglfreak at googlemail dot com>
|
||||
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
|
||||
|
||||
##
|
||||
## The following variables can be customized at build time. Use env or export to change at your wish
|
||||
##
|
||||
## Example: env _microarchitecture=98 use_numa=n use_tracers=n makepkg -sc
|
||||
##
|
||||
## Look inside 'choose-gcc-optimization.sh' to choose your microarchitecture
|
||||
## Valid numbers between: 0 to 99
|
||||
## Default is: 0 => generic
|
||||
## Good option if your package is for one machine: 98 (Intel native) or 99 (AMD native)
|
||||
if [ -z ${_microarchitecture+x} ]; then
|
||||
_microarchitecture=0
|
||||
fi
|
||||
|
||||
## Disable NUMA since most users do not have multiple processors. Breaks CUDA/NvEnc.
|
||||
## Archlinux and Xanmod enable it by default.
|
||||
## Set variable "use_numa" to: n to disable (possibly increase performance)
|
||||
## y to enable (stock default)
|
||||
if [ -z ${use_numa+x} ]; then
|
||||
use_numa=y
|
||||
fi
|
||||
|
||||
## For performance you can disable FUNCTION_TRACER/GRAPH_TRACER. Limits debugging and analyzing of the kernel.
|
||||
## Stock Archlinux and Xanmod have this enabled.
|
||||
## Set variable "use_tracers" to: n to disable (possibly increase performance)
|
||||
## y to enable (stock default)
|
||||
if [ -z ${use_tracers+x} ]; then
|
||||
use_tracers=y
|
||||
fi
|
||||
|
||||
## Choose between GCC and CLANG config (default is GCC)
|
||||
#if [ -z ${_compiler+x} ]; then
|
||||
_compiler=gcc
|
||||
#fi
|
||||
|
||||
# Compress modules with ZSTD (to save disk space)
|
||||
if [ -z ${_compress_modules+x} ]; then
|
||||
_compress_modules=n
|
||||
fi
|
||||
|
||||
# Compile ONLY used modules to VASTLY reduce the number of modules built
|
||||
# and the build time.
|
||||
#
|
||||
# To keep track of which modules are needed for your specific system/hardware,
|
||||
# give module_db script a try: https://aur.archlinux.org/packages/modprobed-db
|
||||
# This PKGBUILD read the database kept if it exists
|
||||
#
|
||||
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
|
||||
if [ -z ${_localmodcfg} ]; then
|
||||
_localmodcfg=n
|
||||
fi
|
||||
|
||||
# Tweak kernel options prior to a build via nconfig
|
||||
if [ -z ${_makenconfig} ]; then
|
||||
_makenconfig=n
|
||||
fi
|
||||
|
||||
### IMPORTANT: Do no edit below this line unless you know what you're doing
|
||||
|
||||
pkgbase=linux-xanmod-lts
|
||||
_major=5.10
|
||||
pkgver=${_major}.101
|
||||
_branch=5.x
|
||||
xanmod=1
|
||||
pkgrel=${xanmod}
|
||||
pkgdesc='Linux Xanmod LTS'
|
||||
url="http://www.xanmod.org/"
|
||||
arch=(x86_64)
|
||||
|
||||
license=(GPL2)
|
||||
makedepends=(
|
||||
bc cpio kmod libelf perl tar xz
|
||||
)
|
||||
if [ "${_compiler}" = "clang" ]; then
|
||||
makedepends+=(clang llvm lld python)
|
||||
fi
|
||||
options=('!strip')
|
||||
_srcname="linux-${pkgver}-xanmod${xanmod}"
|
||||
|
||||
source=("https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.tar."{xz,sign}
|
||||
"https://github.com/xanmod/linux/releases/download/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz"
|
||||
choose-gcc-optimization.sh)
|
||||
validpgpkeys=(
|
||||
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linux Torvalds
|
||||
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
|
||||
)
|
||||
|
||||
# Archlinux patches
|
||||
_commit="ec9e9a4219fe221dec93fa16fddbe44a34933d8d"
|
||||
_patches=()
|
||||
for _patch in ${_patches[@]}; do
|
||||
#source+=("${_patch}::https://git.archlinux.org/svntogit/packages.git/plain/trunk/${_patch}?h=packages/linux&id=${_commit}")
|
||||
source+=("${_patch}::https://raw.githubusercontent.com/archlinux/svntogit-packages/${_commit}/trunk/${_patch}")
|
||||
done
|
||||
|
||||
sha256sums=('dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43'
|
||||
'SKIP'
|
||||
'9a5a4c50d3f96f1ef88532fc1afbfbe8037490af3189e4720726e6889acc2897'
|
||||
'1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee')
|
||||
|
||||
export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux}
|
||||
export KBUILD_BUILD_USER=${KBUILD_BUILD_USER:-makepkg}
|
||||
export KBUILD_BUILD_TIMESTAMP=${KBUILD_BUILD_TIMESTAMP:-$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})}
|
||||
|
||||
prepare() {
|
||||
cd linux-${_major}
|
||||
|
||||
# Apply Xanmod patch
|
||||
patch -Np1 -i ../patch-${pkgver}-xanmod${xanmod}
|
||||
|
||||
msg2 "Setting version..."
|
||||
scripts/setlocalversion --save-scmversion
|
||||
echo "-$pkgrel" > localversion.10-pkgrel
|
||||
echo "${pkgbase#linux-xanmod}" > localversion.20-pkgname
|
||||
|
||||
# Archlinux patches
|
||||
local src
|
||||
for src in "${source[@]}"; do
|
||||
src="${src%%::*}"
|
||||
src="${src##*/}"
|
||||
[[ $src = *.patch ]] || continue
|
||||
msg2 "Applying patch $src..."
|
||||
patch -Np1 < "../$src"
|
||||
done
|
||||
|
||||
# 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
|
||||
|
||||
# Enable IKCONFIG following Arch's philosophy
|
||||
scripts/config --enable CONFIG_IKCONFIG \
|
||||
--enable CONFIG_IKCONFIG_PROC
|
||||
|
||||
# User set. See at the top of this file
|
||||
if [ "$use_tracers" = "n" ]; then
|
||||
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
|
||||
msg2 "Disabling NUMA..."
|
||||
scripts/config --disable CONFIG_NUMA
|
||||
fi
|
||||
|
||||
# Compress modules by default (following Arch's kernel)
|
||||
if [ "$_compress_modules" = "y" ]; then
|
||||
scripts/config --enable CONFIG_MODULE_COMPRESS_ZSTD
|
||||
fi
|
||||
|
||||
# Let's user choose microarchitecture optimization in GCC
|
||||
sh ${srcdir}/choose-gcc-optimization.sh $_microarchitecture
|
||||
|
||||
# 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"
|
||||
# If we detect partial file with scripts/config commands, we execute as a script
|
||||
# If not, it's a full config, will be replaced
|
||||
for _myconfig in "${SRCDEST}/myconfig" "${HOME}/.config/linux-xanmod/myconfig" "${XDG_CONFIG_HOME}/linux-xanmod/myconfig" ; do
|
||||
if [ -f "${_myconfig}" ] && [ "$(wc -l <"${_myconfig}")" -gt "0" ]; then
|
||||
if grep -q 'scripts/config' "${_myconfig}"; then
|
||||
# myconfig is a partial file. Executing as a script
|
||||
msg2 "Applying myconfig..."
|
||||
bash -x "${_myconfig}"
|
||||
else
|
||||
# myconfig is a full config file. Replacing default .config
|
||||
msg2 "Using user CUSTOM config..."
|
||||
cp -f "${_myconfig}" .config
|
||||
fi
|
||||
echo
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
### 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 LLVM=$_LLVM LLVM_IAS=$_LLVM 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 -s kernelrelease > version
|
||||
msg2 "Prepared %s version %s" "$pkgbase" "$(<version)"
|
||||
|
||||
if [ "$_makenconfig" = "y" ]; then
|
||||
make LLVM=$_LLVM LLVM_IAS=$_LLVM nconfig
|
||||
fi
|
||||
|
||||
# save configuration for later reuse
|
||||
cat .config > "${SRCDEST}/config.last"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd linux-${_major}
|
||||
make LLVM=$_LLVM LLVM_IAS=$_LLVM all
|
||||
}
|
||||
|
||||
_package() {
|
||||
pkgdesc="The Linux kernel and modules with Xanmod patches"
|
||||
depends=(coreutils kmod initramfs)
|
||||
optdepends=('crda: to set the correct wireless channels of your country'
|
||||
'linux-firmware: firmware images needed for some devices')
|
||||
provides=(VIRTUALBOX-GUEST-MODULES
|
||||
WIREGUARD-MODULE
|
||||
KSMBD-MODULE
|
||||
NTFS3-MODULE)
|
||||
|
||||
cd linux-${_major}
|
||||
local kernver="$(<version)"
|
||||
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
|
||||
|
||||
msg2 "Installing boot image..."
|
||||
# systemd expects to find the kernel here to allow hibernation
|
||||
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
|
||||
install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
|
||||
|
||||
# Used by mkinitcpio to name the kernel
|
||||
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
|
||||
|
||||
msg2 "Installing modules..."
|
||||
make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install
|
||||
|
||||
# remove build and source links
|
||||
rm "$modulesdir"/{source,build}
|
||||
}
|
||||
|
||||
_package-headers() {
|
||||
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
|
||||
depends=(pahole)
|
||||
|
||||
cd linux-${_major}
|
||||
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
|
||||
|
||||
msg2 "Installing build files..."
|
||||
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
|
||||
localversion.* version vmlinux
|
||||
install -Dt "$builddir/kernel" -m644 kernel/Makefile
|
||||
install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
|
||||
cp -t "$builddir" -a scripts
|
||||
|
||||
# required when STACK_VALIDATION is enabled
|
||||
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
|
||||
|
||||
# required when DEBUG_INFO_BTF_MODULES is enabled
|
||||
if [ -f "$builddir/tools/bpf/resolve_btfids" ]; then install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids ; fi
|
||||
|
||||
msg2 "Installing headers..."
|
||||
cp -t "$builddir" -a include
|
||||
cp -t "$builddir/arch/x86" -a arch/x86/include
|
||||
install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
|
||||
|
||||
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
|
||||
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
|
||||
|
||||
# https://bugs.archlinux.org/task/13146
|
||||
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
|
||||
|
||||
# https://bugs.archlinux.org/task/20402
|
||||
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
|
||||
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
|
||||
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
|
||||
|
||||
# https://bugs.archlinux.org/task/71392
|
||||
install -Dt "$builddir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
|
||||
|
||||
echo "Installing KConfig files..."
|
||||
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
|
||||
|
||||
msg2 "Removing unneeded architectures..."
|
||||
local arch
|
||||
for arch in "$builddir"/arch/*/; do
|
||||
[[ $arch = */x86/ ]] && continue
|
||||
echo "Removing $(basename "$arch")"
|
||||
rm -r "$arch"
|
||||
done
|
||||
|
||||
msg2 "Removing documentation..."
|
||||
rm -r "$builddir/Documentation"
|
||||
|
||||
msg2 "Removing broken symlinks..."
|
||||
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
|
||||
|
||||
msg2 "Removing loose objects..."
|
||||
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
|
||||
|
||||
msg2 "Stripping build tools..."
|
||||
local file
|
||||
while read -rd '' file; do
|
||||
case "$(file -bi "$file")" in
|
||||
application/x-sharedlib\;*) # Libraries (.so)
|
||||
strip -v $STRIP_SHARED "$file" ;;
|
||||
application/x-archive\;*) # Libraries (.a)
|
||||
strip -v $STRIP_STATIC "$file" ;;
|
||||
application/x-executable\;*) # Binaries
|
||||
strip -v $STRIP_BINARIES "$file" ;;
|
||||
application/x-pie-executable\;*) # Relocatable binaries
|
||||
strip -v $STRIP_SHARED "$file" ;;
|
||||
esac
|
||||
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
|
||||
|
||||
msg2 "Stripping vmlinux..."
|
||||
strip -v $STRIP_STATIC "$builddir/vmlinux"
|
||||
|
||||
msg2 "Adding symlink..."
|
||||
mkdir -p "$pkgdir/usr/src"
|
||||
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
|
||||
}
|
||||
|
||||
pkgname=("${pkgbase}" "${pkgbase}-headers")
|
||||
for _p in "${pkgname[@]}"; do
|
||||
eval "package_$_p() {
|
||||
$(declare -f "_package${_p#$pkgbase}")
|
||||
_package${_p#$pkgbase}
|
||||
}"
|
||||
done
|
||||
|
||||
# vim:set ts=8 sts=2 sw=2 et:
|
139
linux-xanmod-lts/choose-gcc-optimization.sh
Executable file
139
linux-xanmod-lts/choose-gcc-optimization.sh
Executable file
|
@ -0,0 +1,139 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
. /usr/share/makepkg/util/message.sh
|
||||
colorize
|
||||
|
||||
Detect_CPU=$(gcc -c -Q -march=native --help=target | grep march | awk '{print $2}' | head -1)
|
||||
|
||||
msg "Detected CPU architecture: $Detect_CPU"
|
||||
|
||||
cat << EOF
|
||||
|
||||
Available CPU microarchitectures:
|
||||
|
||||
1) AMD K6/K6-II/K6-III
|
||||
2) AMD Athlon/Duron/K7
|
||||
3) AMD Opteron/Athlon64/Hammer/K8
|
||||
4) AMD Opteron/Athlon64/Hammer/K8 with SSE3
|
||||
5) AMD 61xx/7x50/PhenomX3/X4/II/K10
|
||||
6) AMD Family 10h (Barcelona)
|
||||
7) AMD Family 14h (Bobcat)
|
||||
8) AMD Family 16h (Jaguar)
|
||||
9) AMD Family 15h (Bulldozer)
|
||||
10) AMD Family 15h (Piledriver)
|
||||
11) AMD Family 15h (Steamroller)
|
||||
12) AMD Family 15h (Excavator)
|
||||
13) AMD Family 17h (Zen)
|
||||
14) AMD Family 17h (Zen 2)
|
||||
15) AMD Family 19h Zen 3 processors (Zen 3)
|
||||
16) Transmeta Crusoe
|
||||
17) Transmeta Efficeon
|
||||
18) IDT Winchip C6
|
||||
19) Winchip-2/Winchip-2A/Winchip-3
|
||||
20) AMD Elan
|
||||
21) Geode GX1 (Cyrix MediaGX)
|
||||
22) AMD Geode GX and LX
|
||||
23) Cyrix III or C3
|
||||
24) VIA C3 "Nehemiah"
|
||||
25) VIA C7
|
||||
26) Intel Pentium 4, Pentium D and older Nocona/Dempsey Xeon CPUs with Intel 64bit
|
||||
27) Intel Atom
|
||||
28) Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and 53xx)
|
||||
29) Intel 1st Gen Core i3/i5/i7-family (Nehalem)
|
||||
30) Intel 1.5 Gen Core i3/i5/i7-family (Westmere)
|
||||
31) Intel Silvermont
|
||||
32) Intel Goldmont (Apollo Lake and Denverton)
|
||||
33) Intel Goldmont Plus (Gemini Lake)
|
||||
34) Intel 2nd Gen Core i3/i5/i7-family (Sandybridge)
|
||||
35) Intel 3rd Gen Core i3/i5/i7-family (Ivybridge)
|
||||
36) Intel 4th Gen Core i3/i5/i7-family (Haswell)
|
||||
37) Intel 5th Gen Core i3/i5/i7-family (Broadwell)
|
||||
38) Intel 6th Gen Core i3/i5/i7-family (Skylake)
|
||||
39) Intel 6th Gen Core i7/i9-family (Skylake X)
|
||||
40) Intel 8th Gen Core i3/i5/i7-family (Cannon Lake)
|
||||
41) Intel 8th Gen Core i7/i9-family (Ice Lake)
|
||||
42) Xeon processors in the Cascade Lake family
|
||||
43) Intel Xeon (Cooper Lake)
|
||||
44) Intel 3rd Gen 10nm++ i3/i5/i7/i9-family (Tiger Lake)
|
||||
45) Intel Sapphire Rapids
|
||||
46) Intel Rocket Lake
|
||||
47) Intel Alder Lake
|
||||
|
||||
92) Generic-x86-64-v2 (Nehalem and newer)
|
||||
93) Generic-x86-64-v3 (Haswell and newer)
|
||||
94) Generic-x86-64-v4 (AVX512 CPUs)
|
||||
|
||||
98) Intel-Native optimizations autodetected by GCC
|
||||
99) AMD-Native optimizations autodetected by GCC
|
||||
|
||||
0) Generic (default)
|
||||
|
||||
EOF
|
||||
|
||||
sleep 1
|
||||
answer=$1
|
||||
|
||||
case $answer in
|
||||
1) Microarchitecture=CONFIG_MK6 ;;
|
||||
2) Microarchitecture=CONFIG_MK7 ;;
|
||||
3) Microarchitecture=CONFIG_MK8 ;;
|
||||
4) Microarchitecture=CONFIG_MK8SSE3 ;;
|
||||
5) Microarchitecture=CONFIG_MK10 ;;
|
||||
6) Microarchitecture=CONFIG_MBARCELONA ;;
|
||||
7) Microarchitecture=CONFIG_MBOBCAT ;;
|
||||
8) Microarchitecture=CONFIG_MJAGUAR ;;
|
||||
9) Microarchitecture=CONFIG_MBULLDOZER ;;
|
||||
10) Microarchitecture=CONFIG_MPILEDRIVER ;;
|
||||
11) Microarchitecture=CONFIG_MSTEAMROLLER ;;
|
||||
12) Microarchitecture=CONFIG_MEXCAVATOR ;;
|
||||
13) Microarchitecture=CONFIG_MZEN ;;
|
||||
14) Microarchitecture=CONFIG_MZEN2 ;;
|
||||
15) Microarchitecture=CONFIG_MZEN3 ;;
|
||||
16) Microarchitecture=CONFIG_MCRUSOE ;;
|
||||
17) Microarchitecture=CONFIG_MEFFICEON ;;
|
||||
18) Microarchitecture=CONFIG_MWINCHIPC6 ;;
|
||||
19) Microarchitecture=CONFIG_MWINCHIP3D ;;
|
||||
20) Microarchitecture=CONFIG_MELAN ;;
|
||||
21) Microarchitecture=CONFIG_MGEODEGX1 ;;
|
||||
22) Microarchitecture=CONFIG_MGEODE_LX ;;
|
||||
23) Microarchitecture=CONFIG_MCYRIXIII ;;
|
||||
24) Microarchitecture=CONFIG_MVIAC3_2 ;;
|
||||
25) Microarchitecture=CONFIG_MVIAC7 ;;
|
||||
26) Microarchitecture=CONFIG_MPSC ;;
|
||||
27) Microarchitecture=CONFIG_MATOM ;;
|
||||
28) Microarchitecture=CONFIG_MCORE2 ;;
|
||||
29) Microarchitecture=CONFIG_MNEHALEM ;;
|
||||
30) Microarchitecture=CONFIG_MWESTMERE ;;
|
||||
31) Microarchitecture=CONFIG_MSILVERMONT ;;
|
||||
32) Microarchitecture=CONFIG_MGOLDMONT ;;
|
||||
33) Microarchitecture=CONFIG_MGOLDMONTPLUS ;;
|
||||
34) Microarchitecture=CONFIG_MSANDYBRIDGE ;;
|
||||
35) Microarchitecture=CONFIG_MIVYBRIDGE ;;
|
||||
36) Microarchitecture=CONFIG_MHASWELL ;;
|
||||
37) Microarchitecture=CONFIG_MBROADWELL ;;
|
||||
38) Microarchitecture=CONFIG_MSKYLAKE ;;
|
||||
39) Microarchitecture=CONFIG_MSKYLAKEX ;;
|
||||
40) Microarchitecture=CONFIG_MCANNONLAKE ;;
|
||||
41) Microarchitecture=CONFIG_MICELAKE ;;
|
||||
42) Microarchitecture=CONFIG_MCASCADELAKE ;;
|
||||
43) Microarchitecture=CONFIG_MCOOPERLAKE ;;
|
||||
44) Microarchitecture=CONFIG_MTIGERLAKE ;;
|
||||
45) Microarchitecture=CONFIG_MSAPPHIRERAPIDS ;;
|
||||
46) Microarchitecture=CONFIG_MROCKETLAKE ;;
|
||||
47) Microarchitecture=CONFIG_MALDERLAKE ;;
|
||||
92) Microarchitecture=CONFIG_GENERIC_CPU2 ;;
|
||||
93) Microarchitecture=CONFIG_GENERIC_CPU3 ;;
|
||||
94) Microarchitecture=CONFIG_GENERIC_CPU4 ;;
|
||||
98) Microarchitecture=CONFIG_MNATIVE_INTEL ;;
|
||||
99) Microarchitecture=CONFIG_MNATIVE_AMD ;;
|
||||
*) default=CONFIG_GENERIC_CPU ;;
|
||||
esac
|
||||
|
||||
warning "According to PKGBUILD variable _microarchitecture, your choice is $answer"
|
||||
msg "Building this package for microarchitecture: $Microarchitecture$default"
|
||||
sleep 5
|
||||
|
||||
sed -e 's|^CONFIG_GENERIC_CPU=y|# CONFIG_GENERIC_CPU is not set|g' -i .config
|
||||
sed -e "s|^# $Microarchitecture is not set|$Microarchitecture=y|g" -i .config
|
||||
|
||||
echo
|
Loading…
Reference in a new issue