Merge pull request #374 from qmfrederik/ci-mingw-libobjc2

Add CI leg for msys2/mingw64 using libobjc2 + gnustep-2.0 ABI
This commit is contained in:
rfm 2024-03-07 09:54:27 +00:00 committed by GitHub
commit 648f3e2dfb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 32 additions and 4 deletions

View file

@ -64,8 +64,9 @@ install_libdispatch() {
mkdir -p $DEPS_PATH mkdir -p $DEPS_PATH
# Windows MSVC toolchain uses tools-windows-msvc scripts to install non-GNUstep dependencies # Windows MSVC toolchain uses tools-windows-msvc scripts to install non-GNUstep dependencies;
if [ "$LIBRARY_COMBO" = "ng-gnu-gnu" -a "$IS_WINDOWS_MSVC" != "true" ]; then # the MSYS2 toolchain uses Pacman to install non-GNUstep dependencies.
if [ "$LIBRARY_COMBO" = "ng-gnu-gnu" -a "$IS_WINDOWS_MSVC" != "true" -a "$IS_WINDOWS_MINGW" != "true" ]; then
install_libobjc2 install_libobjc2
install_libdispatch install_libdispatch
fi fi

View file

@ -158,6 +158,15 @@ jobs:
CC: gcc CC: gcc
CXX: g++ CXX: g++
- name: Windows x64 MinGW Clang gnustep-2.0
arch: x86_64
msystem: MINGW64
library-combo: ng-gnu-gnu
runtime-version: gnustep-2.0
CC: clang
CXX: clang
LDFLAGS: -fuse-ld=lld -lstdc++ -lgcc_s
- name: Windows x86 MSVC Clang gnustep-2.0 - name: Windows x86 MSVC Clang gnustep-2.0
allow-test-failures: true allow-test-failures: true
arch: x86 arch: x86
@ -223,7 +232,6 @@ jobs:
libffi-devel libffi-devel
libgnutls-devel libgnutls-devel
icu-devel icu-devel
mingw-w64-${{matrix.arch}}-gcc-objc
mingw-w64-${{matrix.arch}}-pkg-config mingw-w64-${{matrix.arch}}-pkg-config
mingw-w64-${{matrix.arch}}-libxml2 mingw-w64-${{matrix.arch}}-libxml2
mingw-w64-${{matrix.arch}}-libxslt mingw-w64-${{matrix.arch}}-libxslt
@ -231,6 +239,25 @@ jobs:
mingw-w64-${{matrix.arch}}-gnutls mingw-w64-${{matrix.arch}}-gnutls
mingw-w64-${{matrix.arch}}-icu mingw-w64-${{matrix.arch}}-icu
- name: Set up MSYS2 (gcc)
uses: msys2/setup-msys2@v2
if: env.CC == 'gcc'
with:
msystem: ${{ matrix.msystem }}
install: >
mingw-w64-${{matrix.arch}}-gcc-objc
- name: Set up MSYS2 (clang)
uses: msys2/setup-msys2@v2
if: env.CC == 'clang'
with:
msystem: ${{ matrix.msystem }}
update: true
install: >
mingw-w64-${{matrix.arch}}-libobjc2
mingw-w64-${{matrix.arch}}-clang
mingw-w64-${{matrix.arch}}-lld
- name: Set up MSYS2 (MSVC) - name: Set up MSYS2 (MSVC)
uses: msys2/setup-msys2@v2 uses: msys2/setup-msys2@v2
if: env.IS_WINDOWS_MSVC == 'true' if: env.IS_WINDOWS_MSVC == 'true'

View file

@ -65,7 +65,7 @@ check::
GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES="$(TOP_DIR)/base.make";\ GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES="$(TOP_DIR)/base.make";\
ADDITIONAL_INCLUDE_DIRS="-I$(TOP_DIR)/Headers -I$(TOP_DIR)/Source/$(GNUSTEP_TARGET_DIR)";\ ADDITIONAL_INCLUDE_DIRS="-I$(TOP_DIR)/Headers -I$(TOP_DIR)/Source/$(GNUSTEP_TARGET_DIR)";\
ADDITIONAL_LIB_DIRS="-L$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR)";\ ADDITIONAL_LIB_DIRS="-L$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR)";\
if [ "$(GNUSTEP_TARGET_OS)" != "windows" ]; then \ if [ "$(GNUSTEP_TARGET_OS)" != "windows" -a "$(GNUSTEP_TARGET_OS)" != "mingw32" ]; then \
PATH="$(TOP_DIR)/Tools/$(GNUSTEP_OBJ_DIR):${PATH}";\ PATH="$(TOP_DIR)/Tools/$(GNUSTEP_OBJ_DIR):${PATH}";\
ADDITIONAL_LDFLAGS="-Wl,-rpath,$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR)";\ ADDITIONAL_LDFLAGS="-Wl,-rpath,$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR)";\
LD_LIBRARY_PATH="$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR):${LD_LIBRARY_PATH}";\ LD_LIBRARY_PATH="$(TOP_DIR)/Source/$(GNUSTEP_OBJ_DIR):${LD_LIBRARY_PATH}";\