This commit is contained in:
parent
79b153819a
commit
d14854a109
@ -62,12 +62,14 @@ function set_current_arch() {
|
|||||||
export ARCH="${FULLARCH%%-*}"
|
export ARCH="${FULLARCH%%-*}"
|
||||||
export ARCH_OS="${FULLARCH#*-}"
|
export ARCH_OS="${FULLARCH#*-}"
|
||||||
export ARCH_SHORT_PREFIX="${FULLARCH%-*}"
|
export ARCH_SHORT_PREFIX="${FULLARCH%-*}"
|
||||||
export MUSL_PATH="${MUSL_ROOT_PATH}/${FULLARCH}"
|
export ARCH_MUSL_PATH="${MUSL_ROOT_PATH}/${FULLARCH}"
|
||||||
|
export ARCH_SYSROOT="${ARCH_MUSL_PATH}/${ARCH_SHORT_PREFIX}/sysroot"
|
||||||
|
|
||||||
echo "ARCH: ${ARCH}"
|
echo "ARCH: ${ARCH}"
|
||||||
echo "ARCH_OS: ${ARCH_OS}"
|
echo "ARCH_OS: ${ARCH_OS}"
|
||||||
echo "ARCH_SHORT_PREFIX: ${ARCH_SHORT_PREFIX}"
|
echo "ARCH_SHORT_PREFIX: ${ARCH_SHORT_PREFIX}"
|
||||||
echo "MUSL_PATH: ${MUSL_PATH}"
|
echo "ARCH_MUSL_PATH: ${ARCH_MUSL_PATH}"
|
||||||
|
echo "ARCH_SYSROOT: ${ARCH_SYSROOT}"
|
||||||
}
|
}
|
||||||
|
|
||||||
OLD_PWD="$PWD"
|
OLD_PWD="$PWD"
|
||||||
@ -91,9 +93,9 @@ function build_arch() {
|
|||||||
|
|
||||||
echo "Building for ${ARCH} in ${ARCH_BUILD_DIR}"
|
echo "Building for ${ARCH} in ${ARCH_BUILD_DIR}"
|
||||||
|
|
||||||
if [ ! -f "${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++" ]; then
|
if [ ! -f "${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++" ]; then
|
||||||
echo "Musl cross toolchain not found for ${ARCH}"
|
echo "Musl cross toolchain not found for ${ARCH}"
|
||||||
echo "Missing file: ${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++"
|
echo "Missing file: ${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -102,13 +104,13 @@ function build_arch() {
|
|||||||
CMAKE_BUILD_TYPE="Debug"
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export CC="${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-gcc"
|
export CC="${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-gcc"
|
||||||
export CXX="${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++"
|
export CXX="${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++"
|
||||||
export SYSROOT="${MUSL_PATH}/${ARCH_OS}/sysroot"
|
export SYSROOT="${ARCH_SYSROOT}"
|
||||||
|
|
||||||
export OPENSSL_ROOT_DIR="${SYSROOT}/usr"
|
export OPENSSL_ROOT_DIR="${SYSROOT}/usr"
|
||||||
export CFLAGS="--sysroot=$SYSROOT"
|
export CFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include"
|
||||||
export CXXFLAGS="--sysroot=$SYSROOT"
|
export CXXFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include"
|
||||||
export LDFLAGS="--sysroot=$SYSROOT"
|
export LDFLAGS="--sysroot=$SYSROOT"
|
||||||
export MAKEFLAGS="-j${JOBS}"
|
export MAKEFLAGS="-j${JOBS}"
|
||||||
export CCACHE_DIR="${ARCH_BUILD_DIR}/ccache"
|
export CCACHE_DIR="${ARCH_BUILD_DIR}/ccache"
|
||||||
@ -116,6 +118,15 @@ function build_arch() {
|
|||||||
export CMAKE_MODULE_LINKER_FLAGS="-fuse-ld=mold"
|
export CMAKE_MODULE_LINKER_FLAGS="-fuse-ld=mold"
|
||||||
export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold"
|
export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold"
|
||||||
|
|
||||||
|
if [ -d "${ARCH_SYSROOT}/usr/lib64" ]; then
|
||||||
|
export OPENSSL_LIBDIR="${ARCH_SYSROOT}/usr/lib64"
|
||||||
|
elif [ -d "${ARCH_SYSROOT}/usr/lib" ]; then
|
||||||
|
export OPENSSL_LIBDIR="${ARCH_SYSROOT}/usr/lib"
|
||||||
|
else
|
||||||
|
echo "Neither lib nor lib64 found in ${ARCH_SYSROOT}/usr"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
cmake -B "${ARCH_BUILD_DIR}" -G Ninja \
|
cmake -B "${ARCH_BUILD_DIR}" -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" \
|
-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
@ -126,7 +137,11 @@ function build_arch() {
|
|||||||
-DCMAKE_C_FLAGS="${CFLAGS}" \
|
-DCMAKE_C_FLAGS="${CFLAGS}" \
|
||||||
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
|
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
|
||||||
-DCMAKE_FIND_ROOT_PATH="${SYSROOT}" \
|
-DCMAKE_FIND_ROOT_PATH="${SYSROOT}" \
|
||||||
-DCMAKE_SYSROOT="${SYSROOT}"
|
-DCMAKE_SYSROOT="${SYSROOT}" \
|
||||||
|
-DOPENSSL_ROOT_DIR="${ARCH_SYSROOT}/usr" \
|
||||||
|
-DOPENSSL_LIBRARIES="${OPENSSL_LIBDIR}" \
|
||||||
|
-DOPENSSL_INCLUDE_DIR="${ARCH_SYSROOT}/usr/include" \
|
||||||
|
-DOPENSSL_USE_STATIC_LIBS=ON
|
||||||
cd "${ARCH_BUILD_DIR}" || exit 1
|
cd "${ARCH_BUILD_DIR}" || exit 1
|
||||||
ninja -k0 -j"${JOBS}"
|
ninja -k0 -j"${JOBS}"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user