diff options
author | Adam Joseph <adam@westernsemico.com> | 2023-06-28 23:49:38 -0700 |
---|---|---|
committer | Adam Joseph <adam@westernsemico.com> | 2023-07-01 13:12:22 -0700 |
commit | 6980e6b35aacccd4e75a76a384f9dec30f31fa55 (patch) | |
tree | 7ddf8b1f5713c69b3596650a24711c6bcf83f159 /pkgs/development/compilers/gcc/9/default.nix | |
parent | 931b8a4979df477c0baffc2544f593d7a9b32dcb (diff) | |
download | nixpkgs-6980e6b35aacccd4e75a76a384f9dec30f31fa55.tar nixpkgs-6980e6b35aacccd4e75a76a384f9dec30f31fa55.tar.gz nixpkgs-6980e6b35aacccd4e75a76a384f9dec30f31fa55.tar.bz2 nixpkgs-6980e6b35aacccd4e75a76a384f9dec30f31fa55.tar.lz nixpkgs-6980e6b35aacccd4e75a76a384f9dec30f31fa55.tar.xz nixpkgs-6980e6b35aacccd4e75a76a384f9dec30f31fa55.tar.zst nixpkgs-6980e6b35aacccd4e75a76a384f9dec30f31fa55.zip |
lib.systems: introduce hasSharedLibraries
This commit adds `hasSharedLibraries` to `lib.systems`. We need `plat.hasSharedLibraries` in order to know whether or not to expect `gcc` (and many other tools) to emit shared libraries (like `libgcc_s.so`). Many of the GNU build scripts are smart enough that if you configure them with `--enable-shared` on a platform (such as `arm-none-eabi`) that doesn't support dynamic linking, they will simply skip the shared libraries instead of aborting the `configurePhase`. Unfortunately the missing shared libraries in the final build product cause very hard-to-troubleshoot problems later on. The alternative to introducing `hasSharedLibraries` would be to set `isStatic` in these situations. However doing so causes `make-derivation.nix` to insert `-static` between the `pname` and `hostPlatform` suffix, which is undesirable. If at some point in the future we eliminate the `-static` suffix, then `hasSharedLibraries` can be made equal to `!isStatic`.
Diffstat (limited to 'pkgs/development/compilers/gcc/9/default.nix')
0 files changed, 0 insertions, 0 deletions