@@ -34,18 +34,20 @@ RUN <<_ENV
3434set -e
3535case "${TARGETPLATFORM}" in
3636 linux/amd64)
37- echo TARGETARCH=x86_64 >> ./env
38- echo TUPLE=x86_64-linux-gnu >> ./env
37+ TARGETARCH=x86_64
38+ echo "DNF=( dnf -y --releasever \" ${TAG} \" --forcearch \" ${TARGETARCH} \" )" >> ./env
3939 ;;
4040 linux/arm64)
41- echo TARGETARCH=aarch64 >> ./env
42- echo TUPLE=aarch64-linux-gnu >> ./env
41+ TARGETARCH=aarch64
42+ echo "DNF=( dnf -y --installroot /mnt/cross --releasever \" ${TAG} \" --forcearch \" ${TARGETARCH} \" )" >> ./env
4343 ;;
4444 *)
4545 echo "unsupported platform: ${TARGETPLATFORM}" ;
4646 exit 1
4747 ;;
4848esac
49+ echo TARGETARCH=${TARGETARCH} >> ./env
50+ echo TUPLE=${TARGETARCH}-linux-gnu >> ./env
4951_ENV
5052
5153# reset workdir
8486# shellcheck source=/dev/null
8587source /env/env
8688
87- DNF=( dnf -y --installroot /mnt/cross --releasever "${TAG}" --forcearch "${TARGETARCH}" )
8889"${DNF[@]}" install \
8990 filesystem
9091"${DNF[@]}" --setopt=tsflags=noscripts install \
@@ -161,16 +162,18 @@ set -e
161162# shellcheck source=/dev/null
162163source /env/env
163164
164- export \
165- CXXFLAGS="-isystem $(echo /mnt/cross/usr/include/c++/[0-9]*/) -isystem $(echo /mnt/cross/usr/include/c++/[0-9]*/${TUPLE%%-*}-*/)" \
166- LDFLAGS="-L$(echo /mnt/cross/usr/lib/gcc/${TUPLE%%-*}-*/[0-9]*/)" \
167- PKG_CONFIG_LIBDIR=/mnt/cross/usr/lib64/pkgconfig:/mnt/cross/usr/share/pkgconfig \
168- PKG_CONFIG_SYSROOT_DIR=/mnt/cross \
169- PKG_CONFIG_SYSTEM_INCLUDE_PATH=/mnt/cross/usr/include \
170- PKG_CONFIG_SYSTEM_LIBRARY_PATH=/mnt/cross/usr/lib64
165+ if [[ "${TARGETARCH}" == 'aarch64' ]]; then
166+ export \
167+ CXXFLAGS="-isystem $(echo /mnt/cross/usr/include/c++/[0-9]*/) -isystem $(echo /mnt/cross/usr/include/c++/[0-9]*/${TUPLE%%-*}-*/)" \
168+ LDFLAGS="-L$(echo /mnt/cross/usr/lib/gcc/${TUPLE%%-*}-*/[0-9]*/)" \
169+ PKG_CONFIG_LIBDIR=/mnt/cross/usr/lib64/pkgconfig:/mnt/cross/usr/share/pkgconfig \
170+ PKG_CONFIG_SYSROOT_DIR=/mnt/cross \
171+ PKG_CONFIG_SYSTEM_INCLUDE_PATH=/mnt/cross/usr/include \
172+ PKG_CONFIG_SYSTEM_LIBRARY_PATH=/mnt/cross/usr/lib64
173+ fi
171174
172175cmake \
173- -DCMAKE_TOOLCHAIN_FILE=toolchain-${TARGETARCH}-linux-gnu.cmake \
176+ $([[ "${TARGETARCH}" != x86_64 ]] && echo -DCMAKE_TOOLCHAIN_FILE=toolchain-${TARGETARCH}-linux-gnu.cmake) \
174177 -DCMAKE_BUILD_TYPE=Release \
175178 -DCMAKE_INSTALL_PREFIX=/usr \
176179 -DSUNSHINE_ASSETS_DIR=share/sunshine \
0 commit comments