Skip to content

Commit

Permalink
feat: adding windows64 mingw target
Browse files Browse the repository at this point in the history
  • Loading branch information
SilentVoid13 committed Jun 30, 2024
1 parent 060a8f6 commit e27b169
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
19 changes: 19 additions & 0 deletions lib/mkStdTargets.nix
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,25 @@
BINDGEN_EXTRA_CLANG_ARGS_riscv64gc_unknown_linux_gnu = "-I ${pkgs.pkgsCross.riscv64.buildPackages.llvmPackages.clang-unwrapped.lib}/lib/clang/16/include/";
};
};

windows64 = mkClangTarget rec {
target = "x86_64-pc-windows-gnu";
clang = pkgs.pkgsCross.mingwW64.buildPackages.llvmPackages.clang;
binPrefix = "x86_64-w64-mingw32-";
llvmConfigPkg = targetLlvmConfigWrapper {
clangPkg = pkgs.pkgsCross.mingwW64.buildPackages.llvmPackages.clang-unwrapped;
libClangPkg = pkgs.pkgsCross.mingwW64.buildPackages.llvmPackages.clang-unwrapped.lib;
};

args = {
CFLAGS_x86_64_pc_windows_gnu = "-I ${pkgs.pkgsCross.mingwW64.buildPackages.llvmPackages.clang-unwrapped.lib}/lib/clang/16/include/";
CPPFLAGS_x86_64_pc_windows_gnu = "-I ${pkgs.pkgsCross.mingwW64.buildPackages.llvmPackages.clang-unwrapped.lib}/lib/clang/16/include/";
CXXFLAGS_x86_64_pc_windows_gnu = "-I ${pkgs.pkgsCross.mingwW64.buildPackages.llvmPackages.clang-unwrapped.lib}/lib/clang/16/include/";
BINDGEN_EXTRA_CLANG_ARGS_x86_64_pc_windows_gnu = "-I ${pkgs.pkgsCross.mingwW64.buildPackages.llvmPackages.clang-unwrapped.lib}/lib/clang/16/include/";
# compressed debug section support only when building on Linux
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUSTFLAGS = "-C link-arg=-fuse-ld=${clang}/bin/${binPrefix}ld -C link-arg=-Wl";
};
};
} // {
wasm32-unknown = { extraRustFlags, ... }@args: mkTarget
{
Expand Down
14 changes: 14 additions & 0 deletions lib/mkStdToolchains.nix
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,20 @@ in
nativeBuildInputs = nativeBuildInputs pkgs.pkgsCross.riscv64;
};
});
windows64 = mkFenixToolchain (args // {
defaultTarget = "x86_64-pc-windows-gnu";
targets = {
windows64 = stdTargets.windows64;
};
craneArgs = {
buildInputs = buildInputs pkgs.pkgsCross.mingwW64;
nativeBuildInputs = nativeBuildInputs pkgs.pkgsCross.mingwW64;
depsBuildBuild = [
pkgs.pkgsCross.mingwW64.stdenv.cc
pkgs.pkgsCross.mingwW64.windows.pthreads
];
};
});
} // {

wasm32-unknown = mkFenixToolchain (args // {
Expand Down

0 comments on commit e27b169

Please sign in to comment.