mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
chore(CI): Use platform detection script in Windows dep build scripts
Allows future macOS configuration in each individual build script to not all be duplicated. Also deduplicates current Windows arg checking and config setting.
This commit is contained in:
parent
5ac0dee3a8
commit
42b4385c35
|
@ -6,45 +6,27 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build ffmpeg for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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" != "win32" ] && [ "$ARCH" != "win64" ]; then
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_ffmpeg.sh"
|
||||
parse_arch --dep "ffmpeg" --supported "win32 win64" "$@"
|
||||
|
||||
if [ "${ARCH}" == "win64" ]; then
|
||||
FFMPEG_ARCH="x86_64"
|
||||
CROSS_PREFIX="x86_64-w64-mingw32-"
|
||||
else
|
||||
FFMPEG_ARCH="x86"
|
||||
CROSS_PREFIX="i686-w64-mingw32-"
|
||||
fi
|
||||
|
||||
"${SCRIPT_DIR}/download/download_ffmpeg.sh"
|
||||
|
||||
./configure --arch=${FFMPEG_ARCH} \
|
||||
--enable-gpl \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--prefix=/windows/ \
|
||||
"--prefix=${DEP_PREFIX}" \
|
||||
--target-os="mingw32" \
|
||||
--cross-prefix="${CROSS_PREFIX}" \
|
||||
"--cross-prefix=${MINGW_ARCH}-w64-mingw32-" \
|
||||
--pkg-config="pkg-config" \
|
||||
--extra-cflags="-O2 -g0" \
|
||||
--disable-debug \
|
||||
|
@ -88,5 +70,5 @@ fi
|
|||
--enable-decoder=mjpeg \
|
||||
--enable-decoder=rawvideo
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,38 +6,18 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build gmp for windows"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
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
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
if [ "$ARCH" != "win32" ] && [ "$ARCH" != "win64" ]; then
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
parse_arch --dep "gdb" --supported "win32 win64" "$@"
|
||||
|
||||
if [ "${ARCH}" == "win64" ]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
else
|
||||
HOST="i686-w64-mingw32"
|
||||
fi
|
||||
"${SCRIPT_DIR}/download/download_gdb.sh"
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_gdb.sh"
|
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="${HOST}" \
|
||||
--prefix="/windows" \
|
||||
CFLAGS="-O2 -g0" ./configure "${HOST_OPTION}" \
|
||||
--prefix="${DEP_PREFIX}" \
|
||||
--enable-static \
|
||||
--disable-shared
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,38 +6,18 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build gmp for windows"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
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
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
if [ "$ARCH" != "win32" ] && [ "$ARCH" != "win64" ]; then
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
parse_arch --dep "gmp" --supported "win32 win64" "$@"
|
||||
|
||||
if [ "${ARCH}" == "win64" ]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
else
|
||||
HOST="i686-w64-mingw32"
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_gmp.sh"
|
||||
"${SCRIPT_DIR}/download/download_gmp.sh"
|
||||
|
||||
# https://gmplib.org/list-archives/gmp-discuss/2020-July/006519.html
|
||||
CC_FOR_BUILD=gcc CFLAGS="-O2 -g0" ./configure --host="${HOST}" \
|
||||
--prefix="/windows" \
|
||||
CC_FOR_BUILD=gcc CFLAGS="-O2 -g0" ./configure "${HOST_OPTION}" \
|
||||
--prefix="${DEP_PREFIX}" \
|
||||
--enable-static \
|
||||
--disable-shared
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,42 +6,20 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build libexif for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "libexif" --supported "win32 win64" "$@"
|
||||
|
||||
if [ "$ARCH" != "win32" ] && [ "$ARCH" != "win64" ]; then
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
"${SCRIPT_DIR}/download/download_libexif.sh"
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_libexif.sh"
|
||||
|
||||
if [ "${ARCH}" == "win64" ]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
else
|
||||
HOST="i686-w64-mingw32"
|
||||
fi
|
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="${HOST}" \
|
||||
--prefix=/windows/ \
|
||||
CFLAGS="-O2 -g0" ./configure "${HOST_OPTION}" \
|
||||
"--prefix=${DEP_PREFIX}" \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--disable-docs \
|
||||
--disable-nls
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,38 +6,18 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build libexpat for windows"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
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
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
if [ "$ARCH" != "win32" ] && [ "$ARCH" != "win64" ]; then
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
parse_arch --dep "libexpat" --supported "win32 win64" "$@"
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_libexpat.sh"
|
||||
"${SCRIPT_DIR}/download/download_libexpat.sh"
|
||||
|
||||
if [ "${ARCH}" == "win64" ]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
else
|
||||
HOST="i686-w64-mingw32"
|
||||
fi
|
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="${HOST}" \
|
||||
--prefix="/windows" \
|
||||
CFLAGS="-O2 -g0" ./configure "${HOST_OPTION}" \
|
||||
--prefix="${DEP_PREFIX}" \
|
||||
--enable-static \
|
||||
--disable-shared
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -5,14 +5,21 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_msgpack_c.sh"
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
parse_arch --dep "msgpack-c" --supported "win32 win64" "$@"
|
||||
|
||||
"${SCRIPT_DIR}/download/download_msgpack_c.sh"
|
||||
|
||||
cmake .\
|
||||
"-DCMAKE_INSTALL_PREFIX=${DEP_PREFIX}" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \
|
||||
"${CMAKE_TOOLCHAIN_FILE}" \
|
||||
-DMSGPACK_BUILD_EXAMPLES=OFF \
|
||||
-DMSGPACK_BUILD_TESTS=OFF \
|
||||
.
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -8,48 +8,23 @@ set -euo pipefail
|
|||
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build openal for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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" != "win32" ] && [ "$ARCH" != "win64" ]; then
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
parse_arch --dep "openal" --supported "win32 win64" "$@"
|
||||
|
||||
"${SCRIPT_DIR}/download/download_openal.sh"
|
||||
|
||||
patch -p1 < "${SCRIPT_DIR}/patches/openal-cmake-3-11.patch"
|
||||
|
||||
|
||||
if [ "${ARCH}" == "win64" ]; then
|
||||
MINGW_DIR="x86_64-w64-mingw32"
|
||||
else
|
||||
MINGW_DIR="x86-w64-mingw32"
|
||||
fi
|
||||
|
||||
export CFLAGS="-fPIC"
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \
|
||||
cmake "-DCMAKE_INSTALL_PREFIX=${DEP_PREFIX}" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DALSOFT_UTILS=OFF \
|
||||
-DALSOFT_EXAMPLES=OFF \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \
|
||||
-DDSOUND_INCLUDE_DIR="/usr/${MINGW_DIR}/include" \
|
||||
-DDSOUND_LIBRARY="/usr/${MINGW_DIR}/lib/libdsound.a" \
|
||||
"${CMAKE_TOOLCHAIN_FILE}" \
|
||||
-DDSOUND_INCLUDE_DIR="/usr/${MINGW_ARCH}-w64-mingw32/include" \
|
||||
-DDSOUND_LIBRARY="/usr/${MINGW_ARCH}-w64-mingw32/lib/libdsound.a" \
|
||||
.
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,41 +6,25 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build openssl for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "openssl" --supported "win32 win64" "$@"
|
||||
|
||||
if [[ "$ARCH" == "win64" ]]; then
|
||||
if [[ "$SCRIPT_ARCH" == "win64" ]]; then
|
||||
OPENSSL_ARCH="mingw64"
|
||||
PREFIX="x86_64-w64-mingw32-"
|
||||
elif [[ "$ARCH" == "win32" ]]; then
|
||||
OPENSSL_ARCH="mingw"
|
||||
PREFIX="i686-w64-mingw32-"
|
||||
else
|
||||
echo "Invalid architecture"
|
||||
usage
|
||||
exit 1
|
||||
OPENSSL_ARCH="mingw"
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_openssl.sh"
|
||||
"${SCRIPT_DIR}/download/download_openssl.sh"
|
||||
|
||||
./Configure --prefix=/windows/ \
|
||||
--openssldir=/windows/ssl \
|
||||
./Configure "--prefix=${DEP_PREFIX}" \
|
||||
"--openssldir=${DEP_PREFIX}/ssl" \
|
||||
shared \
|
||||
$OPENSSL_ARCH \
|
||||
--cross-compile-prefix=${PREFIX}
|
||||
"--cross-compile-prefix=${MINGW_ARCH}-w64-mingw32-"
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install_sw
|
||||
|
|
|
@ -6,41 +6,21 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build opus for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "opus" --supported "win32 win64" "$@"
|
||||
|
||||
if [[ "$ARCH" == "win64" ]]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
elif [[ "$ARCH" == "win32" ]]; then
|
||||
HOST="i686-w64-mingw32"
|
||||
else
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_opus.sh"
|
||||
"${SCRIPT_DIR}/download/download_opus.sh"
|
||||
|
||||
LDFLAGS="-fstack-protector" CFLAGS="-O2 -g0" \
|
||||
./configure --host="${HOST}" \
|
||||
--prefix=/windows/ \
|
||||
./configure "${HOST_OPTION}" \
|
||||
"--prefix=${DEP_PREFIX}" \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--disable-extra-programs \
|
||||
--disable-doc
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,41 +6,21 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build qrencode for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "qrencode" --supported "win32 win64" "$@"
|
||||
|
||||
if [[ "$ARCH" == "win64" ]]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
elif [[ "$ARCH" == "win32" ]]; then
|
||||
HOST="i686-w64-mingw32"
|
||||
else
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
"${SCRIPT_DIR}/download/download_qrencode.sh"
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_qrencode.sh"
|
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="${HOST}" \
|
||||
--prefix=/windows \
|
||||
CFLAGS="-O2 -g0" ./configure "${HOST_OPTION}" \
|
||||
--prefix="${DEP_PREFIX}" \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--disable-sdltest \
|
||||
--without-tools \
|
||||
--without-debug
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,41 +6,21 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build qt for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "qt" --supported "win32 win64" "$@"
|
||||
|
||||
if [[ "$ARCH" == "win64" ]]; then
|
||||
CROSS="x86_64-w64-mingw32-"
|
||||
elif [[ "$ARCH" == "win32" ]]; then
|
||||
CROSS="i686-w64-mingw32-"
|
||||
else
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_qt.sh"
|
||||
"${SCRIPT_DIR}/download/download_qt.sh"
|
||||
|
||||
OPENSSL_LIBS=$(pkg-config --libs openssl)
|
||||
export OPENSSL_LIBS
|
||||
|
||||
./configure -prefix /windows/ \
|
||||
./configure -prefix "${DEP_PREFIX}" \
|
||||
-release \
|
||||
-shared \
|
||||
-device-option CROSS_COMPILE=${CROSS} \
|
||||
-device-option "CROSS_COMPILE=${MINGW_ARCH}-w64-mingw32-" \
|
||||
-xplatform win32-g++ \
|
||||
-openssl \
|
||||
"$(pkg-config --cflags openssl)" \
|
||||
|
@ -94,5 +74,5 @@ export OPENSSL_LIBS
|
|||
-qt-pcre \
|
||||
-opengl desktop
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,39 +6,19 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build sodium for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "sodium" --supported "win32 win64" "$@"
|
||||
|
||||
if [[ "$ARCH" == "win64" ]]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
elif [[ "$ARCH" == "win32" ]]; then
|
||||
HOST="i686-w64-mingw32"
|
||||
else
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_sodium.sh"
|
||||
"${SCRIPT_DIR}/download/download_sodium.sh"
|
||||
|
||||
LDFLAGS="-fstack-protector" \
|
||||
./configure --host="${HOST}" \
|
||||
--prefix=/windows \
|
||||
./configure "${HOST_OPTION}" \
|
||||
"--prefix=${DEP_PREFIX}" \
|
||||
--enable-shared \
|
||||
--disable-static
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -6,47 +6,27 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build sqlcipher for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "sqlcipher" --supported "win32 win64" "$@"
|
||||
|
||||
if [[ "$ARCH" == "win64" ]]; then
|
||||
HOST="x86_64-w64-mingw32"
|
||||
elif [[ "$ARCH" == "win32" ]]; then
|
||||
HOST="i686-w64-mingw32"
|
||||
else
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_sqlcipher.sh"
|
||||
"${SCRIPT_DIR}/download/download_sqlcipher.sh"
|
||||
|
||||
sed -i s/'if test "$TARGET_EXEEXT" = ".exe"'/'if test ".exe" = ".exe"'/g configure
|
||||
sed -i 's|exec $PWD/mksourceid manifest|exec $PWD/mksourceid.exe manifest|g' tool/mksqlite3h.tcl
|
||||
|
||||
./configure --host="${HOST}" \
|
||||
--prefix=/windows/ \
|
||||
./configure "${HOST_OPTION}" \
|
||||
"--prefix=${DEP_PREFIX}" \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-tempstore=yes \
|
||||
CFLAGS="-O2 -g0 -DSQLITE_HAS_CODEC -I/windows/include/" \
|
||||
LDFLAGS="-lcrypto -lgdi32 -L/windows/lib/" \
|
||||
CFLAGS="-O2 -g0 -DSQLITE_HAS_CODEC -I${DEP_PREFIX}/include/" \
|
||||
LDFLAGS="-lcrypto -lgdi32 -L${DEP_PREFIX}/lib/" \
|
||||
LIBS="-lgdi32 -lws2_32"
|
||||
|
||||
sed -i s/"TEXE = $"/"TEXE = .exe"/ Makefile
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -8,6 +8,10 @@ set -euo pipefail
|
|||
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
parse_arch --dep "toxcore and toxext extensions" --supported "win32 win64" "$@"
|
||||
|
||||
build_toxcore() {
|
||||
TOXCORE_SRC="$(realpath toxcore)"
|
||||
|
||||
|
@ -16,15 +20,15 @@ build_toxcore() {
|
|||
|
||||
"${SCRIPT_DIR}/download/download_toxcore.sh"
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \
|
||||
cmake "-DCMAKE_INSTALL_PREFIX=${DEP_PREFIX}" \
|
||||
-DBOOTSTRAP_DAEMON=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DENABLE_STATIC=OFF \
|
||||
-DENABLE_SHARED=ON \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \
|
||||
"${CMAKE_TOOLCHAIN_FILE}" \
|
||||
.
|
||||
|
||||
cmake --build . -- -j$(nproc)
|
||||
cmake --build . -- "-j${MAKE_JOBS}"
|
||||
cmake --build . --target install
|
||||
|
||||
popd >/dev/null
|
||||
|
@ -38,12 +42,12 @@ build_toxext() {
|
|||
|
||||
"${SCRIPT_DIR}/download/download_toxext.sh"
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \
|
||||
cmake "-DCMAKE_INSTALL_PREFIX=${DEP_PREFIX}" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \
|
||||
"${CMAKE_TOOLCHAIN_FILE}" \
|
||||
.
|
||||
|
||||
cmake --build . -- -j$(nproc)
|
||||
cmake --build . -- "-j${MAKE_JOBS}"
|
||||
cmake --build . --target install
|
||||
|
||||
popd >/dev/null
|
||||
|
@ -57,10 +61,11 @@ build_toxext_messages() {
|
|||
|
||||
"${SCRIPT_DIR}/download/download_toxext_messages.sh"
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \
|
||||
cmake "-DCMAKE_INSTALL_PREFIX=${DEP_PREFIX}" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \
|
||||
"${CMAKE_TOOLCHAIN_FILE}" \
|
||||
.
|
||||
cmake --build . -- "-j${MAKE_JOBS}"
|
||||
cmake --build . --target install
|
||||
|
||||
popd >/dev/null
|
||||
|
|
|
@ -12,7 +12,18 @@ usage()
|
|||
# doesn't include --dep argument, since that comes from the build script
|
||||
# itself.
|
||||
echo "Download and build $DEP_NAME for the Windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
echo "Usage: $0 --arch {$1}"
|
||||
}
|
||||
|
||||
assert_supported()
|
||||
{
|
||||
for supported in $2; do
|
||||
if [ "$1" == "$supported" ]; then
|
||||
return
|
||||
fi
|
||||
done
|
||||
usage "$2"
|
||||
exit 1
|
||||
}
|
||||
|
||||
parse_arch()
|
||||
|
@ -21,11 +32,14 @@ parse_arch()
|
|||
case $1 in
|
||||
--arch) SCRIPT_ARCH=$2; shift 2 ;;
|
||||
--dep) DEP_NAME=$2; shift 2 ;;
|
||||
--supported) SUPPORTED=$2; shift 2 ;;
|
||||
-h|--help) usage; exit 1 ;;
|
||||
*) echo "Unexpected argument $1"; usage; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
assert_supported "${SCRIPT_ARCH}" "${SUPPORTED}"
|
||||
|
||||
if [ "${SCRIPT_ARCH}" == "win32" ] || [ "${SCRIPT_ARCH}" == "win64" ]; then
|
||||
if [ "${SCRIPT_ARCH}" == "win32" ]; then
|
||||
local ARCH="i686"
|
||||
|
|
|
@ -6,47 +6,32 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Download and build vpx for the windows cross compiling environment"
|
||||
echo "Usage: $0 --arch {win64|win32}"
|
||||
}
|
||||
readonly SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
||||
|
||||
ARCH=""
|
||||
source "${SCRIPT_DIR}/build_utils.sh"
|
||||
|
||||
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
|
||||
parse_arch --dep "vpx" --supported "win32 win64" "$@"
|
||||
|
||||
|
||||
if [[ "$ARCH" == "win64" ]]; then
|
||||
if [[ "$SCRIPT_ARCH" == "win64" ]]; then
|
||||
# There is a bug in gcc that breaks avx512 on 64-bit Windows https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412
|
||||
# VPX fails to build due to it.
|
||||
# This is a workaround as suggested in https://stackoverflow.com/questions/43152633
|
||||
ARCH_FLAGS="-fno-asynchronous-unwind-tables"
|
||||
VPX_ARCH="x86_64-win64-gcc"
|
||||
CROSS="x86_64-w64-mingw32-"
|
||||
elif [[ "$ARCH" == "win32" ]]; then
|
||||
elif [[ "$SCRIPT_ARCH" == "win32" ]]; then
|
||||
ARCH_FLAGS=""
|
||||
VPX_ARCH="x86-win32-gcc"
|
||||
CROSS="i686-w64-mingw32-"
|
||||
else
|
||||
echo "Unexpected arch $ARCH"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$(dirname "$(realpath "$0")")/download/download_vpx.sh"
|
||||
"${SCRIPT_DIR}/download/download_vpx.sh"
|
||||
|
||||
patch -Np1 < "$(dirname "$0")"/patches/vpx.patch
|
||||
patch -Np1 < "${SCRIPT_DIR}/patches/vpx.patch"
|
||||
|
||||
CFLAGS=${ARCH_FLAGS} CROSS="${CROSS}" \
|
||||
CFLAGS=${ARCH_FLAGS} CROSS="${MINGW_ARCH}-w64-mingw32-" \
|
||||
./configure --target="${VPX_ARCH}" \
|
||||
--prefix=/windows/ \
|
||||
"--prefix=${DEP_PREFIX}" \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-runtime-cpu-detect \
|
||||
|
@ -55,5 +40,5 @@ CFLAGS=${ARCH_FLAGS} CROSS="${CROSS}" \
|
|||
--disable-docs \
|
||||
--disable-unit-tests
|
||||
|
||||
make -j $(nproc)
|
||||
make -j "${MAKE_JOBS}"
|
||||
make install
|
||||
|
|
|
@ -67,8 +67,6 @@ RUN mkdir -p /src/openssl && \
|
|||
/build/build_openssl.sh --arch ${SCRIPT_ARCH} && \
|
||||
rm -fr /src/openssl
|
||||
|
||||
env PKG_CONFIG_PATH=/windows/lib/pkgconfig
|
||||
|
||||
COPY download/download_qt.sh /build/download/download_qt.sh
|
||||
COPY build_qt_windows.sh /build/build_qt_windows.sh
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user