3 ms·
You can't have an effective package manager for a compiled language unless the package manager is actually a part of your own build system. The example I alway
by PaulDavisThe1st 3y ago
You can't have an effective package manager for a compiled language unless the package manager is actually a part of your own build system.
The example I always use: you want to use libfftw ("Fastest Fourier Transform in the West"). But the library can be compiled with (at least) two options: use floats or doubles, use threads or not. That creates (at least) four possible variants of the final library.
The only way to address this (and IIUC, Cargo for Rust does this) is to somehow have the pkg manager be a part of your build system, so that you end up with a local copy of the library, built as required.
- ho_schi 3y agohttps://mesonbuild.com/Wrapdb-projects.html https://mesonbuild.com/Wrapdb-projects.html Meson did that. You can use system packages, define your own dependency, use sub-projects (custom build option a, you mentioned) or readily available from WrapDB.
- tempodox 3y agoIf you download the sources, can't you compile them in whatever configuration you need?
- PaulDavisThe1st 3y agoYes but that's not a package management system.