Merge pull request #197674 from squalus/openmp-cross

openmp: fix cross compile
This commit is contained in:
Artturi 2022-11-22 23:29:54 +02:00 committed by GitHub
commit 006c56abc4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 70 additions and 20 deletions

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -259,7 +260,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, fetch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -15,7 +16,9 @@ stdenv.mkDerivation rec {
src = fetch pname "0i4bn84lkpm5w3qkpvwm5z6jdj8fynp7d3bcasa1xyq4is6757yi";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -274,7 +275,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -5,6 +5,7 @@
, fetchpatch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -25,7 +26,9 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -267,7 +268,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, fetch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -15,7 +16,9 @@ stdenv.mkDerivation rec {
src = fetch pname "14dh0r6h2xh747ffgnsl4z08h0ri04azi9vf79cbz7ma1r27kzk0";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -276,7 +277,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, src
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -16,7 +17,9 @@ stdenv.mkDerivation rec {
sourceRoot = "source/${pname}";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
cmakeFlags = [
"-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" # Building the AMDGCN device RTL currently fails

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -273,7 +274,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -5,6 +5,7 @@
, runCommand
, cmake
, llvm
, targetLlvm
, lit
, clang-unwrapped
, perl
@ -32,7 +33,9 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
nativeBuildInputs = [ cmake perl pkg-config lit ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
# Unsup:Pass:XFail:Fail
# 26:267:16:8

View file

@ -2,6 +2,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
}:
let
@ -121,7 +122,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, fetch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -15,7 +16,9 @@ stdenv.mkDerivation {
src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -2,6 +2,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
}:
let
@ -122,7 +123,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, fetch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -15,7 +16,9 @@ stdenv.mkDerivation {
src = fetch "openmp" "0nhwfba9c351r16zgyjyfwdayr98nairky3c2f0b2lc360mwmbv6";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -268,7 +269,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, fetch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -15,7 +16,9 @@ stdenv.mkDerivation {
src = fetch "openmp" "1dg53wzsci2kra8lh1y0chh60h2l8h1by93br5spzvzlxshkmrqy";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -267,7 +268,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, fetch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -15,7 +16,9 @@ stdenv.mkDerivation {
src = fetch "openmp" "0b3jlxhqbpyd1nqkpxjfggm5d9va5qpyf7d4i5y7n4a1mlydv19y";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -3,6 +3,7 @@
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
# This is the default binutils, but with *this* version of LLD rather
# than the default LLVM verion's, if LLD is the choice. We use these for
# the `useLLVM` bootstrapping below.
@ -267,7 +268,7 @@ let
};
openmp = callPackage ./openmp {
inherit llvm_meta;
inherit llvm_meta targetLlvm;
};
});

View file

@ -4,6 +4,7 @@
, fetch
, cmake
, llvm
, targetLlvm
, perl
, version
}:
@ -15,7 +16,9 @@ stdenv.mkDerivation rec {
src = fetch pname "1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ];
buildInputs = [
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
];
meta = llvm_meta // {
homepage = "https://openmp.llvm.org/";

View file

@ -14666,36 +14666,42 @@ with pkgs;
llvmPackages_5 = recurseIntoAttrs (callPackage ../development/compilers/llvm/5 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_5.tools;
targetLlvm = targetPackages.llvmPackages_5.llvm or llvmPackages_5.llvm;
targetLlvmLibraries = targetPackages.llvmPackages_5.libraries or llvmPackages_5.libraries;
});
llvmPackages_6 = recurseIntoAttrs (callPackage ../development/compilers/llvm/6 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_6.tools;
targetLlvm = targetPackages.llvmPackages_6.llvm or llvmPackages_6.llvm;
targetLlvmLibraries = targetPackages.llvmPackages_6.libraries or llvmPackages_6.libraries;
});
llvmPackages_7 = recurseIntoAttrs (callPackage ../development/compilers/llvm/7 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_7.tools;
targetLlvm = targetPackages.llvmPackages_7.llvm or llvmPackages_7.llvm;
targetLlvmLibraries = targetPackages.llvmPackages_7.libraries or llvmPackages_7.libraries;
});
llvmPackages_8 = recurseIntoAttrs (callPackage ../development/compilers/llvm/8 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_8.tools;
targetLlvm = targetPackages.llvmPackages_8.llvm or llvmPackages_8.llvm;
targetLlvmLibraries = targetPackages.llvmPackages_8.libraries or llvmPackages_8.libraries;
});
llvmPackages_9 = recurseIntoAttrs (callPackage ../development/compilers/llvm/9 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_9.tools;
targetLlvm = targetPackages.llvmPackages_9.llvm or llvmPackages_9.llvm;
targetLlvmLibraries = targetPackages.llvmPackages_9.libraries or llvmPackages_9.libraries;
});
llvmPackages_10 = recurseIntoAttrs (callPackage ../development/compilers/llvm/10 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_10.tools;
targetLlvm = targetPackages.llvmPackages_10.llvm or llvmPackages_10.llvm;
targetLlvmLibraries = targetPackages.llvmPackages_10.libraries or llvmPackages_10.libraries;
});
@ -14703,6 +14709,7 @@ with pkgs;
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_11.tools;
targetLlvmLibraries = targetPackages.llvmPackages_11.libraries or llvmPackages_11.libraries;
targetLlvm = targetPackages.llvmPackages_11.llvm or llvmPackages_11.llvm;
} // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
stdenv = gcc7Stdenv;
}));
@ -14711,6 +14718,7 @@ with pkgs;
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_12.tools;
targetLlvmLibraries = targetPackages.llvmPackages_12.libraries or llvmPackages_12.libraries;
targetLlvm = targetPackages.llvmPackages_12.llvm or llvmPackages_12.llvm;
} // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
stdenv = gcc7Stdenv;
}));
@ -14719,6 +14727,7 @@ with pkgs;
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_13.tools;
targetLlvmLibraries = targetPackages.llvmPackages_13.libraries or llvmPackages_13.libraries;
targetLlvm = targetPackages.llvmPackages_13.llvm or llvmPackages_13.llvm;
} // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
stdenv = gcc7Stdenv;
}));
@ -14727,6 +14736,7 @@ with pkgs;
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_14.tools;
targetLlvmLibraries = targetPackages.llvmPackages_14.libraries or llvmPackages_14.libraries;
targetLlvm = targetPackages.llvmPackages_14.llvm or llvmPackages_14.llvm;
} // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
stdenv = gcc7Stdenv;
}));