diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ff7990da9..3506563e8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,56 +1,58 @@ -name: CI - -on: - push: - branches: - - main - pull_request: - branches: - - main - workflow_dispatch: - -jobs: - build: - strategy: - fail-fast: false - matrix: - zig-version: [0.16.0, 0.17.0, master] - os: [ubuntu-latest, windows-latest, macos-latest] - runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.zig-version == 'master' }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Zig - uses: mlugg/setup-zig@v2 - with: - version: ${{ matrix.zig-version }} - - - name: Workaround Zig 0.16.0 ZIP unpack failure - # https://codeberg.org/ziglang/zig/issues/31964 - shell: bash - run: mkdir -p "${ZIG_GLOBAL_CACHE_DIR}/tmp" - - - name: Check Formatting - if: runner.os != 'Windows' # zig fmt failing on Windows CI, unclear why - run: zig fmt --ast-check --check . - - - name: Build for Windows - run: zig build example -Dtarget=x86_64-windows-gnu --summary all - - - name: Build for Linux - run: zig build example -Dtarget=x86_64-linux-gnu --summary all - - - name: Build for macOS - if: runner.os == 'macOS' - # We don't support cross compiling for macOS, so don't set a target just build - # the native target - run: zig build example --summary all - - - name: Build for iOS - if: runner.os == 'macOS' - # The iOS SDK is not bundled with Zig, so point the build at Xcode's iPhoneOS SDK. - run: | - SDK="$(xcrun --sdk iphoneos --show-sdk-path)" - zig build -Dtarget=aarch64-ios -Dinclude_path="$SDK/usr/include" -Dframework_path="$SDK/System/Library/Frameworks" --summary all +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + build: + strategy: + fail-fast: false + matrix: + zig-version: [0.16.0, 0.17.0, master] + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.zig-version == 'master' }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Zig + uses: mlugg/setup-zig@v2 + with: + version: ${{ matrix.zig-version }} + + - name: Workaround Zig 0.16.0 ZIP unpack failure + # https://codeberg.org/ziglang/zig/issues/31964 + shell: bash + run: mkdir -p "${ZIG_GLOBAL_CACHE_DIR}/tmp" + + - name: Check Formatting + if: runner.os != 'Windows' # zig fmt failing on Windows CI, unclear why + run: zig fmt --ast-check --check . + + - name: Build for Windows + # See issue #40 + if: matrix.zig-version != 'master' + run: zig build example -Dtarget=x86_64-windows-gnu --summary all + + - name: Build for Linux + run: zig build example -Dtarget=x86_64-linux-gnu --summary all + + - name: Build for macOS + if: runner.os == 'macOS' + # We don't support cross compiling for macOS, so don't set a target just build + # the native target + run: zig build example --summary all + + - name: Build for iOS + if: runner.os == 'macOS' + # The iOS SDK is not bundled with Zig, so point the build at Xcode's iPhoneOS SDK. + run: | + SDK="$(xcrun --sdk iphoneos --show-sdk-path)" + zig build -Dtarget=aarch64-ios -Dinclude_path="$SDK/usr/include" -Dframework_path="$SDK/System/Library/Frameworks" --summary all diff --git a/build.zig.zon b/build.zig.zon index 2debcd727..5d13cc3ca 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,7 +1,7 @@ .{ .name = .sdl, .fingerprint = 0xec638ccbd103848b, - .version = "1.0.3+3.4.16", + .version = "1.0.4+3.4.16", .minimum_zig_version = "0.16.0", .dependencies = .{ .sdl = .{ diff --git a/src/android.zig b/src/android.zig index 0086588a9..3b1a19a5d 100644 --- a/src/android.zig +++ b/src/android.zig @@ -205,7 +205,7 @@ pub fn build( .SDL_POWER_ANDROID = 1, // Android has no Steam client - .SDL_STORAGE_STEAM = false, + .SDL_STORAGE_STEAM = 0, // Enable filesystem support .SDL_FILESYSTEM_ANDROID = 1, @@ -218,37 +218,37 @@ pub fn build( // Enable the dummy dialog/tray implementations; SDL has no Android tray, and the // Android dialog implementation is Java-side (`dialog/android/SDL_androiddialog.c` // just JNI-calls into it, no separate dummy needed here). - .SDL_DIALOG_DUMMY = false, + .SDL_DIALOG_DUMMY = 0, .SDL_TRAY_DUMMY = 1, .DYNAPI_NEEDS_DLOPEN = 1, // Unused - .HAVE_STRINGS_H = false, - .HAVE_MALLOC_H = false, - .HAVE_MEMORY_H = false, - .HAVE_WCSLEN = false, - .HAVE_WCSNLEN = false, - .HAVE_WCSCMP = false, - .HAVE_WCSNCMP = false, - .HAVE_STRNLEN = false, - .HAVE_STRPBRK = false, - .HAVE_FSEEKO = false, - .HAVE_SA_SIGACTION = false, - .HAVE_NL_LANGINFO = false, - .HAVE_GETPAGESIZE = false, - .HAVE_PTHREAD_SETNAME_NP = false, - .HAVE_SYSCTLBYNAME = false, - .SDL_AUDIO_DRIVER_COREAUDIO = false, + .HAVE_STRINGS_H = 0, + .HAVE_MALLOC_H = 0, + .HAVE_MEMORY_H = 0, + .HAVE_WCSLEN = 0, + .HAVE_WCSNLEN = 0, + .HAVE_WCSCMP = 0, + .HAVE_WCSNCMP = 0, + .HAVE_STRNLEN = 0, + .HAVE_STRPBRK = 0, + .HAVE_FSEEKO = 0, + .HAVE_SA_SIGACTION = 0, + .HAVE_NL_LANGINFO = 0, + .HAVE_GETPAGESIZE = 0, + .HAVE_PTHREAD_SETNAME_NP = 0, + .HAVE_SYSCTLBYNAME = 0, + .SDL_AUDIO_DRIVER_COREAUDIO = 0, .SDL_AUDIO_DRIVER_ALSA_DYNAMIC = "", .SDL_AUDIO_DRIVER_JACK_DYNAMIC = "", .SDL_AUDIO_DRIVER_PIPEWIRE_DYNAMIC = "", .SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC = "", .SDL_AUDIO_DRIVER_SNDIO_DYNAMIC = "", - .SDL_JOYSTICK_MFI = false, + .SDL_JOYSTICK_MFI = 0, .SDL_LIBUSB_DYNAMIC = "", .SDL_UDEV_DYNAMIC = "", - .SDL_VIDEO_DRIVER_UIKIT = false, + .SDL_VIDEO_DRIVER_UIKIT = 0, .SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC = "", .SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM = "", .SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC = "", @@ -265,13 +265,13 @@ pub fn build( .SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS = "", .SDL_VIDEO_DRIVER_X11_DYNAMIC_XTEST = "", .SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_GESTURE = "", - .SDL_VIDEO_RENDER_METAL = false, - .SDL_VIDEO_METAL = false, - .SDL_GPU_METAL = false, - .SDL_SENSOR_COREMOTION = false, - .SDL_POWER_UIKIT = false, - .SDL_FILESYSTEM_COCOA = false, - .SDL_CAMERA_DRIVER_COREMEDIA = false, + .SDL_VIDEO_RENDER_METAL = 0, + .SDL_VIDEO_METAL = 0, + .SDL_GPU_METAL = 0, + .SDL_SENSOR_COREMOTION = 0, + .SDL_POWER_UIKIT = 0, + .SDL_FILESYSTEM_COCOA = 0, + .SDL_CAMERA_DRIVER_COREMEDIA = 0, .SDL_CAMERA_DRIVER_PIPEWIRE_DYNAMIC = "", .SDL_LIBDECOR_VERSION_MAJOR = "", .SDL_LIBDECOR_VERSION_MINOR = "", @@ -281,8 +281,8 @@ pub fn build( .SDL_XKBCOMMON_VERSION_MAJOR = "", .SDL_XKBCOMMON_VERSION_MINOR = "", .SDL_XKBCOMMON_VERSION_PATCH = "", - .SDL_IPHONE_KEYBOARD = false, - .SDL_IPHONE_LAUNCHSCREEN = false, + .SDL_IPHONE_KEYBOARD = 0, + .SDL_IPHONE_LAUNCHSCREEN = 0, .SDL_EMSCRIPTEN_PERSISTENT_PATH_STRING = "", }); }