Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 2.07 KB

File metadata and controls

47 lines (37 loc) · 2.07 KB

Build dependencies

Rust stable via rustup (rust-toolchain.toml pins it), plus a C toolchain and the Bevy system libs. IW4L enables both x11 and wayland (Cargo.toml), so the Wayland headers stay required. Gamepad input and rumble (bevy_gilrs) link libudev, so the udev headers (systemd-devel / libudev-dev) are required too.

# Fedora
sudo dnf install gcc-c++ pkgconf-pkg-config libX11-devel alsa-lib-devel systemd-devel wayland-devel libxkbcommon-devel

# Debian / Ubuntu
sudo apt install g++ pkg-config libx11-dev libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev

# Arch / Manjaro
sudo pacman -S gcc pkgconf libx11 alsa-lib systemd wayland libxkbcommon libxcursor libxrandr libxi

Upstream list (other distros, GPU Vulkan drivers): Bevy linux_dependencies.md.

What is not needed for a native Linux build: clang / llvm / lld / glibc-static — plain gcc-c++ links it. llvm (the llvm-lib tool) is only required for the Windows cross build:

sudo dnf install llvm        # Fedora: provides llvm-lib
make setup-windows           # rustup target + cargo-xwin, once

macOS needs only the Xcode command line tools (xcode-select --install) and rustup: winit, wgpu (Metal), CoreAudio and gilrs link system frameworks, and the x11 / wayland features compile to nothing. Menu and make map mp_boneyard run on Apple silicon (M2 Max, Metal). Pipelined rendering is off by default there; IW4L_PIPELINED_RENDERING=1 turns it on. Game data: the Windows depot of a Steam copy, steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir ~/Games/MW2 +login <user> +app_update 10190 +quit, then IW4L_GAMES=~/Games.

Then follow README.md (Build and run): copy .env.example, set IW4L_GAMES, make map mp_boneyard. Portable Windows is WINDOWS.md.

Match metadata uses the Git commit count as its numeric build number. Release builders can set IW4L_BUILD_NUMBER; source archives need this variable. The package version remains the textual build version.