summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc/9/default.nix
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2023-06-28 23:49:38 -0700
committerAdam Joseph <adam@westernsemico.com>2023-07-01 13:12:22 -0700
commit6980e6b35aacccd4e75a76a384f9dec30f31fa55 (patch)
tree7ddf8b1f5713c69b3596650a24711c6bcf83f159 /pkgs/development/compilers/gcc/9/default.nix
parent931b8a4979df477c0baffc2544f593d7a9b32dcb (diff)
downloadnixpkgs-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