From ed3a0eb6a959add230cd08a4d5ed4791c3084db7 Mon Sep 17 00:00:00 2001
From: Willi Mutschler <willi@mutschler.eu>
Date: Wed, 11 Oct 2023 15:43:35 +0200
Subject: [PATCH] CI: add job for Homebrew / arm64

---
 .gitlab-ci.yml                    | 12 ++++++++++++
 scripts/homebrew-native-arm64.ini | 10 ++++++++++
 2 files changed, 22 insertions(+)
 create mode 100644 scripts/homebrew-native-arm64.ini

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4444c1db..8b013445 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -51,3 +51,15 @@ build_macos_x86_64:
   artifacts:
     paths:
       - build/src/dynare-preprocessor
+
+build_macos_arm64:
+  stage: build
+  tags:
+    - macOS
+  script:
+    - export PATH="/opt/homebrew/bin:$PATH"
+    - arch -arm64 meson setup -D buildtype=release --native-file scripts/homebrew-native-arm64.ini build
+    - arch -arm64 meson compile -C build -v
+  artifacts:
+    paths:
+      - build/src/dynare-preprocessor
diff --git a/scripts/homebrew-native-arm64.ini b/scripts/homebrew-native-arm64.ini
new file mode 100644
index 00000000..cc188a10
--- /dev/null
+++ b/scripts/homebrew-native-arm64.ini
@@ -0,0 +1,10 @@
+# Meson native file for compiling under Homebrew / arm64
+
+[binaries]
+cpp = '/opt/homebrew/bin/g++-13'
+flex = '/opt/homebrew/opt/flex/bin/flex'
+bison = '/opt/homebrew/opt/bison/bin/bison'
+
+[built-in options]
+# XCode 15 (on Ventura and Sonoma) has a linker issue, see https://github.com/mesonbuild/meson/issues/12282, workaround is to use ld_classic
+cpp_link_args = [ '-Wl,-ld_classic' ]
\ No newline at end of file
-- 
GitLab