Create kernel sccache dir in wrappers
This commit is contained in:
parent
5d957231ba
commit
a612e5f447
1 changed files with 11 additions and 10 deletions
|
|
@ -73,11 +73,17 @@ let
|
|||
dir = "${sccacheDir}"
|
||||
size = "100G"
|
||||
'';
|
||||
sccacheSetup = lib.optionalString enforceSccache ''
|
||||
mkdir -p ${lib.escapeShellArg sccacheDir}
|
||||
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
|
||||
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
|
||||
'';
|
||||
|
||||
mkSccacheWrapper =
|
||||
name: compiler:
|
||||
pkgs.writeShellScriptBin name ''
|
||||
set -euo pipefail
|
||||
mkdir -p ${lib.escapeShellArg sccacheDir}
|
||||
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
|
||||
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
|
||||
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then
|
||||
|
|
@ -91,6 +97,7 @@ let
|
|||
hostcxxSccache = mkSccacheWrapper "c++" realHostCXX;
|
||||
rustcSccache = pkgs.writeShellScriptBin "rustc" ''
|
||||
set -euo pipefail
|
||||
mkdir -p ${lib.escapeShellArg sccacheDir}
|
||||
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
|
||||
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
|
||||
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then
|
||||
|
|
@ -101,6 +108,7 @@ let
|
|||
|
||||
hostrustcSccache = pkgs.writeShellScriptBin "rustc" ''
|
||||
set -euo pipefail
|
||||
mkdir -p ${lib.escapeShellArg sccacheDir}
|
||||
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
|
||||
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
|
||||
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then
|
||||
|
|
@ -152,21 +160,14 @@ buildLinux (
|
|||
]
|
||||
;
|
||||
|
||||
preBuild =
|
||||
(args.preBuild or "")
|
||||
+ lib.optionalString enforceSccache ''
|
||||
mkdir -p ${lib.escapeShellArg sccacheDir}
|
||||
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
|
||||
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
|
||||
'';
|
||||
preConfigure = (args.preConfigure or "") + sccacheSetup;
|
||||
|
||||
preBuild = (args.preBuild or "") + sccacheSetup;
|
||||
|
||||
buildPhase =
|
||||
if enforceSccache then
|
||||
''
|
||||
runHook preBuild
|
||||
mkdir -p ${lib.escapeShellArg sccacheDir}
|
||||
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
|
||||
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
|
||||
export SCCACHE_ENFORCE_MARKER="$NIX_BUILD_TOP/.sccache-used"
|
||||
rm -f "$SCCACHE_ENFORCE_MARKER"
|
||||
make "''${makeFlags[@]}" "''${buildFlags[@]}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue