mirror of
https://github.com/libretro/FBNeo.git
synced 2026-11-08 02:48:14 -10:00
* build(fbneo): consolidate Meson build into a single top-level meson.build Replace the previously scattered per-subdirectory meson.build stubs with a single self-contained top-level meson.build that covers the entire project, and add a driver-level CI test script. Top-level meson.build: - Project is declared as 'fbneo' v1.0.0.3 (C99 / C++11) - Auto-select frontend: win32 on Windows, macos on Darwin, sdl2 elsewhere; can be overridden via -Dfrontend= - Options: include_7z, force_pulse_audio, rom_verify, fastcall_support (probed at configure time for GCC/Clang/MSVC) - burn_driver_dependencies dict maps every driver family (atari, capcom, cave, channelf, coleco, cps3, dataeast, galaxian, irem, konami, megadrive, midway, msx, neogeo, nes, pce, …) to its required cpu, device, and sound modules, enabling per-driver tree-shaking - Bundled third-party libs (lua, zlib) each get their own meson.build producing a static_library + declare_dependency; libchdr and lib7z follow the same pattern src/intf/cd/win32/cd_img.cpp: - Guard `#include <malloc.h>` with `#ifdef _MSC_VER` to fix compilation on non-MSVC toolchains tools/test_driver_list.py (new): - Python 3 script that iterates over every driver in driver_list, runs `meson setup --wipe -Ddriver_list=<driver>` followed by `meson compile`, and reports pass/fail per driver - Writes a JSON summary to build-driver-tests/logs/summary.json - Accepts --frontend, --buildtype, --target, --jobs, --timeout, --setup-only, --no-clean, --tail, and per-driver filtering * move joyprocess to src/burn/devices