Browse Source

chore(CI): Add script for handling cross compile args

reviewable/pr6438/r4
Anthony Bilinski 4 years ago
parent
commit
eb3fa3516f
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
  1. 44
      buildscripts/cross_compile_detection.sh
  2. 1
      buildscripts/docker/Dockerfile.almalinux
  3. 1
      buildscripts/docker/Dockerfile.archlinux
  4. 1
      buildscripts/docker/Dockerfile.debian
  5. 1
      buildscripts/docker/Dockerfile.debian_old
  6. 1
      buildscripts/docker/Dockerfile.fedora
  7. 2
      buildscripts/docker/Dockerfile.opensuse
  8. 1
      buildscripts/docker/Dockerfile.ubuntu_lts
  9. 1
      buildscripts/docker/Dockerfile.windows_builder

44
buildscripts/cross_compile_detection.sh

@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright (c) 2022 by The qTox Project Contributors
set -euo pipefail
MACOS_MINIMUM_SUPPORTED_VERSION=10.14
parse_arch()
{
while (( $# > 0 )); do
case $1 in
--arch) ARCH=$2; shift 2 ;;
-h|--help) usage; exit 1 ;;
*) echo "Unexpected argument $1"; usage; exit 1;;
esac
done
if [ "$ARCH" == "macos" ]; then
DEP_PREFIX="$(realpath $(dirname $(realpath ${BASH_SOURCE[0]}))/../local-deps)"
mkdir -p $DEP_PREFIX
HOST_OPTION=''
CROSS_LDFLAG="-mmacosx-version-min=$MACOS_MINIMUM_SUPPORTED_VERSION"
CROSS_CFLAG="-mmacosx-version-min=$MACOS_MINIMUM_SUPPORTED_VERSION"
CROSS_CPPFLAG="-mmacosx-version-min=$MACOS_MINIMUM_SUPPORTED_VERSION"
MAKE_JOBS="$(sysctl -n hw.ncpu)"
CMAKE_TOOLCHAIN_FILE=""
elif [ "$ARCH" == "i686" ] || [ "$ARCH" == "x86_64" ]; then
DEP_PREFIX='/windows/'
HOST_OPTION="--host=${ARCH}-w64-mingw32"
CROSS_LDFLAG=''
CROSS_CFLAG=''
CROSS_CPPFLAG=''
MAKE_JOBS="$(nproc)"
CMAKE_TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake"
else
echo "Unexpected arch $ARCH"
usage
exit 1
fi
export PKG_CONFIG_PATH=$DEP_PREFIX/lib/pkgconfig
}

1
buildscripts/docker/Dockerfile.almalinux

@ -48,6 +48,7 @@ RUN dnf --nodocs -y install dnf-plugins-core && \ @@ -48,6 +48,7 @@ RUN dnf --nodocs -y install dnf-plugins-core && \
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_snore.sh /build/download/download_snore.sh
COPY build_snore_linux.sh /build/build_snore_linux.sh

1
buildscripts/docker/Dockerfile.archlinux

@ -39,6 +39,7 @@ RUN pacman -Syu --noconfirm --needed \ @@ -39,6 +39,7 @@ RUN pacman -Syu --noconfirm --needed \
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_toxcore.sh /build/download/download_toxcore.sh
COPY download/download_toxext.sh /build/download/download_toxext.sh
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh

1
buildscripts/docker/Dockerfile.debian

@ -46,6 +46,7 @@ RUN apt-get update && \ @@ -46,6 +46,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_snore.sh /build/download/download_snore.sh
COPY build_snore_linux.sh /build/build_snore_linux.sh

1
buildscripts/docker/Dockerfile.debian_old

@ -49,6 +49,7 @@ RUN apt-get update && \ @@ -49,6 +49,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_snore.sh /build/download/download_snore.sh
COPY build_snore_linux.sh /build/build_snore_linux.sh

1
buildscripts/docker/Dockerfile.fedora

@ -46,6 +46,7 @@ RUN dnf --nodocs -y install dnf-plugins-core && \ @@ -46,6 +46,7 @@ RUN dnf --nodocs -y install dnf-plugins-core && \
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_snore.sh /build/download/download_snore.sh
COPY build_snore_linux.sh /build/build_snore_linux.sh

2
buildscripts/docker/Dockerfile.opensuse

@ -44,6 +44,8 @@ RUN zypper install --no-recommends -y \ @@ -44,6 +44,8 @@ RUN zypper install --no-recommends -y \
zypper clean
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_toxcore.sh /build/download/download_toxcore.sh
COPY download/download_toxext.sh /build/download/download_toxext.sh
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh

1
buildscripts/docker/Dockerfile.ubuntu_lts

@ -70,6 +70,7 @@ RUN apt-get update && \ @@ -70,6 +70,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_snore.sh /build/download/download_snore.sh
COPY build_snore_linux.sh /build/build_snore_linux.sh

1
buildscripts/docker/Dockerfile.windows_builder

@ -57,6 +57,7 @@ RUN update-alternatives --set ${ARCH}-w64-mingw32-gcc /usr/bin/${ARCH}-w64-mingw @@ -57,6 +57,7 @@ RUN update-alternatives --set ${ARCH}-w64-mingw32-gcc /usr/bin/${ARCH}-w64-mingw
update-alternatives --set ${ARCH}-w64-mingw32-g++ /usr/bin/${ARCH}-w64-mingw32-g++-posix
COPY download/common.sh /build/download/common.sh
COPY cross_compile_detection.sh /build/cross_compile_detection.sh
COPY download/download_openssl.sh /build/download/download_openssl.sh
COPY build_openssl_cross.sh /build/build_openssl_cross.sh

Loading…
Cancel
Save