Add linux compatibility to stage scripts
This commit is contained in:
parent
d0f6bd727f
commit
3d21025056
39 changed files with 118 additions and 44 deletions
|
@ -8,8 +8,6 @@ ffbuild_enabled() {
|
|||
}
|
||||
|
||||
ffbuild_dockerbuild() {
|
||||
mkdir iconv
|
||||
cd iconv
|
||||
wget -O iconv.tar.gz "$ICONV_SRC"
|
||||
tar xaf iconv.tar.gz
|
||||
rm iconv.tar.gz
|
||||
|
@ -27,7 +25,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -23,7 +23,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -23,7 +23,7 @@ ffbuild_dockerbuild() {
|
|||
if [[ $TARGET == win* ]]; then
|
||||
export CC="${FFBUILD_CROSS_PREFIX}gcc"
|
||||
export AR="${FFBUILD_CROSS_PREFIX}ar"
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -37,7 +37,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -25,7 +25,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--cross-file=/cross.meson
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -7,9 +7,6 @@ ffbuild_enabled() {
|
|||
}
|
||||
|
||||
ffbuild_dockerbuild() {
|
||||
mkdir gmp
|
||||
cd gmp
|
||||
|
||||
wget "$GMP_SRC" -O gmp.tar.xz
|
||||
tar xaf gmp.tar.xz
|
||||
rm gmp.tar.xz
|
||||
|
@ -27,7 +24,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -31,6 +31,10 @@ ffbuild_dockerbuild() {
|
|||
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
|
||||
mingw
|
||||
)
|
||||
elif [[ $TARGET == linux64 ]]; then
|
||||
myconf+=(
|
||||
linux-x86_64
|
||||
)
|
||||
else
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
|
|
|
@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -28,7 +28,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
@ -36,6 +36,8 @@ ffbuild_dockerbuild() {
|
|||
./configure "${myconf[@]}"
|
||||
make -j$(nproc)
|
||||
make install
|
||||
|
||||
sed -i 's/Libs.private:/Libs.private: -lintl/' "$FFBUILD_PREFIX"/lib/pkgconfig/fontconfig.pc
|
||||
}
|
||||
|
||||
ffbuild_configure() {
|
||||
|
|
|
@ -22,7 +22,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -31,7 +31,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--cross-file=/cross.meson
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -4,6 +4,9 @@ LOADER_REPO="https://github.com/KhronosGroup/Vulkan-Loader.git"
|
|||
LOADER_COMMIT="7ea01c139ffc7c33cd12bd258c1bc8bf530c6d2d"
|
||||
|
||||
ffbuild_enabled() {
|
||||
# The various graphics systems(xcb, xlib, wayland, ...) need figured out first
|
||||
[[ $TARGET == linux* ]] && return -1
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--cross-file=/cross.meson
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
|
|||
--host="$FFBUILD_TOOLCHAIN"
|
||||
--cross-prefix="$FFBUILD_CROSS_PREFIX"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -4,6 +4,9 @@ GLSLANG_REPO="https://github.com/KhronosGroup/glslang.git"
|
|||
GLSLANG_COMMIT="5878bcb17e43bf22cecaf6095900a33ff7f53445"
|
||||
|
||||
ffbuild_enabled() {
|
||||
# Pointless without Vulkan
|
||||
[[ $TARGET == linux* ]] && return -1
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -31,7 +31,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -28,7 +28,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -29,7 +29,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -32,7 +32,7 @@ ffbuild_dockerbuild() {
|
|||
--target=x86-win32-gcc
|
||||
)
|
||||
export CROSS="$FFBUILD_CROSS_PREFIX"
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -33,7 +33,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -30,7 +30,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -12,12 +12,20 @@ ffbuild_dockerbuild() {
|
|||
git-mini-clone "$RAV1E_REPO" "$RAV1E_COMMIT" rav1e
|
||||
cd rav1e
|
||||
|
||||
cargo cinstall \
|
||||
--target="$FFBUILD_RUST_TARGET" \
|
||||
local myconf=(
|
||||
--prefix="$FFBUILD_PREFIX" \
|
||||
--library-type=staticlib \
|
||||
--crt-static \
|
||||
--release
|
||||
)
|
||||
|
||||
if [[ -n "$FFBUILD_RUST_TARGET" ]]; then
|
||||
myconf+=(
|
||||
--target="$FFBUILD_RUST_TARGET"
|
||||
)
|
||||
fi
|
||||
|
||||
cargo cinstall "${myconf[@]}"
|
||||
}
|
||||
|
||||
ffbuild_configure() {
|
||||
|
|
|
@ -31,7 +31,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--cross-file=/cross.meson
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -27,7 +27,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -14,7 +14,13 @@ ffbuild_dockerbuild() {
|
|||
|
||||
mkdir build && cd build
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF ..
|
||||
if [[ $VARIANT == *shared* && $TARGET == linux* ]]; then
|
||||
USE_OMP="OFF"
|
||||
else
|
||||
USE_OMP="ON"
|
||||
fi
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DWITH_OPENMP="$USE_OMP" -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF ..
|
||||
make -j$(nproc)
|
||||
make install
|
||||
}
|
||||
|
@ -32,5 +38,5 @@ ffbuild_ldflags() {
|
|||
}
|
||||
|
||||
ffbuild_libs() {
|
||||
echo -lgomp
|
||||
[[ $VARIANT == *shared* && $TARGET == linux* ]] || echo -lgomp
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -15,7 +15,13 @@ ffbuild_dockerbuild() {
|
|||
|
||||
mkdir build && cd build
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF ..
|
||||
if [[ $VARIANT == *shared* && $TARGET == linux* ]]; then
|
||||
USE_OMP="OFF"
|
||||
else
|
||||
USE_OMP="ON"
|
||||
fi
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DUSE_OMP="$USE_OMP" ..
|
||||
make -j$(nproc)
|
||||
make install
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
|
|||
--host="$FFBUILD_TOOLCHAIN"
|
||||
--cross-prefix="$FFBUILD_CROSS_PREFIX"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -33,7 +33,7 @@ ffbuild_dockerbuild() {
|
|||
--host="$FFBUILD_TOOLCHAIN"
|
||||
--cross-prefix="$FFBUILD_CROSS_PREFIX"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
|
@ -33,7 +33,7 @@ ffbuild_dockerbuild() {
|
|||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
@ -42,8 +42,12 @@ ffbuild_dockerbuild() {
|
|||
make -j$(nproc)
|
||||
make install
|
||||
|
||||
if [[ $TARGET == win* ]]; then
|
||||
rm "$FFBUILD_PREFIX"/{bin/xvidcore.dll,lib/xvidcore.dll.a}
|
||||
mv "$FFBUILD_PREFIX"/lib/{,lib}xvidcore.a
|
||||
elif [[ $TARGET == linux* ]]; then
|
||||
rm "$FFBUILD_PREFIX"/lib/libxvidcore.so*
|
||||
fi
|
||||
}
|
||||
|
||||
ffbuild_configure() {
|
||||
|
|
|
@ -17,13 +17,14 @@ ffbuild_dockerbuild() {
|
|||
--prefix="$FFBUILD_PREFIX"
|
||||
--disable-shared
|
||||
--enable-static
|
||||
--with-pic
|
||||
)
|
||||
|
||||
if [[ $TARGET == win* ]]; then
|
||||
myconf+=(
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
)
|
||||
else
|
||||
elif [[ $TARGET != linux* ]]; then
|
||||
echo "Unknown target"
|
||||
return -1
|
||||
fi
|
||||
|
|
42
scripts.d/99-staticify.sh
Executable file
42
scripts.d/99-staticify.sh
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
|
||||
ffbuild_enabled() {
|
||||
[[ $TARGET == linux* ]]
|
||||
}
|
||||
|
||||
ffbuild_dockerfinal() {
|
||||
to_df "RUN find /lib /usr/lib -maxdepth 1 -and -type l -and -name '*.so' -delete"
|
||||
}
|
||||
|
||||
ffbuild_dockerlayer() {
|
||||
return 0
|
||||
}
|
||||
|
||||
ffbuild_dockerstage() {
|
||||
return 0
|
||||
}
|
||||
|
||||
ffbuild_dockerbuild() {
|
||||
return 0
|
||||
}
|
||||
|
||||
ffbuild_ldflags() {
|
||||
if [[ $VARIANT == *shared* ]]; then
|
||||
#if [[ $TARGET == *64* ]]; then
|
||||
# echo "-Wl,--dynamic-linker=/lib64/ld-linux-x86-64.so.2"
|
||||
#else
|
||||
# echo "-Wl,--dynamic-linker=/lib/ld-linux.so.2"
|
||||
#fi
|
||||
return 0
|
||||
else
|
||||
echo "-pie -fPIE -static"
|
||||
fi
|
||||
}
|
||||
|
||||
ffbuild_configure() {
|
||||
# Any dynamic executables linked against musl need its dynamic loader to run
|
||||
# Thus it's impossible to build both the libraries and the programs, since
|
||||
# with shared libs, the programs need to be dynamic, and in turn needs the musl
|
||||
# dynamic loader at runtime.
|
||||
[[ $VARIANT == *shared* ]] && echo --disable-programs
|
||||
}
|
Loading…
Reference in a new issue