nix: try to make armv8.2-a / cortex-a55 optimised builds if target is aarch64
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
df28359a19
commit
649e9da1f8
2 changed files with 12 additions and 1 deletions
|
@ -16,6 +16,9 @@ lib.optionalAttrs stdenv.hostPlatform.isStatic {
|
||||||
++ lib.optionals
|
++ lib.optionals
|
||||||
stdenv.targetPlatform.isx86_64
|
stdenv.targetPlatform.isx86_64
|
||||||
[ "-C" "target-cpu=x86-64-v2" ]
|
[ "-C" "target-cpu=x86-64-v2" ]
|
||||||
|
++ lib.optionals
|
||||||
|
stdenv.targetPlatform.isAarch64
|
||||||
|
[ "-C" "target-cpu=cortex-a55" ] # cortex-a55 == ARMv8.2-a
|
||||||
# This disables PIE for static builds, which isn't great in terms
|
# This disables PIE for static builds, which isn't great in terms
|
||||||
# of security. Unfortunately, my hand is forced because nixpkgs'
|
# of security. Unfortunately, my hand is forced because nixpkgs'
|
||||||
# `libstdc++.a` is built without `-fPIE`, which precludes us from
|
# `libstdc++.a` is built without `-fPIE`, which precludes us from
|
||||||
|
|
|
@ -87,6 +87,12 @@ buildDepsOnlyEnv =
|
||||||
"-DHAVE_SSE=1"
|
"-DHAVE_SSE=1"
|
||||||
"-DHAVE_SSE42=1"
|
"-DHAVE_SSE42=1"
|
||||||
]
|
]
|
||||||
|
else if stdenv.targetPlatform.isAarch64
|
||||||
|
then lib.subtractLists [ "-DPORTABLE=1" ] old.cmakeFlags
|
||||||
|
++ lib.optionals stdenv.targetPlatform.isAarch64 [
|
||||||
|
# cortex-a55 == ARMv8.2-a
|
||||||
|
"-DPORTABLE=armv8.2-a"
|
||||||
|
]
|
||||||
else old.cmakeFlags;
|
else old.cmakeFlags;
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
|
@ -116,7 +122,9 @@ buildPackageEnv = {
|
||||||
+ lib.optionalString (enableLiburing && stdenv.hostPlatform.isStatic)
|
+ lib.optionalString (enableLiburing && stdenv.hostPlatform.isStatic)
|
||||||
" -L${lib.getLib liburing}/lib -luring"
|
" -L${lib.getLib liburing}/lib -luring"
|
||||||
+ lib.optionalString stdenv.targetPlatform.isx86_64
|
+ lib.optionalString stdenv.targetPlatform.isx86_64
|
||||||
" -Ctarget-cpu=x86-64-v2";
|
" -Ctarget-cpu=x86-64-v2"
|
||||||
|
+ lib.optionalString stdenv.targetPlatform.isAarch64
|
||||||
|
" -Ctarget-cpu=cortex-a55"; # cortex-a55 == ARMv8.2-a
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue