This commit is contained in:
Splendide Imaginarius 2025-07-17 22:15:59 -04:00 committed by GitHub
commit f3b1036128
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 38 additions and 3 deletions

View file

@ -99,6 +99,12 @@ jobs:
run: |
sudo apt update
sudo apt install git wget build-essential cmake meson autoconf automake libtool pkg-config ruby bison xxd zlib1g-dev libbz2-dev xorg-dev libgl1-mesa-dev libasound2-dev libpulse-dev -y
# https://github.com/libsdl-org/SDL/blob/release-2.28.1/docs/README-linux.md#build-dependencies
sudo apt install build-essential git make autoconf automake libtool pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libsamplerate0-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev -y
sudo apt install libpipewire-0.3-dev libdecor-0-dev -y
# https://github.com/libsdl-org/SDL/blob/release-3.2.16/docs/README-linux.md#build-dependencies
sudo apt install build-essential git make pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev -y
sudo apt install libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev -y
- name: Build everything else
run: |
@ -200,6 +206,12 @@ jobs:
sudo apt install git wget build-essential cmake meson autoconf automake libtool pkg-config ruby bison xxd -y
sudo apt install libfontenc-dev:${{matrix.arch_debian}} libfs-dev:${{matrix.arch_debian}} libice-dev:${{matrix.arch_debian}} libsm-dev:${{matrix.arch_debian}} libx11-dev:${{matrix.arch_debian}} libxau-dev:${{matrix.arch_debian}} libxaw7-dev:${{matrix.arch_debian}} libxcomposite-dev:${{matrix.arch_debian}} libxcursor-dev:${{matrix.arch_debian}} libxdamage-dev:${{matrix.arch_debian}} libxdmcp-dev:${{matrix.arch_debian}} libxext-dev:${{matrix.arch_debian}} libxfixes-dev:${{matrix.arch_debian}} libxfont-dev:${{matrix.arch_debian}} libxft-dev:${{matrix.arch_debian}} libxi-dev:${{matrix.arch_debian}} libxinerama-dev:${{matrix.arch_debian}} libxkbfile-dev:${{matrix.arch_debian}} libxmu-dev:${{matrix.arch_debian}} libxmuu-dev:${{matrix.arch_debian}} libxpm-dev:${{matrix.arch_debian}} libxrandr-dev:${{matrix.arch_debian}} libxrender-dev:${{matrix.arch_debian}} libxres-dev:${{matrix.arch_debian}} libxss-dev:${{matrix.arch_debian}} libxt-dev:${{matrix.arch_debian}} libxtst-dev:${{matrix.arch_debian}} libxv-dev:${{matrix.arch_debian}} libxvmc-dev:${{matrix.arch_debian}} libxxf86dga-dev:${{matrix.arch_debian}} libxxf86vm-dev:${{matrix.arch_debian}} x11proto-dev:${{matrix.arch_debian}} xserver-xorg-dev:${{matrix.arch_debian}} xtrans-dev:${{matrix.arch_debian}} -y
sudo apt install gcc-${{matrix.arch_gcc}} g++-${{matrix.arch_gcc}} zlib1g-dev:${{matrix.arch_debian}} libbz2-dev:${{matrix.arch_debian}} libgl1-mesa-dev:${{matrix.arch_debian}} libasound2-dev:${{matrix.arch_debian}} libpulse-dev:${{matrix.arch_debian}} -y
# https://github.com/libsdl-org/SDL/blob/release-2.28.1/docs/README-linux.md#build-dependencies
sudo apt install build-essential git make autoconf automake libtool pkg-config cmake ninja-build gnome-desktop-testing:${{matrix.arch_debian}} libasound2-dev:${{matrix.arch_debian}} libpulse-dev:${{matrix.arch_debian}} libaudio-dev:${{matrix.arch_debian}} libjack-dev:${{matrix.arch_debian}} libsndio-dev:${{matrix.arch_debian}} libsamplerate0-dev:${{matrix.arch_debian}} libx11-dev:${{matrix.arch_debian}} libxext-dev:${{matrix.arch_debian}} libxrandr-dev:${{matrix.arch_debian}} libxcursor-dev:${{matrix.arch_debian}} libxfixes-dev:${{matrix.arch_debian}} libxi-dev:${{matrix.arch_debian}} libxss-dev:${{matrix.arch_debian}} libwayland-dev:${{matrix.arch_debian}} libxkbcommon-dev:${{matrix.arch_debian}} libdrm-dev:${{matrix.arch_debian}} libgbm-dev:${{matrix.arch_debian}} libgl1-mesa-dev:${{matrix.arch_debian}} libgles2-mesa-dev:${{matrix.arch_debian}} libegl1-mesa-dev:${{matrix.arch_debian}} libdbus-1-dev:${{matrix.arch_debian}} libibus-1.0-dev:${{matrix.arch_debian}} libudev-dev:${{matrix.arch_debian}} fcitx-libs-dev:${{matrix.arch_debian}} -y
sudo apt install libpipewire-0.3-dev:${{matrix.arch_debian}} libdecor-0-dev:${{matrix.arch_debian}} -y
# https://github.com/libsdl-org/SDL/blob/release-3.2.16/docs/README-linux.md#build-dependencies
sudo apt install build-essential git make pkg-config cmake ninja-build gnome-desktop-testing:${{matrix.arch_debian}} libasound2-dev:${{matrix.arch_debian}} libpulse-dev:${{matrix.arch_debian}} libaudio-dev:${{matrix.arch_debian}} libjack-dev:${{matrix.arch_debian}} libsndio-dev:${{matrix.arch_debian}} libx11-dev:${{matrix.arch_debian}} libxext-dev:${{matrix.arch_debian}} libxrandr-dev:${{matrix.arch_debian}} libxcursor-dev:${{matrix.arch_debian}} libxfixes-dev:${{matrix.arch_debian}} libxi-dev:${{matrix.arch_debian}} libxss-dev:${{matrix.arch_debian}} libxkbcommon-dev:${{matrix.arch_debian}} libdrm-dev:${{matrix.arch_debian}} libgbm-dev:${{matrix.arch_debian}} libgl1-mesa-dev:${{matrix.arch_debian}} libgles2-mesa-dev:${{matrix.arch_debian}} libegl1-mesa-dev:${{matrix.arch_debian}} libdbus-1-dev:${{matrix.arch_debian}} libibus-1.0-dev:${{matrix.arch_debian}} libudev-dev:${{matrix.arch_debian}} -y
sudo apt install libpipewire-0.3-dev:${{matrix.arch_debian}} libwayland-dev:${{matrix.arch_debian}} libdecor-0-dev:${{matrix.arch_debian}} liburing-dev:${{matrix.arch_debian}} -y
- name: Build everything else
run: |
@ -259,6 +271,12 @@ jobs:
run: |
apt update
apt install git wget build-essential cmake meson autoconf automake libtool pkg-config ruby bison xxd zlib1g-dev libbz2-dev xorg-dev libgl1-mesa-dev libasound2-dev libpulse-dev -y
# https://github.com/libsdl-org/SDL/blob/release-2.28.1/docs/README-linux.md#build-dependencies
apt install build-essential git make autoconf automake libtool pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libsamplerate0-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev -y
apt install libpipewire-0.3-dev libdecor-0-dev -y
# https://github.com/libsdl-org/SDL/blob/release-3.2.16/docs/README-linux.md#build-dependencies
apt install build-essential git make pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev -y
apt install libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev -y
- name: Build everything else
run: |
@ -356,6 +374,12 @@ jobs:
apt install git wget build-essential cmake meson autoconf automake libtool pkg-config ruby bison xxd -y
apt install libfontenc-dev:${{matrix.arch_debian}} libfs-dev:${{matrix.arch_debian}} libice-dev:${{matrix.arch_debian}} libsm-dev:${{matrix.arch_debian}} libx11-dev:${{matrix.arch_debian}} libxau-dev:${{matrix.arch_debian}} libxaw7-dev:${{matrix.arch_debian}} libxcomposite-dev:${{matrix.arch_debian}} libxcursor-dev:${{matrix.arch_debian}} libxdamage-dev:${{matrix.arch_debian}} libxdmcp-dev:${{matrix.arch_debian}} libxext-dev:${{matrix.arch_debian}} libxfixes-dev:${{matrix.arch_debian}} libxfont-dev:${{matrix.arch_debian}} libxft-dev:${{matrix.arch_debian}} libxi-dev:${{matrix.arch_debian}} libxinerama-dev:${{matrix.arch_debian}} libxkbfile-dev:${{matrix.arch_debian}} libxmu-dev:${{matrix.arch_debian}} libxmuu-dev:${{matrix.arch_debian}} libxpm-dev:${{matrix.arch_debian}} libxrandr-dev:${{matrix.arch_debian}} libxrender-dev:${{matrix.arch_debian}} libxres-dev:${{matrix.arch_debian}} libxss-dev:${{matrix.arch_debian}} libxt-dev:${{matrix.arch_debian}} libxtst-dev:${{matrix.arch_debian}} libxv-dev:${{matrix.arch_debian}} libxvmc-dev:${{matrix.arch_debian}} libxxf86dga-dev:${{matrix.arch_debian}} libxxf86vm-dev:${{matrix.arch_debian}} x11proto-dev:${{matrix.arch_debian}} xserver-xorg-dev:${{matrix.arch_debian}} xtrans-dev:${{matrix.arch_debian}} -y
apt install gcc-${{matrix.arch_gcc}} g++-${{matrix.arch_gcc}} zlib1g-dev:${{matrix.arch_debian}} libbz2-dev:${{matrix.arch_debian}} libgl1-mesa-dev:${{matrix.arch_debian}} libasound2-dev:${{matrix.arch_debian}} libpulse-dev:${{matrix.arch_debian}} -y
# https://github.com/libsdl-org/SDL/blob/release-2.28.1/docs/README-linux.md#build-dependencies
apt install build-essential git make autoconf automake libtool pkg-config cmake ninja-build gnome-desktop-testing:${{matrix.arch_debian}} libasound2-dev:${{matrix.arch_debian}} libpulse-dev:${{matrix.arch_debian}} libaudio-dev:${{matrix.arch_debian}} libjack-dev:${{matrix.arch_debian}} libsndio-dev:${{matrix.arch_debian}} libsamplerate0-dev:${{matrix.arch_debian}} libx11-dev:${{matrix.arch_debian}} libxext-dev:${{matrix.arch_debian}} libxrandr-dev:${{matrix.arch_debian}} libxcursor-dev:${{matrix.arch_debian}} libxfixes-dev:${{matrix.arch_debian}} libxi-dev:${{matrix.arch_debian}} libxss-dev:${{matrix.arch_debian}} libwayland-dev:${{matrix.arch_debian}} libxkbcommon-dev:${{matrix.arch_debian}} libdrm-dev:${{matrix.arch_debian}} libgbm-dev:${{matrix.arch_debian}} libgl1-mesa-dev:${{matrix.arch_debian}} libgles2-mesa-dev:${{matrix.arch_debian}} libegl1-mesa-dev:${{matrix.arch_debian}} libdbus-1-dev:${{matrix.arch_debian}} libibus-1.0-dev:${{matrix.arch_debian}} libudev-dev:${{matrix.arch_debian}} fcitx-libs-dev:${{matrix.arch_debian}} -y
apt install libpipewire-0.3-dev:${{matrix.arch_debian}} libdecor-0-dev:${{matrix.arch_debian}} -y
# https://github.com/libsdl-org/SDL/blob/release-3.2.16/docs/README-linux.md#build-dependencies
apt install build-essential git make pkg-config cmake ninja-build gnome-desktop-testing:${{matrix.arch_debian}} libasound2-dev:${{matrix.arch_debian}} libpulse-dev:${{matrix.arch_debian}} libaudio-dev:${{matrix.arch_debian}} libjack-dev:${{matrix.arch_debian}} libsndio-dev:${{matrix.arch_debian}} libx11-dev:${{matrix.arch_debian}} libxext-dev:${{matrix.arch_debian}} libxrandr-dev:${{matrix.arch_debian}} libxcursor-dev:${{matrix.arch_debian}} libxfixes-dev:${{matrix.arch_debian}} libxi-dev:${{matrix.arch_debian}} libxss-dev:${{matrix.arch_debian}} libxkbcommon-dev:${{matrix.arch_debian}} libdrm-dev:${{matrix.arch_debian}} libgbm-dev:${{matrix.arch_debian}} libgl1-mesa-dev:${{matrix.arch_debian}} libgles2-mesa-dev:${{matrix.arch_debian}} libegl1-mesa-dev:${{matrix.arch_debian}} libdbus-1-dev:${{matrix.arch_debian}} libibus-1.0-dev:${{matrix.arch_debian}} libudev-dev:${{matrix.arch_debian}} -y
apt install libpipewire-0.3-dev:${{matrix.arch_debian}} libwayland-dev:${{matrix.arch_debian}} libdecor-0-dev:${{matrix.arch_debian}} liburing-dev:${{matrix.arch_debian}} -y
- name: Build everything else
run: |

View file

@ -23,11 +23,21 @@ GIT := git
CLONE := $(GIT) clone -q
GITHUB := https://github.com
CONFIGURE_ENV := \
# SDL needs system libraries at build time to enable some of its features (e.g.
# Wayland support), so we don't pass PKG_CONFIG_LIBDIR; this is OK because the
# resulting binaries don't dynamically link against those libraries.
# See: https://github.com/libsdl-org/SDL/blob/release-2.28.1/docs/README-linux.md
CONFIGURE_ENV_SDL := \
CMAKE_POLICY_VERSION_MINIMUM=3.10 \
PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR) \
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
# For all other dependencies, we pass PKG_CONFIG_LIBDIR so that the resulting
# binaries don't try to dynamically link against system libraries from the
# build machine.
CONFIGURE_ENV := \
$(CONFIGURE_ENV_SDL) \
PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR)
CONFIGURE_ARGS := --prefix="$(BUILD_PREFIX)" --host="$(ARCH_CONFIGURE)"
ifdef ARCH_CMAKE_TOOLCHAIN
@ -53,6 +63,7 @@ RUBY_CONFIGURE_ARGS := \
CONFIGURE := $(CONFIGURE_ENV) ./configure $(CONFIGURE_ARGS)
AUTOGEN := $(CONFIGURE_ENV) ./autogen.sh $(CONFIGURE_ARGS)
CMAKE := $(CONFIGURE_ENV) cmake .. $(CMAKE_ARGS)
CMAKE_SDL := $(CONFIGURE_ENV_SDL) cmake .. $(CMAKE_ARGS)
default: everything
@ -197,7 +208,7 @@ $(LIBDIR)/libSDL2.a: $(DOWNLOADS)/sdl2/cmakebuild/Makefile
$(DOWNLOADS)/sdl2/cmakebuild/Makefile: $(DOWNLOADS)/sdl2/CMakeLists.txt
cd $(DOWNLOADS)/sdl2; \
mkdir cmakebuild; cd cmakebuild; \
$(CMAKE) -DBUILD_SHARED_LIBS=no
$(CMAKE_SDL) -DBUILD_SHARED_LIBS=no
$(DOWNLOADS)/sdl2/CMakeLists.txt:
$(CLONE) $(GITHUB)/mkxp-z/SDL $(DOWNLOADS)/sdl2 -b mkxp-z-2.28.1