PR-Q3a.0: install daedalus-decoder.pc for sibling consumers #17
Reference in New Issue
Block a user
Delete Branch "noether/decoder-pkgconfig"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Prerequisite for PR-Q3a daemon-side shadow-mode wiring. Adds pkg-config plumbing so the daedalus-v4l2 daemon (and the daedalus_decode_h264 CLI when built externally) can locate libdaedalus_decoder.a + the public header via pkg_check_modules / pkg-config.
What
Mirrors daedalus-fourier's relocatable-prefix .pc generation:
prefixderived from${pcfiledir}socmake --install --prefix /fooproduces a .pc that resolves to /foo at lookup time, independent ofCMAKE_INSTALL_PREFIXat configure time.Requires: daedalus-fourier(public, not private) — consumers static-linklibdaedalus_decoder.aand ALSO needlibdaedalus_core.ain their link line to resolve thedaedalus_ctx_*/daedalus_recipe_*symbols this archive references.Libs: -ldaedalus_decoder,Cflags: -I${includedir}.Verified on hertz
Relocatability: installed to two different prefixes, confirmed
prefixvariable resolves to each one independently.Why now
Unblocks PR-Q3a.1 in daedalus-v4l2: the daemon's CMake needs
pkg_check_modules(DAEDALUS_DECODER REQUIRED daedalus-decoder)to link the library into the shadow-mode path.Architectural framing (dejavu-check)
Pure consumer-side packaging. Adds nothing about the per-kernel libavcodec substitution arc. Frame-major UMA dispatch shape unchanged; this lets the daedalus-v4l2 daemon link the right archive.
Adds pkg-config plumbing so consumers (daedalus-v4l2 daemon for the upcoming PR-Q3a shadow-mode wiring; the daedalus_decode_h264 CLI when built outside this tree) can locate libdaedalus_decoder.a + the public header via pkg_check_modules / pkg-config. Mirrors daedalus-fourier's relocatable-prefix scheme: prefix is derived from ${pcfiledir} so cmake --install --prefix /foo produces a .pc that resolves to /foo at lookup time. Verified across two install prefixes. daedalus-fourier is declared as a public Requires: because consumers static-linking libdaedalus_decoder.a also need libdaedalus_core.a in their link line to resolve the daedalus_ctx_* / daedalus_recipe_* symbols this archive references. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>