Skip to content

Commit 8b7899d

Browse files
committed
Fix build-winxp.yml
1 parent 39630d7 commit 8b7899d

1 file changed

Lines changed: 23 additions & 35 deletions

File tree

.github/workflows/build-winxp.yml

Lines changed: 23 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -60,33 +60,30 @@ jobs:
6060
path: mxe
6161
key: ${{ runner.os }}-mxe-v7e39b555dee5e906b24a44940055dc28d4056d23-gcc11-jsoncpp-sdl_net-v7
6262

63-
- name: Prepare env
63+
- name: Configure + build (WinXP)
6464
run: |
65-
set -euo pipefail
65+
set -euxo pipefail
66+
6667
export PATH="$GITHUB_WORKSPACE/mxe/usr/bin:$PATH"
6768
export MXE_PREFIX="$GITHUB_WORKSPACE/mxe/usr/i686-w64-mingw32.static"
69+
70+
# Make sure CMake finds MXE
6871
export CMAKE_PREFIX_PATH="$MXE_PREFIX"
6972
export PKG_CONFIG_PATH="$MXE_PREFIX/lib/pkgconfig"
7073
71-
# Prefer MXE headers first
74+
# Your repo ships jsoncpp headers (1.9.7) under deps/include/json.
75+
# MXE provides libjsoncpp.a, but its headers are NOT under include/jsoncpp/json/version.h in your build.
76+
# So we keep repo headers and only ensure include paths are correct.
7277
export CPPFLAGS="-I$MXE_PREFIX/include -I$MXE_PREFIX/include/SDL -I$GITHUB_WORKSPACE/deps/include/SDL_net -I$GITHUB_WORKSPACE/deps/include"
7378
export CFLAGS="$CPPFLAGS"
7479
export CXXFLAGS="$CPPFLAGS"
7580
76-
unset LDFLAGS || true
81+
echo "=== DEBUG: jsoncpp headers present ==="
82+
ls -la "$GITHUB_WORKSPACE/deps/include/json/version.h" || true
7783
78-
echo "PATH=$PATH" >> $GITHUB_ENV
79-
echo "MXE_PREFIX=$MXE_PREFIX" >> $GITHUB_ENV
80-
echo "CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH" >> $GITHUB_ENV
81-
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> $GITHUB_ENV
82-
echo "CPPFLAGS=$CPPFLAGS" >> $GITHUB_ENV
83-
echo "CFLAGS=$CFLAGS" >> $GITHUB_ENV
84-
echo "CXXFLAGS=$CXXFLAGS" >> $GITHUB_ENV
84+
echo "=== DEBUG: key libs present in MXE_PREFIX/lib ==="
85+
ls -la "$MXE_PREFIX/lib" | grep -Ei "json|sdl|jpeg|png|webp|smpeg|modplug|vorbis|ogg|ws2|iphlp|winmm|dxguid" || true
8586
86-
- name: Configure (WinXP)
87-
run: |
88-
set -euo pipefail
89-
rm -rf build
9087
mkdir -p build
9188
cd build
9289
@@ -97,35 +94,26 @@ jobs:
9794
-DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH" \
9895
"$GITHUB_WORKSPACE"
9996
100-
echo "=== DEBUG: link.txt location candidates ==="
101-
ls -la src/CMakeFiles/openxcom.dir/link.txt || true
102-
ls -la CMakeFiles/openxcom.dir/link.txt || true
97+
make -j"$(nproc)" VERBOSE=1
10398
104-
- name: Upload link.txt (after configure)
99+
# Always dump + upload link command + linklibs so you can see missing libs/order
100+
- name: Dump link files (debug)
105101
if: always()
106-
uses: actions/upload-artifact@v4
107-
with:
108-
name: linktxt-config-${{ env.SAFE_REF }}
109-
path: |
110-
build/src/CMakeFiles/openxcom.dir/link.txt
111-
build/CMakeFiles/openxcom.dir/link.txt
112-
if-no-files-found: warn
113-
114-
- name: Build (WinXP)
115102
run: |
116-
set -euo pipefail
117-
cd build
118-
make -j"$(nproc)" VERBOSE=1
103+
echo "=== link.txt ==="
104+
cat build/src/CMakeFiles/openxcom.dir/link.txt || true
105+
echo
106+
echo "=== linklibs.rsp ==="
107+
cat build/src/CMakeFiles/openxcom.dir/linklibs.rsp || true
119108
120-
- name: Upload link.txt (after build)
109+
- name: Upload link files (debug)
121110
if: always()
122111
uses: actions/upload-artifact@v4
123112
with:
124-
name: linktxt-build-${{ env.SAFE_REF }}
113+
name: link-debug-${{ env.SAFE_REF }}
125114
path: |
126115
build/src/CMakeFiles/openxcom.dir/link.txt
127-
build/CMakeFiles/openxcom.dir/link.txt
128-
if-no-files-found: warn
116+
build/src/CMakeFiles/openxcom.dir/linklibs.rsp
129117
130118
- name: Package zip
131119
if: success()

0 commit comments

Comments
 (0)