Merge pull request #242316 from wegank/reckenrode-cctools-llvm-fix

cctools-llvm: match binutils targetPrefix definition
This commit is contained in:
Weijia Wang 2023-07-09 10:55:23 +03:00 committed by GitHub
commit c5fd953de9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,9 +1,11 @@
# Create a cctools-compatible bintools that uses equivalent tools from LLVM in place of the ones # Create a cctools-compatible bintools that uses equivalent tools from LLVM in place of the ones
# from cctools when possible. # from cctools when possible.
{ lib, stdenv, makeWrapper, cctools-port, llvmPackages, enableManpages ? true }: { lib, stdenv, makeWrapper, cctools-port, llvmPackages, enableManpages ? stdenv.targetPlatform == stdenv.hostPlatform }:
let let
inherit (stdenv) targetPlatform hostPlatform;
cctoolsVersion = lib.getVersion cctools-port; cctoolsVersion = lib.getVersion cctools-port;
llvmVersion = llvmPackages.release_version; llvmVersion = llvmPackages.release_version;
@ -52,7 +54,7 @@ let
++ lib.optional (!useLLVMOtool) "otool" ++ lib.optional (!useLLVMOtool) "otool"
++ lib.optional (!useLLVMStrip) "strip"; ++ lib.optional (!useLLVMStrip) "strip";
inherit (stdenv.cc) targetPrefix; targetPrefix = lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
linkManPages = pkg: source: target: lib.optionalString enableManpages '' linkManPages = pkg: source: target: lib.optionalString enableManpages ''
sourcePath=${pkg}/share/man/man1/${source}.1.gz sourcePath=${pkg}/share/man/man1/${source}.1.gz
@ -81,7 +83,7 @@ stdenv.mkDerivation {
makeWrapper "${lib.getBin llvmPackages.clang-unwrapped}/bin/clang" "$out/bin/${targetPrefix}as" \ makeWrapper "${lib.getBin llvmPackages.clang-unwrapped}/bin/clang" "$out/bin/${targetPrefix}as" \
--add-flags "-x assembler -integrated-as -c" --add-flags "-x assembler -integrated-as -c"
ln -s "${lib.getBin llvmPackages.bintools-unwrapped}/bin/llvm-ar" "$out/bin/${targetPrefix}ar" ln -s "${lib.getBin llvmPackages.bintools-unwrapped}/bin/${targetPrefix}llvm-ar" "$out/bin/${targetPrefix}ar"
${linkManPages llvmPackages.llvm-manpages "llvm-ar" "ar"} ${linkManPages llvmPackages.llvm-manpages "llvm-ar" "ar"}
for tool in ${toString llvm_bins}; do for tool in ${toString llvm_bins}; do