nixpkgs/lib/systems
Adam Joseph 6980e6b35a 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`.
2023-07-01 13:12:22 -07:00
..
architectures.nix Merge pull request #237167 from CHN-beta/master 2023-06-19 14:14:03 +02:00
default.nix lib.systems: introduce hasSharedLibraries 2023-07-01 13:12:22 -07:00
doubles.nix lib.systems.doubles: add big-endian MIPS linux doubles 2023-06-01 10:42:27 +00:00
examples.nix lib.systems: remove mipsisa(32|64)r6 triples 2023-06-01 10:42:27 +00:00
flake-systems.nix lib: fix typos 2022-12-17 18:59:29 -05:00
inspect.nix lib.systems: add gnuabin32 to isGnu 2023-06-29 12:26:12 -07:00
parse.nix lib.systems: remove mipsisa(32|64)r6 triples 2023-06-01 10:42:27 +00:00
platforms.nix Merge pull request #170737 from amjoseph-nixpkgs/fix-mips32-detection 2022-11-21 19:40:18 +02:00