From 807964ad000b9ba78d124183d51fb601725b1a76 Mon Sep 17 00:00:00 2001 From: jackun Date: Wed, 6 Jul 2022 19:21:53 +0300 Subject: [PATCH] [build.sh] BUILD32 env var, set to !true to disable building 32bit libs --- build.sh | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/build.sh b/build.sh index 59a7d95..d11881e 100755 --- a/build.sh +++ b/build.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -e +BUILD32=${BUILD32:-true} OS_RELEASE_FILES=("/etc/os-release" "/usr/lib/os-release") XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}" XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" @@ -81,7 +82,7 @@ dependencies() { dep_install if [[ $(pip3 show meson; echo $?) == 1 || $(pip3 show mako; echo $?) == 1 ]]; then - $SU_CMD pip3 install 'meson>=0.54' mako + $SU_CMD pip3 install 'meson>=0.58' mako fi if [[ ! -f /usr/local/bin/glslangValidator ]]; then wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip @@ -104,7 +105,7 @@ dependencies() { dep_install if [[ $(pip3 show meson; echo $?) == 1 ]]; then - $SU_CMD pip3 install 'meson>=0.54' + $SU_CMD pip3 install 'meson>=0.58' fi break ;; @@ -147,7 +148,7 @@ configure() { if [[ ! -f "build/meson64/build.ninja" ]]; then meson build/meson64 --libdir lib/mangohud/lib64 --prefix /usr -Dappend_libdir_mangohud=false -Dld_libdir_prefix=true -Dld_libdir_abs=true $@ ${CONFIGURE_OPTS} fi - if [[ ! -f "build/meson32/build.ninja" && "$MACHINE" = "x86_64" ]]; then + if [[ $BUILD32 = true && ! -f "build/meson32/build.ninja" && "$MACHINE" = "x86_64" ]]; then export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib/pkgconfig:${PKG_CONFIG_PATH_32}" @@ -162,7 +163,7 @@ build() { fi DESTDIR="$PWD/build/release" ninja -C build/meson64 install - if [ "$MACHINE" = "x86_64" ]; then + if [[ $BUILD32 = true && "$MACHINE" = "x86_64" ]]; then DESTDIR="$PWD/build/release" ninja -C build/meson32 install fi } @@ -178,13 +179,14 @@ package() { } release() { - rm build/MangoHud-package.tar + rm -f build/MangoHud-package.tar mkdir -p build/MangoHud package cp --preserve=mode bin/mangohud-setup.sh build/MangoHud/mangohud-setup.sh cp build/MangoHud-package.tar build/MangoHud/MangoHud-package.tar tar --numeric-owner --owner=0 --group=0 \ - -C build -czvf build/MangoHud-$VERSION.tar.gz MangoHud + -C build -czvf build/MangoHud-$VERSION.tar.gz MangoHud && \ + echo -e "\e[1mPackaged as \e[94mbuild/MangoHud-$VERSION.tar.gz\e[39m\e[0m" } uninstall() { @@ -198,6 +200,8 @@ uninstall() { rm -fv "/usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json" rm -fv "/usr/bin/mangohud" rm -fv "/usr/bin/mangohud.x86" + rm -fv "/usr/bin/mangoapp" + rm -fv "/usr/bin/mangohudctl" } install() { @@ -238,38 +242,38 @@ install() { /usr/bin/install -Dvm644 ./build/release/usr/share/doc/mangohud/MangoHud.conf.example /usr/share/doc/mangohud/MangoHud.conf.example /usr/bin/install -vm755 ./build/release/usr/bin/mangohud /usr/bin/mangohud - ln -sv $DEFAULTLIB /usr/lib/mangohud/lib + ln -Tfsv $DEFAULTLIB /usr/lib/mangohud/lib # FIXME get the triplet somehow - ln -sv lib64 /usr/lib/mangohud/x86_64 - ln -sv lib64 /usr/lib/mangohud/x86_64-linux-gnu - ln -sv . /usr/lib/mangohud/lib64/x86_64 - ln -sv . /usr/lib/mangohud/lib64/x86_64-linux-gnu + ln -Tfsv lib64 /usr/lib/mangohud/x86_64 + ln -Tfsv lib64 /usr/lib/mangohud/x86_64-linux-gnu + ln -Tfsv . /usr/lib/mangohud/lib64/x86_64 + ln -Tfsv . /usr/lib/mangohud/lib64/x86_64-linux-gnu - ln -sv lib32 /usr/lib/mangohud/i686 - ln -sv lib32 /usr/lib/mangohud/i386-linux-gnu - ln -sv lib32 /usr/lib/mangohud/i686-linux-gnu + ln -Tfsv lib32 /usr/lib/mangohud/i686 + ln -Tfsv lib32 /usr/lib/mangohud/i386-linux-gnu + ln -Tfsv lib32 /usr/lib/mangohud/i686-linux-gnu mkdir -p /usr/lib/mangohud/tls - ln -sv ../lib64 /usr/lib/mangohud/tls/x86_64 - ln -sv ../lib32 /usr/lib/mangohud/tls/i686 + ln -Tfsv ../lib64 /usr/lib/mangohud/tls/x86_64 + ln -Tfsv ../lib32 /usr/lib/mangohud/tls/i686 # Some distros search in $prefix/x86_64-linux-gnu/tls/x86_64 etc instead if [ ! -e /usr/lib/mangohud/lib/i386-linux-gnu ]; then - ln -sv ../lib32 /usr/lib/mangohud/lib/i386-linux-gnu + ln -Tfsv ../lib32 /usr/lib/mangohud/lib/i386-linux-gnu fi if [ ! -e /usr/lib/mangohud/lib/i686-linux-gnu ]; then - ln -sv ../lib32 /usr/lib/mangohud/lib/i686-linux-gnu + ln -Tfsv ../lib32 /usr/lib/mangohud/lib/i686-linux-gnu fi if [ ! -e /usr/lib/mangohud/lib/x86_64-linux-gnu ]; then - ln -sv ../lib64 /usr/lib/mangohud/lib/x86_64-linux-gnu + ln -Tfsv ../lib64 /usr/lib/mangohud/lib/x86_64-linux-gnu fi # $LIB can be "lib/tls/x86_64"? - ln -sv ../tls /usr/lib/mangohud/lib/tls + ln -Tfsv ../tls /usr/lib/mangohud/lib/tls - #ln -sv lib64 /usr/lib/mangohud/aarch64-linux-gnu - #ln -sv lib64 /usr/lib/mangohud/arm-linux-gnueabihf + #ln -Tfsv lib64 /usr/lib/mangohud/aarch64-linux-gnu + #ln -Tfsv lib64 /usr/lib/mangohud/arm-linux-gnueabihf echo "MangoHud Installed" }