summaryrefslogtreecommitdiff
path: root/lib/systems
diff options
context:
space:
mode:
authorAlessandro Di Federico <ale.nix@clearmind.me>2025-10-30 20:17:59 +0100
committerAlessandro Di Federico <ale@rev.ng>2025-12-30 19:05:44 +0100
commit90b59828be4571927f60d56acdc54f2c598509cc (patch)
tree83aff95b9b161f77f6de654397e0c91f201f7ee3 /lib/systems
parentuclibc-ng: do not disable hardware floating point support for ARM (diff)
downloadnixpkgs-90b59828be4571927f60d56acdc54f2c598509cc.tar.gz
uclibc-ng: detect CONFIG_ARM_EABI from platform
This commit introduces a `isEabi` predicate for platforms and employs it to detect whether to configure uclibc with CONFIG_ARM_EABI or not.
Diffstat (limited to 'lib/systems')
-rw-r--r--lib/systems/inspect.nix5
-rw-r--r--lib/systems/parse.nix12
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index c1876093600d..0a8e1ac8e702 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -440,6 +440,11 @@ rec {
isPE = {
kernel.execFormat = execFormats.pe;
};
+
+ isEabi = {
+ abi.eabi = true;
+ };
+
};
# given two patterns, return a pattern which is their logical AND.
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index c76aa592fc28..86f8c169d901 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -662,15 +662,19 @@ rec {
# On ARM, this corresponds to ARMEABI.
eabi = {
float = "soft";
+ eabi = true;
};
eabihf = {
float = "hard";
+ eabi = true;
};
# Other architectures should use ELF in embedded situations.
elf = { };
- androideabi = { };
+ androideabi = {
+ eabi = true;
+ };
android = {
assertions = [
{
@@ -684,9 +688,11 @@ rec {
gnueabi = {
float = "soft";
+ eabi = true;
};
gnueabihf = {
float = "hard";
+ eabi = true;
};
gnu = {
assertions = [
@@ -730,17 +736,21 @@ rec {
musleabi = {
float = "soft";
+ eabi = true;
};
musleabihf = {
float = "hard";
+ eabi = true;
};
musl = { };
uclibceabi = {
float = "soft";
+ eabi = true;
};
uclibceabihf = {
float = "hard";
+ eabi = true;
};
uclibc = { };