@@ -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