Setting a developer mode and its implication

This commit is contained in:
Sandra 2020-10-07 11:53:47 +02:00
parent 8f65030161
commit ec555e59e7
3 changed files with 29 additions and 10 deletions

16
NOISE
View File

@ -108,3 +108,19 @@ ABSTRACT
Do not use to ensure reproducibility. Do not use to ensure reproducibility.
/* vim: set ts=2 sw=2 tw=72 fo=watqc expandtab spell autoindent: */ /* vim: set ts=2 sw=2 tw=72 fo=watqc expandtab spell autoindent: */
1.8 Nix compilation environment
When using local repo as src code, (e.g. developer mode on) a make
clean at the preBuild stage is required.
Nix sets the current date to the files copied from repos.
Makefile checks the files modification date in order to call or not
the compilation instructions.
If any object/binary file exists out of Nix, at the time we build
within Nix, they will be copied with the current data and consequently
not updated during the Nix compilation process.
See saiph devMode option and its implications at
bscpkgs/garlic/saiph/default.nix

View File

@ -12,6 +12,7 @@ with stdenv.lib;
let let
# Set variable configuration for the experiment # Set variable configuration for the experiment
varConfig = { varConfig = {
devMode = [ true ];
numComm = [ 1 ]; numComm = [ 1 ];
}; };
@ -148,7 +149,7 @@ let
}); });
in in
customPkgs.bsc.garlic.saiph.override { customPkgs.bsc.garlic.saiph.override {
inherit numComm mpi gitBranch; inherit devMode numComm mpi gitBranch;
}; };
stages = with common; [] stages = with common; []

View File

@ -6,6 +6,7 @@
, cc , cc
, vtk , vtk
, boost , boost
, devMode ? false
, gitBranch ? "master" , gitBranch ? "master"
, numComm ? null , numComm ? null
, vectFlags ? null , vectFlags ? null
@ -15,13 +16,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "saiph"; name = "saiph";
src = builtins.fetchGit { src = (if (devMode == true) then ~/repos/saiph
url = "ssh://git@bscpm02.bsc.es/DSLs/saiph.git"; else
ref = "${gitBranch}"; builtins.fetchGit {
}; url = "ssh://git@bscpm02.bsc.es/DSLs/saiph.git";
ref = "${gitBranch}";
});
#src = /tmp/saiph;
programPath = "/bin/ExHeat3D"; programPath = "/bin/ExHeat3D";
enableParallelBuilding = true; enableParallelBuilding = true;
@ -42,11 +43,12 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "bindnow" ]; hardeningDisable = [ "bindnow" ];
preBuild = '' preBuild = ''
cd saiphv2/cpp/src cd saiphv2/cpp/src
export VTK_VERSION=8.2 export VTK_VERSION=8.2
export VTK_HOME=${vtk} export VTK_HOME=${vtk}
''; ''
+ (if (devMode == true) then "make clean" else "")
;
makeFlags = [ makeFlags = [
"-f" "Makefile.${cc.cc.CC}" "-f" "Makefile.${cc.cc.CC}"