From 3145d88f4b961df1e971e7068da0bacbbd60299a Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Sun, 20 May 2018 15:17:48 -0400 Subject: [PATCH] Add mingw64 cross build CI Fixes #1387. --- .gitlab-ci.yml | 14 +++++++++++++- .gitlab-ci/Dockerfile | 7 +++++++ .gitlab-ci/cross_file_mingw64.txt | 17 +++++++++++++++++ docs/reference/glib/Makefile.am | 4 +++- docs/reference/glib/meson.build | 1 + 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 .gitlab-ci/cross_file_mingw64.txt diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7df974b3b..cfabdcd62 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: registry.gitlab.gnome.org/gnome/glib/master:v2 +image: registry.gitlab.gnome.org/gnome/glib/master:v3 stages: - build @@ -44,6 +44,18 @@ fedora-meson-android_ndk_r16_api21_arm64: paths: - "${CI_PROJECT_DIR}/_build/meson-logs" +fedora-meson-mingw64: + stage: build + except: + - tags + script: + # FIXME: Add --werror + - meson --cross-file=/opt/cross_file_mingw64.txt --buildtype debug _build + - ninja -C _build + artifacts: + paths: + - "${CI_PROJECT_DIR}/_build/meson-logs" + msys2-mingw32: stage: build tags: diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile index 713cf095a..56585d8a1 100644 --- a/.gitlab-ci/Dockerfile +++ b/.gitlab-ci/Dockerfile @@ -28,6 +28,11 @@ RUN dnf -y install \ wget \ unzip \ make \ + mingw64-gcc \ + mingw64-gcc-c++ \ + mingw64-gettext \ + mingw64-zlib \ + mingw64-libffi \ && dnf clean all RUN pip3 install meson @@ -35,6 +40,8 @@ RUN pip3 install meson COPY setup-android-ndk.sh . RUN ./setup-android-ndk.sh +COPY cross_file_mingw64.txt /opt + ARG HOST_USER_ID=5555 ENV HOST_USER_ID ${HOST_USER_ID} RUN useradd -u $HOST_USER_ID -ms /bin/bash user diff --git a/.gitlab-ci/cross_file_mingw64.txt b/.gitlab-ci/cross_file_mingw64.txt new file mode 100644 index 000000000..1897b686a --- /dev/null +++ b/.gitlab-ci/cross_file_mingw64.txt @@ -0,0 +1,17 @@ +[host_machine] +system = 'windows' +cpu_family = 'x86_64' +cpu = 'x86_64' +endian = 'little' + +[properties] +c_args = [] +c_link_args = [] + +[binaries] +c = 'x86_64-w64-mingw32-gcc' +cpp = 'x86_64-w64-mingw32-g++' +ar = 'x86_64-w64-mingw32-ar' +strip = 'x86_64-w64-mingw32-strip' +pkgconfig = 'x86_64-w64-mingw32-pkg-config' +windres = 'x86_64-w64-mingw32-windres' diff --git a/docs/reference/glib/Makefile.am b/docs/reference/glib/Makefile.am index 44536cf21..b485a9135 100644 --- a/docs/reference/glib/Makefile.am +++ b/docs/reference/glib/Makefile.am @@ -61,7 +61,9 @@ IGNORE_HFILES = \ gtranslit-data.h \ glib-init.h \ gconstructor.h \ - valgrind.h + valgrind.h \ + gvalgrind.h \ + $(NULL) # Images to copy into HTML directory HTML_IMAGES = \ diff --git a/docs/reference/glib/meson.build b/docs/reference/glib/meson.build index f0f915e96..319c2679f 100644 --- a/docs/reference/glib/meson.build +++ b/docs/reference/glib/meson.build @@ -34,6 +34,7 @@ if get_option('gtk_doc') 'glib-init.h', 'gconstructor.h', 'valgrind.h', + 'gvalgrind.h', ] ignore_decorators = [ -- 2.11.4.GIT