compilation for particular x86_64 architecture
This commit is contained in:
@@ -266,15 +266,18 @@ stdenv.mkDerivation {
|
||||
++ (
|
||||
if (!stdenv.hostPlatform.isx86_64)
|
||||
then [ "-no-sse2" ]
|
||||
else lib.optional (compareVersion "5.9.0" >= 0) [ "-sse2" ]
|
||||
else lib.optionals (compareVersion "5.9.0" >= 0) {
|
||||
"default" = [ "-sse2" "-no-sse3" "-no-ssse3" "-no-sse4.1" "-no-sse4.2" "-no-avx" "-no-avx2" ];
|
||||
"westmere" = [ "-sse2" "-sse3" "-ssse3" "-sse4.1" "-sse4.2" "-no-avx" "-no-avx2" ];
|
||||
"sandybridge" = [ "-sse2" "-sse3" "-ssse3" "-sse4.1" "-sse4.2" "-avx" "-no-avx2" ];
|
||||
"ivybridge" = [ "-sse2" "-sse3" "-ssse3" "-sse4.1" "-sse4.2" "-avx" "-no-avx2" ];
|
||||
"haswell" = [ "-sse2" "-sse3" "-ssse3" "-sse4.1" "-sse4.2" "-avx" "-avx2" ];
|
||||
"broadwell" = [ "-sse2" "-sse3" "-ssse3" "-sse4.1" "-sse4.2" "-avx" "-avx2" ];
|
||||
"skylake" = [ "-sse2" "-sse3" "-ssse3" "-sse4.1" "-sse4.2" "-avx" "-avx2" ];
|
||||
"skylake-avx512" = [ "-sse2" "-sse3" "-ssse3" "-sse4.1" "-sse4.2" "-avx" "-avx2" ];
|
||||
}.${stdenv.hostPlatform.platform.gcc.arch or "default"}
|
||||
)
|
||||
++ [
|
||||
"-no-sse3"
|
||||
"-no-ssse3"
|
||||
"-no-sse4.1"
|
||||
"-no-sse4.2"
|
||||
"-no-avx"
|
||||
"-no-avx2"
|
||||
"-no-mips_dsp"
|
||||
"-no-mips_dspr2"
|
||||
]
|
||||
|
||||
@@ -103,7 +103,10 @@ EOF
|
||||
'');
|
||||
|
||||
NIX_CFLAGS_COMPILE =
|
||||
lib.optionalString stdenv.isDarwin [
|
||||
# it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940
|
||||
# TODO: investigate and fix properly
|
||||
lib.optionals (stdenv.hostPlatform.platform.gcc.arch or "" == "sandybridge") [ "-march=westmere" ] ++
|
||||
lib.optionals stdenv.isDarwin [
|
||||
"-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10"
|
||||
"-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user