|
| 1 | +{ |
| 2 | + lib, |
| 3 | + stdenv, |
| 4 | + buildPackages, |
| 5 | + extraMakeFlags ? [ ], |
| 6 | +}: |
| 7 | +# Absolute paths for compilers avoid any PATH-clobbering issues. |
| 8 | +[ |
| 9 | + # |
| 10 | + # We use the unwrapped compiler, because the clang-wrapper doesn't like -target. |
| 11 | + "CC=${lib.getExe stdenv.cc.cc}" |
| 12 | + # The wrapper for ld.lld breaks linking the kernel. We use the unwrapped linker as workaround. See: |
| 13 | + # https://github.com/NixOS/nixpkgs/issues/321667 |
| 14 | + "LD=${lib.getExe' stdenv.cc.bintools.bintools "${stdenv.cc.targetPrefix}ld"}" |
| 15 | + "AR=${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}ar"}" |
| 16 | + "NM=${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}nm"}" |
| 17 | + "STRIP=${lib.getExe' stdenv.cc.bintools.bintools "${stdenv.cc.targetPrefix}strip"}" |
| 18 | + "OBJCOPY=${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}objcopy"}" |
| 19 | + "OBJDUMP=${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}objdump"}" |
| 20 | + "READELF=${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}readelf"}" |
| 21 | + "HOSTCC=${lib.getExe' buildPackages.stdenv.cc "${buildPackages.stdenv.cc.targetPrefix}cc"}" |
| 22 | + "HOSTCXX=${lib.getExe' buildPackages.stdenv.cc "${buildPackages.stdenv.cc.targetPrefix}c++"}" |
| 23 | + "HOSTAR=${lib.getExe' buildPackages.stdenv.cc.bintools "${buildPackages.stdenv.cc.targetPrefix}ar"}" |
| 24 | + "HOSTLD=${lib.getExe' buildPackages.stdenv.cc.bintools "${buildPackages.stdenv.cc.targetPrefix}ld"}" |
| 25 | + "ARCH=${stdenv.hostPlatform.linuxArch}" |
| 26 | + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" |
| 27 | +] |
| 28 | +# Add the built in headers the kernel needs |
| 29 | +++ lib.optionals (stdenv.cc.isClang) [ |
| 30 | + "CFLAGS_MODULE=-I${lib.getLib stdenv.cc.cc}/lib/clang/${lib.versions.major stdenv.cc.cc.version}/include" |
| 31 | + "CFLAGS_KERNEL=-I${lib.getLib stdenv.cc.cc}/lib/clang/${lib.versions.major stdenv.cc.cc.version}/include" |
| 32 | +] |
| 33 | +++ (stdenv.hostPlatform.linux-kernel.makeFlags or [ ]) |
| 34 | +++ extraMakeFlags |
0 commit comments