1{
2 lib,
3 stdenv,
4 zig,
5 callPackage,
6 wrapCCWith,
7 wrapBintoolsWith,
8 overrideCC,
9 targetPackages,
10}:
11{
12 hook = callPackage ./hook.nix { inherit zig; };
13
14 bintools-unwrapped = callPackage ./bintools.nix { inherit zig; };
15 bintools = wrapBintoolsWith { bintools = zig.bintools-unwrapped; };
16
17 cc-unwrapped = callPackage ./cc.nix { inherit zig; };
18 cc = wrapCCWith {
19 cc = zig.cc-unwrapped;
20 bintools = zig.bintools;
21 extraPackages = [ ];
22 nixSupport.cc-cflags = [
23 "-target"
24 "${stdenv.targetPlatform.system}-${stdenv.targetPlatform.parsed.abi.name}"
25 ]
26 ++ lib.optional (
27 stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false)
28 ) "-Wl,-dynamic-linker=${targetPackages.stdenv.cc.bintools.dynamicLinker}";
29 };
30
31 stdenv = overrideCC stdenv zig.cc;
32
33 fetchDeps = callPackage ./fetcher.nix { inherit zig; };
34}