From f2ac4eef529fc8235167790f786859f048040c23 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Sun, 8 Feb 2026 18:34:46 -0400 Subject: [PATCH] gcc: move cygwin DLLs to $target/bin --- pkgs/build-support/cc-wrapper/default.nix | 2 +- pkgs/development/compilers/gcc/common/builder.nix | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 058b2d7a2dec..89cc7c4ce4fd 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -603,7 +603,7 @@ stdenvNoCC.mkDerivation { installPhase = if targetPlatform.isCygwin then '' - echo addToSearchPath "HOST_PATH" "${cc_bin}/lib" >> $out + echo addToSearchPath "HOST_PATH" "${cc_solib}/bin" >> $out # Work around build failure caused by the gnulib workaround for # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114870. remove after # gnulib is updated in core packages (e.g. iconv, gnupatch, gnugrep) diff --git a/pkgs/development/compilers/gcc/common/builder.nix b/pkgs/development/compilers/gcc/common/builder.nix index b1b5daeb00f1..1e90828a6643 100644 --- a/pkgs/development/compilers/gcc/common/builder.nix +++ b/pkgs/development/compilers/gcc/common/builder.nix @@ -363,6 +363,13 @@ originalAttrs: fi done '' + + lib.optionalString stdenv.targetPlatform.isCygwin '' + targetBinDir="''${targetConfig+$targetConfig/}bin" + for i in "''${!outputBin}/$targetLibDir"/cyg*.dll; do + mkdir -p "''${!outputLib}/$targetBinDir" + mv "$i" "''${!outputLib}/$targetBinDir"/ + done + '' # if cross-compiling, link from $lib/lib to $lib/${targetConfig}. # since native-compiles have $lib/lib as a directory (not a # symlink), this ensures that in every case we can assume that