Browse Source

chore(CI): Add support for building VPX for macOS

Manually set library id name because it defaults to "libvpx.7.dylib",
for some reason, which is not found by qTox or tests.
pull/6438/head
Anthony Bilinski 4 years ago
parent
commit
5e0a2b4585
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
  1. 29
      buildscripts/build_vpx.sh

29
buildscripts/build_vpx.sh

@ -12,8 +12,8 @@ source "${SCRIPT_DIR}/cross_compile_detection.sh" @@ -12,8 +12,8 @@ source "${SCRIPT_DIR}/cross_compile_detection.sh"
usage()
{
echo "Download and build vpx for the windows cross compiling environment"
echo "Usage: $0 --arch {winx86_64|wini686}"
echo "Download and build sqlcipher for Windows or macOS"
echo "Usage: $0 --arch {winx86_64|wini686|macos}"
}
parse_arch "$@"
@ -25,17 +25,30 @@ parse_arch "$@" @@ -25,17 +25,30 @@ parse_arch "$@"
# This is a workaround as suggested in https://stackoverflow.com/questions/43152633
if [ "${ARCH}" == "x86_64" ]; then
ARCH_FLAGS="-fno-asynchronous-unwind-tables"
VPX_ARCH="x86_64-win64-gcc"
TARGET="--target=x86_64-win64-gcc"
CROSS_ARG="${ARCH}-w64-mingw32-"
elif [ "${ARCH}" == "i686" ]; then \
ARCH_FLAGS=""
VPX_ARCH="x86-win32-gcc"
TARGET="--target=x86-win32-gcc"
CROSS_ARG="${ARCH}-w64-mingw32-"
elif [ "${ARCH}" == "macos" ]; then \
ARCH_FLAGS=""
TARGET=""
CROSS_ARG=""
else
exit 1
fi
patch -Np1 < "$(dirname "$0")"/patches/vpx-windows.patch
if [ "${ARCH}" == "macos" ]; then
patch -Np1 < "${SCRIPT_DIR}/patches/vpx-macos.patch"
else
patch -Np1 < "${SCRIPT_DIR}/patches/vpx-windows.patch"
fi
CFLAGS=${ARCH_FLAGS} CROSS="${CROSS_ARG}" \
CFLAGS="${ARCH_FLAGS} ${CROSS_CFLAG}" \
CPPFLAGS="${CROSS_CPPFLAG}" \
LDFLAGS="${CROSS_LDFLAG}" \
CROSS="${CROSS_ARG}" \
./configure \
${TARGET} \
"--prefix=${DEP_PREFIX}" \
@ -49,3 +62,7 @@ CFLAGS=${ARCH_FLAGS} CROSS="${CROSS_ARG}" \ @@ -49,3 +62,7 @@ CFLAGS=${ARCH_FLAGS} CROSS="${CROSS_ARG}" \
make -j "${MAKE_JOBS}"
make install
if [ "${ARCH}" == "macos" ]; then
install_name_tool -id '@rpath/libvpx.dylib' ${DEP_PREFIX}/lib/libvpx.dylib
fi

Loading…
Cancel
Save