Repository navigation
Commit d59d754
committed
feat(pkg): compat.ffmpeg 3-platform + descriptor slimming (17.5k→9k lines)
Add windows-x86_64 (clang-MSVC, win64 NASM) as the third OS — mcpp v0.0.100
#247 (driver-style link rspfile) makes the ~2283-object link work on Windows.
Data/logic separation (mcpp 0.0.100 design doc §2.1-C), one descriptor now
covers 3 platforms in HALF the lines of the old 2-platform one:
- sources brace-glob compressed per dir (was 1-line-per-file, ~4300 lines back)
- 7 identical list files (codec/demuxer/muxer/parser/bsf/filter_list.c,
avconfig.h, ffversion.h) shared at neutral top-level
- config.{h,asm} + config_components.{h,asm} common/delta split: a neutral
<name>.base holds the #define lines identical across OSes, each per-OS file
#includes it + adds only its deltas (device components etc.); generator
self-checks base∪delta == original per OS
- ffmpeg source root ('*','*/libavcodec') moved to include_dirs_after
(-idirafter, mcpp#249) so libc++ <version> isn't shadowed by ffmpeg VERSION
on case-insensitive macOS (fixes the C++ module consumer)
tests/examples/ffmpeg: widen to cfg(windows); test asserts on all 3 OSes.
Generator: tools/compat-ffmpeg/gen_multiplatform.py. Parses clean on 0.0.100
xpkg parse --all-os (linux/macosx/windows).1 parent 3058208 commit d59d754
4 files changed
Lines changed: 8737 additions & 17043 deletions
File tree
- pkgs/c
- tests/examples/ffmpeg
- tests
- tools/compat-ffmpeg
0 commit comments