diff --git a/docs/README-BuildKit.md b/docs/README-BuildKit.md index 5b04fbe3..7e4b8f50 100644 --- a/docs/README-BuildKit.md +++ b/docs/README-BuildKit.md @@ -69,7 +69,7 @@ RADV). It takes clang, clang++ and lld from `PATH` and links against the system' 1. Packages, on Arch and its derivatives (other distributions: the same libraries and their `-dev` headers): ```sh - sudo pacman -S --needed clang lld sdl3 opus libvpx dav1d zstd libunwind vulkan-headers vulkan-icd-loader \ + sudo pacman -S --needed clang lld sdl3 opus libvpx dav1d zstd vulkan-headers vulkan-icd-loader \ python fonttools python-numpy python-lz4 python-zstandard dotnet-sdk ``` diff --git a/tools/make_appimage.py b/tools/make_appimage.py index b8f887f7..03ba1388 100644 --- a/tools/make_appimage.py +++ b/tools/make_appimage.py @@ -52,7 +52,7 @@ case "$1" in ""|-h|--help) usage; exit 0 ;; esac missing=() for tool in clang clang++ ld.lld; do command -v "$tool" >/dev/null || missing+=("$tool"); done -for h in SDL3/SDL.h vulkan/vulkan.h opus/opus.h vpx/vpx_decoder.h dav1d/dav1d.h zstd.h libunwind.h; do +for h in SDL3/SDL.h vulkan/vulkan.h opus/opus.h vpx/vpx_decoder.h dav1d/dav1d.h zstd.h; do [ -e "/usr/include/$h" ] || [ -e "/usr/local/include/$h" ] || missing+=("$h") done if [ ${#missing[@]} -gt 0 ]; then @@ -60,12 +60,12 @@ if [ ${#missing[@]} -gt 0 ]; then Missing: ${missing[*]} Install the compiler and libraries, then run this again: Arch, CachyOS, Manjaro, SteamOS (developer mode): - sudo pacman -S --needed clang lld sdl3 opus libvpx dav1d zstd libunwind vulkan-headers vulkan-icd-loader + sudo pacman -S --needed clang lld sdl3 opus libvpx dav1d zstd vulkan-headers vulkan-icd-loader Fedora: - sudo dnf install clang lld SDL3-devel opus-devel libvpx-devel libdav1d-devel libzstd-devel libunwind-devel \\ + sudo dnf install clang lld SDL3-devel opus-devel libvpx-devel libdav1d-devel libzstd-devel \\ vulkan-headers vulkan-loader-devel libstdc++-static libatomic Debian, Ubuntu: - sudo apt install clang lld libsdl3-dev libopus-dev libvpx-dev libdav1d-dev libzstd-dev libunwind-dev libvulkan-dev + sudo apt install clang lld libsdl3-dev libopus-dev libvpx-dev libdav1d-dev libzstd-dev libvulkan-dev EOF exit 1 fi diff --git a/tools/make_game.py b/tools/make_game.py index 916e85da..2781466d 100644 --- a/tools/make_game.py +++ b/tools/make_game.py @@ -42,7 +42,7 @@ version (fast_clang: the same objects, about a fifth faster). python tools/make_game.py --make-runtime-lib /lib --msys # the release's prebuilt runtime On Linux the same steps make /ocarina with the clang, clang++ and lld on PATH and the system's libraries -(Vulkan, SDL3, Opus, libvpx, dav1d, zstd, libunwind; libstdc++ static, rpath $ORIGIN), as tools/build_game.py's Linux +(Vulkan, SDL3, Opus, libvpx, dav1d, zstd; libstdc++ static, rpath $ORIGIN), as tools/build_game.py's Linux build does: the runtime's *_sdl.* and platform/linux.c take the place of its *_win.*, platform/win32.c and nx2navi.rc, and --msys is not used. README-BuildKit.md, "Linux", lists the packages. @@ -110,9 +110,8 @@ WIN = os.name == 'nt' if WIN: LINK_LIBS = ['-lvulkan-1', '-lSDL3', '-lopus', '-lvpx', '-l:libdav1d.a', '-lzstd', '-l:libatomic.a', '-lbcrypt', '-limm32', '-luuid', '-lole32', '-luser32', '-lshell32', '-lgdi32', '-ladvapi32', '-lwinmm'] -else: # tools/build_game.py's Linux libraries, plus dav1d (the AV1 movies), libatomic and libunwind (platform/linux.c's - # plat_frame_capture walks the host stack with it, issue #72) - LINK_LIBS = ['-lvulkan', '-lSDL3', '-lopus', '-lvpx', '-ldav1d', '-lzstd', '-l:libstdc++.a', '-latomic', '-lunwind', +else: # tools/build_game.py's Linux libraries, plus dav1d (the AV1 movies) and libatomic + LINK_LIBS = ['-lvulkan', '-lSDL3', '-lopus', '-lvpx', '-ldav1d', '-lzstd', '-l:libstdc++.a', '-latomic', '-lm', '-lpthread', '-ldl'] SYSTEM_DLLS_SKIP = {'vulkan-1.dll'} # the graphics driver's loader, never a copy EXE_NAME = 'ocarina.exe' if WIN else 'ocarina' diff --git a/tools/make_kit.py b/tools/make_kit.py index 9c875dfa..3df445ca 100644 --- a/tools/make_kit.py +++ b/tools/make_kit.py @@ -24,7 +24,8 @@ from pathlib import Path ROOT = Path(__file__).resolve().parents[1] NAME = 'NX2navi-BuildKit' TOOLS = ('make_game.py', 'nup.py', 'romfs_index.py', 'check_content.py', 'hostmem.py', 'prepare_shaders.py', - 'shader_census.py', 'shader_list.py', 'zstd_compat.py', 'pad_prompts.py', 'prompt_art.py', 'button_icons.py') + 'shader_census.py', 'shader_list.py', 'zstd_compat.py', 'pad_prompts.py', 'prompt_art.py', 'button_icons.py', + 'build_game.py') # make_game.py imports its vma_include on Linux for the VMA header TOP = ('LICENSE', 'LICENSE-ADDITIONS', 'THIRD_PARTY_NOTICES.md', 'VERSION', 'nx2navi.ini.example') SKIP_DIRS = {'__pycache__', '.pytest_cache'} SKIP_SUFFIXES = {'.o', '.obj', '.pyc', '.exe', '.dll', '.a', '.lib'}