Skip to content

Commit 648f3e2

Browse files
authored
Merge pull request #374 from qmfrederik/ci-mingw-libobjc2
Add CI leg for msys2/mingw64 using libobjc2 + gnustep-2.0 ABI
2 parents 88b73ac + d609147 commit 648f3e2

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

.github/scripts/dependencies.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,9 @@ install_libdispatch() {
6464

6565
mkdir -p $DEPS_PATH
6666

67-
# Windows MSVC toolchain uses tools-windows-msvc scripts to install non-GNUstep dependencies
68-
if [ "$LIBRARY_COMBO" = "ng-gnu-gnu" -a "$IS_WINDOWS_MSVC" != "true" ]; then
67+
# Windows MSVC toolchain uses tools-windows-msvc scripts to install non-GNUstep dependencies;
68+
# the MSYS2 toolchain uses Pacman to install non-GNUstep dependencies.
69+
if [ "$LIBRARY_COMBO" = "ng-gnu-gnu" -a "$IS_WINDOWS_MSVC" != "true" -a "$IS_WINDOWS_MINGW" != "true" ]; then
6970
install_libobjc2
7071
install_libdispatch
7172
fi

.github/workflows/main.yml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,15 @@ jobs:
158158
CC: gcc
159159
CXX: g++
160160

161+
- name: Windows x64 MinGW Clang gnustep-2.0
162+
arch: x86_64
163+
msystem: MINGW64
164+
library-combo: ng-gnu-gnu
165+
runtime-version: gnustep-2.0
166+
CC: clang
167+
CXX: clang
168+
LDFLAGS: -fuse-ld=lld -lstdc++ -lgcc_s
169+
161170
- name: Windows x86 MSVC Clang gnustep-2.0
162171
allow-test-failures: true
163172
arch: x86
@@ -223,14 +232,32 @@ jobs:
223232
libffi-devel
224233
libgnutls-devel
225234
icu-devel
226-
mingw-w64-${{matrix.arch}}-gcc-objc
227235
mingw-w64-${{matrix.arch}}-pkg-config
228236
mingw-w64-${{matrix.arch}}-libxml2
229237
mingw-w64-${{matrix.arch}}-libxslt
230238
mingw-w64-${{matrix.arch}}-libffi
231239
mingw-w64-${{matrix.arch}}-gnutls
232240
mingw-w64-${{matrix.arch}}-icu
233241
242+
- name: Set up MSYS2 (gcc)
243+
uses: msys2/setup-msys2@v2
244+
if: env.CC == 'gcc'
245+
with:
246+
msystem: ${{ matrix.msystem }}
247+
install: >
248+
mingw-w64-${{matrix.arch}}-gcc-objc
249+
250+
- name: Set up MSYS2 (clang)
251+
uses: msys2/setup-msys2@v2
252+
if: env.CC == 'clang'
253+
with:
254+
msystem: ${{ matrix.msystem }}
255+
update: true
256+
install: >
257+
mingw-w64-${{matrix.arch}}-libobjc2
258+
mingw-w64-${{matrix.arch}}-clang
259+
mingw-w64-${{matrix.arch}}-lld
260+
234261
- name: Set up MSYS2 (MSVC)
235262
uses: msys2/setup-msys2@v2
236263
if: env.IS_WINDOWS_MSVC == 'true'

Tests/GNUmakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ check::
6565
GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES="$(TOP_DIR)/base.make";\
6666
ADDITIONAL_INCLUDE_DIRS="-I$(TOP_DIR)/Headers -I$(TOP_DIR)/Source/$(GNUSTEP_TARGET_DIR)";\
6767
ADDITIONAL_LIB_DIRS="-L$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR)";\
68-
if [ "$(GNUSTEP_TARGET_OS)" != "windows" ]; then \
68+
if [ "$(GNUSTEP_TARGET_OS)" != "windows" -a "$(GNUSTEP_TARGET_OS)" != "mingw32" ]; then \
6969
PATH="$(TOP_DIR)/Tools/$(GNUSTEP_OBJ_DIR):${PATH}";\
7070
ADDITIONAL_LDFLAGS="-Wl,-rpath,$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR)";\
7171
LD_LIBRARY_PATH="$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR):${LD_LIBRARY_PATH}";\

0 commit comments

Comments
 (0)