fwupd/contrib/build-windows.sh
Richard Hughes 06a2dcf62b Remove gtkdoc build option
We've seen that gi-docgen is active and other projects are switching to
it. Remove the legacy (and slow) gtk-doc build support.
2022-06-11 21:26:46 +01:00

96 lines
2.9 KiB
Bash
Executable File

#!/bin/sh
set -e
root=$(pwd)
export DESTDIR=${root}/dist
build=$root/build-win32
mkdir -p "$build" && cd "$build"
# install deps
if [ ! -f /usr/share/mingw/toolchain-mingw64.meson ]; then
./contrib/ci/fwupd_setup_helpers.py -v mingw64 install-dependencies
fi
# try to keep this and ../contrib/ci/build_windows.sh in sync as much as makes sense
meson .. \
--cross-file=/usr/share/mingw/toolchain-mingw64.meson \
--cross-file=../contrib/mingw64.cross \
--prefix=/ \
--sysconfdir="etc" \
--libexecdir="bin" \
--bindir="bin" \
-Dbuild=all \
-Ddocs=false \
-Dhsi=false \
-Dman=false \
-Dfish_completion=false \
-Dbash_completion=false \
-Dfirmware-packager=false \
-Dmetainfo=false \
-Dcompat_cli=false \
-Dsoup_session_compat=false \
-Dgcab:introspection=false \
-Dgcab:docs=false \
-Dgcab:nls=false \
-Dgcab:vapi=false \
-Dgcab:tests=false \
-Dlibxmlb:introspection=false \
-Dlibxmlb:gtkdoc=false \
-Dlibjcat:man=false \
-Dlibjcat:gpg=false \
-Dlibjcat:tests=false \
-Dlibjcat:introspection=false \
-Dgusb:tests=false \
-Dgusb:docs=false \
-Dgusb:introspection=false \
-Dgusb:vapi=false
# run tests
export WINEPATH="/usr/x86_64-w64-mingw32/sys-root/mingw/bin/;$build/libfwupd/;$build/libfwupdplugin/;$build/subprojects/libxmlb/src/;$build/subprojects/gcab/libgcab/;$build/subprojects/libjcat/libjcat/;$build/subprojects/gusb/gusb/"
ninja -C "$build" install
ninja -C "$build" test
MINGW32BINDIR=/usr/x86_64-w64-mingw32/sys-root/mingw/bin
#disable motd for Windows
sed -i 's,UpdateMotd=.*,UpdateMotd=false,' "$DESTDIR/etc/fwupd/daemon.conf"
# copy deps
cp -f -v \
$MINGW32BINDIR/gspawn-win64-helper-console.exe \
$MINGW32BINDIR/gspawn-win64-helper.exe \
$MINGW32BINDIR/iconv.dll \
$MINGW32BINDIR/libarchive-13.dll \
$MINGW32BINDIR/libbrotlicommon.dll \
$MINGW32BINDIR/libbrotlidec.dll \
$MINGW32BINDIR/libbz2-1.dll \
$MINGW32BINDIR/libcrypto-1_1-x64.dll \
$MINGW32BINDIR/libcurl-4.dll \
$MINGW32BINDIR/libffi-*.dll \
$MINGW32BINDIR/libgcc_s_seh-1.dll \
$MINGW32BINDIR/libgio-2.0-0.dll \
$MINGW32BINDIR/libglib-2.0-0.dll \
$MINGW32BINDIR/libgmodule-2.0-0.dll \
$MINGW32BINDIR/libgmp-10.dll \
$MINGW32BINDIR/libgnutls-30.dll \
$MINGW32BINDIR/libgobject-2.0-0.dll \
$MINGW32BINDIR/libgusb-2.dll \
$MINGW32BINDIR/libhogweed-*.dll \
$MINGW32BINDIR/libidn2-0.dll \
$MINGW32BINDIR/libintl-8.dll \
$MINGW32BINDIR/libjson-glib-1.0-0.dll \
$MINGW32BINDIR/liblzma-5.dll \
$MINGW32BINDIR/libnettle-*.dll \
$MINGW32BINDIR/libp11-kit-0.dll \
$MINGW32BINDIR/libpcre-1.dll \
$MINGW32BINDIR/libsqlite3-0.dll \
$MINGW32BINDIR/libssh2-1.dll \
$MINGW32BINDIR/libssl-1_1-x64.dll \
$MINGW32BINDIR/libssp-0.dll \
$MINGW32BINDIR/libtasn1-6.dll \
$MINGW32BINDIR/libusb-1.0.dll \
$MINGW32BINDIR/libwinpthread-1.dll \
$MINGW32BINDIR/libxml2-2.dll \
$MINGW32BINDIR/zlib1.dll \
"$DESTDIR/bin/"