[glib: 4/5] Add mingw64 cross build CI



commit 3145d88f4b961df1e971e7068da0bacbbd60299a
Author: Xavier Claessens <xavier claessens collabora com>
Date:   Sun May 20 15:17:48 2018 -0400

    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(-)
---
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 = [


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]