Courtès: What's in a package
Courtès: What's in a package
Posted Sep 23, 2021 13:05 UTC (Thu) by mathstuf (subscriber, #69389)In reply to: Courtès: What's in a package by swilmet
Parent article: Courtès: What's in a package
- options to use external copies;
- mangling symbols to avoid conflicts when co-existing with the "real" thing in a process;
- mangling library names to avoid runtime loader problems; and
- moving headers to a subdirectory to avoid conflicting with a "real" install.
Of course, there are some that we have patched for our own purposes (with upstreamed PRs, usually merged depending on upstream activity levels) and there's no public version that is viable yet.
I don't like doing it because it's a huge PITA, but when Windows and macOS are target platforms and you depend on lots of external libraries (no, Homebrew and MacPorts are not suitable in the general case for macOS), shipping copies is way *less* work than walking users through how to build with their pet copies (of which there's usually poor uniformity) and the `PATH` shenanigans that usually end up being required.
