Fix build scripts to be able to build with linuxarm64 image
This commit is contained in:
parent
079792d4e1
commit
abb2e5a95a
6 changed files with 36 additions and 5 deletions
|
@ -29,10 +29,15 @@ ffbuild_dockerbuild() {
|
||||||
--enable-threads
|
--enable-threads
|
||||||
--with-combined-threads
|
--with-combined-threads
|
||||||
--with-incoming-stack-boundary=2
|
--with-incoming-stack-boundary=2
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ $TARGET != linuxarm64 ]]; then
|
||||||
|
myconf+=(
|
||||||
--enable-sse2
|
--enable-sse2
|
||||||
--enable-avx
|
--enable-avx
|
||||||
--enable-avx2
|
--enable-avx2
|
||||||
)
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $TARGET == win* || $TARGET == linux* ]]; then
|
if [[ $TARGET == win* || $TARGET == linux* ]]; then
|
||||||
myconf+=(
|
myconf+=(
|
||||||
|
|
|
@ -36,6 +36,11 @@ ffbuild_dockerbuild() {
|
||||||
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
|
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
|
||||||
linux-x86_64
|
linux-x86_64
|
||||||
)
|
)
|
||||||
|
elif [[ $TARGET == linuxarm64 ]]; then
|
||||||
|
myconf+=(
|
||||||
|
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
|
||||||
|
linux-aarch64
|
||||||
|
)
|
||||||
else
|
else
|
||||||
echo "Unknown target"
|
echo "Unknown target"
|
||||||
return -1
|
return -1
|
||||||
|
|
|
@ -32,11 +32,16 @@ ffbuild_dockerbuild() {
|
||||||
--target=x86-win32-gcc
|
--target=x86-win32-gcc
|
||||||
)
|
)
|
||||||
export CROSS="$FFBUILD_CROSS_PREFIX"
|
export CROSS="$FFBUILD_CROSS_PREFIX"
|
||||||
elif [[ $TARGET == linux* ]]; then
|
elif [[ $TARGET == linux64 ]]; then
|
||||||
myconf+=(
|
myconf+=(
|
||||||
--target=x86_64-linux-gcc
|
--target=x86_64-linux-gcc
|
||||||
)
|
)
|
||||||
export CROSS="$FFBUILD_CROSS_PREFIX"
|
export CROSS="$FFBUILD_CROSS_PREFIX"
|
||||||
|
elif [[ $TARGET == linuxarm64 ]]; then
|
||||||
|
myconf+=(
|
||||||
|
--target=arm64-linux-gcc
|
||||||
|
)
|
||||||
|
export CROSS="$FFBUILD_CROSS_PREFIX"
|
||||||
else
|
else
|
||||||
echo "Unknown target"
|
echo "Unknown target"
|
||||||
return -1
|
return -1
|
||||||
|
|
|
@ -37,6 +37,11 @@ ffbuild_dockerbuild() {
|
||||||
OS=linux
|
OS=linux
|
||||||
ARCH=x86_64
|
ARCH=x86_64
|
||||||
)
|
)
|
||||||
|
elif [[ $TARGET == linuxarm64 ]]; then
|
||||||
|
myconf+=(
|
||||||
|
OS=linux
|
||||||
|
ARCH=aarch64
|
||||||
|
)
|
||||||
else
|
else
|
||||||
echo "Unknown target"
|
echo "Unknown target"
|
||||||
return -1
|
return -1
|
||||||
|
|
|
@ -25,6 +25,12 @@ ffbuild_dockerbuild() {
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# For some reason, RUSTFLAGS, CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER,
|
||||||
|
# and .cargo/config.toml can't work, so have to put a symbolic link
|
||||||
|
if [[ $TARGET == linuxarm64 ]]; then
|
||||||
|
ln -s /opt/ct-ng/bin/aarch64-ffbuild-linux-gnu-gcc /opt/ct-ng/bin/aarch64-linux-gnu-gcc
|
||||||
|
fi
|
||||||
|
|
||||||
cargo cinstall "${myconf[@]}"
|
cargo cinstall "${myconf[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,12 @@ ffbuild_dockerbuild() {
|
||||||
|
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
|
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DUSE_OMP=ON ..
|
local disable_sse2=""
|
||||||
|
if [[ $TARGET == linuxarm64 ]]; then
|
||||||
|
disable_sse2=-DSSE2_FOUND=FALSE
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DUSE_OMP=ON $disable_sse2 ..
|
||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
make install
|
make install
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue