[build.sh] BUILD32 env var, set to !true to disable building 32bit libs

multi-gpu
jackun 2 years ago
parent 35da663ce1
commit 807964ad00
No known key found for this signature in database
GPG Key ID: 119DB3F1D05A9ED3

@ -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"
}

Loading…
Cancel
Save