Files
ZengGengSen 4540c68e06 build(fbneo): consolidate Meson build into a single top-level meson.b… (#2629)
* 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
2026-06-16 13:00:44 -04:00
..