Skip to content

Commit c198871

Browse files
committed
Bypass configure script entirely for Windows builds
- Call create-minimal-makefile.sh directly from CMake on Windows - Skip configure-atari800.sh completely to avoid autotools - Add explicit debugging output for Windows build path - This ensures XEP80 and autotools are never involved in Windows builds Should completely eliminate xep80.h compilation errors.
1 parent 5e31c21 commit c198871

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,11 @@ if(WIN32)
7676
# Use msys2 shell environment with proper PATH for MinGW gcc
7777
if(MSYS2_BASH MATCHES "msys2\.(cmd|CMD)$")
7878
# GitHub Actions setup-msys2 wrapper
79-
set(ATARI800_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env MSYSTEM=MSYS ${MSYS2_BASH} -c "export PATH='/mingw64/bin:/usr/bin:$PATH' && cd '<SOURCE_DIR>' && '${CMAKE_CURRENT_SOURCE_DIR}/scripts/configure-atari800.sh' '<SOURCE_DIR>'")
79+
set(ATARI800_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env MSYSTEM=MSYS OS=Windows_NT RUNNER_OS=Windows CI=true ${MSYS2_BASH} -c "export PATH='/mingw64/bin:/usr/bin:$PATH' && cd '<SOURCE_DIR>' && echo 'FORCING MINIMAL BUILD FOR WINDOWS' && '${CMAKE_CURRENT_SOURCE_DIR}/scripts/create-minimal-makefile.sh' '<SOURCE_DIR>'")
8080
set(ATARI800_BUILD_COMMAND ${CMAKE_COMMAND} -E env MSYSTEM=MSYS ${MSYS2_BASH} -c "export PATH='/mingw64/bin:/usr/bin:$PATH' && cd '<SOURCE_DIR>' && echo '=== Starting make build ===' && make -j4 VERBOSE=1 || (echo '=== Make failed, trying single-threaded build ===' && make VERBOSE=1)")
8181
else()
8282
# Traditional bash.exe
83-
set(ATARI800_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env MSYSTEM=MSYS ${MSYS2_BASH} --login -c "export PATH='/mingw64/bin:/usr/bin:$PATH' && cd '<SOURCE_DIR>' && '${CMAKE_CURRENT_SOURCE_DIR}/scripts/configure-atari800.sh' '<SOURCE_DIR>'")
83+
set(ATARI800_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env MSYSTEM=MSYS OS=Windows_NT RUNNER_OS=Windows CI=true ${MSYS2_BASH} --login -c "export PATH='/mingw64/bin:/usr/bin:$PATH' && cd '<SOURCE_DIR>' && echo 'FORCING MINIMAL BUILD FOR WINDOWS' && '${CMAKE_CURRENT_SOURCE_DIR}/scripts/create-minimal-makefile.sh' '<SOURCE_DIR>'")
8484
set(ATARI800_BUILD_COMMAND ${CMAKE_COMMAND} -E env MSYSTEM=MSYS ${MSYS2_BASH} --login -c "export PATH='/mingw64/bin:/usr/bin:$PATH' && cd '<SOURCE_DIR>' && echo '=== Starting make build ===' && make -j4 VERBOSE=1 || (echo '=== Make failed, trying single-threaded build ===' && make VERBOSE=1)")
8585
endif()
8686
else()

scripts/configure-atari800.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,22 @@ elif [[ "$OSTYPE" == "msys" ]] || [[ "$MSYSTEM" != "" ]]; then
132132
export CPPFLAGS="${CPPFLAGS:-}"
133133
fi
134134

135+
# Debug environment variables
136+
echo "=== Environment Detection ==="
137+
echo "OSTYPE: $OSTYPE"
138+
echo "MSYSTEM: $MSYSTEM"
139+
echo "OS: $OS"
140+
echo "RUNNER_OS: $RUNNER_OS"
141+
echo "CI: $CI"
142+
echo "pwd: $(pwd)"
143+
echo "uname: $(uname -a 2>/dev/null || echo 'uname not available')"
144+
echo "=========================="
145+
135146
# Configure with Windows-specific settings if needed
136-
if [[ "$OSTYPE" == "msys" ]] || [[ "$MSYSTEM" != "" ]]; then
147+
# Check multiple ways to detect Windows environment
148+
if [[ "$OSTYPE" == "msys" ]] || [[ "$MSYSTEM" != "" ]] || [[ "$OS" == "Windows_NT" ]] || [[ "$RUNNER_OS" == "Windows" ]] || [[ "$CI" == "true" && $(uname -s 2>/dev/null || echo '') == *"MSYS"* ]]; then
137149
echo "Windows detected - using minimal Makefile approach to avoid autotools issues"
150+
echo "Detection triggered by: OSTYPE=$OSTYPE, MSYSTEM=$MSYSTEM, OS=$OS, RUNNER_OS=$RUNNER_OS"
138151
echo "Creating minimal build system for libatari800..."
139152
"$SCRIPT_DIR/create-minimal-makefile.sh" "$ATARI800_SRC_PATH"
140153
echo "Skipping configure step - using minimal Makefile approach"

0 commit comments

Comments
 (0)