diff --git a/nix/frama-c.nix b/nix/frama-c.nix index eae9bed8d6fa5656f5e52b05dbf96f2ae0c84234..4703f6b739a10dcd31e0b83b3eada8b2b371e3d2 100644 --- a/nix/frama-c.nix +++ b/nix/frama-c.nix @@ -37,7 +37,7 @@ , dos2unix , doxygen , python3 -, do_autoconf ? true +, release_mode ? false }: # We do not use buildDunePackage because Frama-C still uses a Makefile to build @@ -51,9 +51,9 @@ stdenvNoCC.mkDerivation rec { slang = lib.strings.removeSuffix "\n" (builtins.readFile ../VERSION_CODENAME); src = - if do_autoconf - then gitignoreSource ./.. - else ./.. ; + if release_mode + then ./.. + else gitignoreSource ./.. ; nativeBuildInputs = [ autoconf @@ -93,16 +93,18 @@ stdenvNoCC.mkDerivation rec { outputs = [ "out" "build_dir" ]; - preConfigure = (if do_autoconf then "autoconf \n" else "") + '' + preConfigure = (if release_mode then "" else "autoconf \n") + '' patchShebangs src/plugins/value/gen-api.sh chmod +x src/plugins/value/gen-api.sh ''; # Do not use default parallel building, but allow 2 cores for Frama-C build enableParallelBuilding = false; + dune_opt = if release_mode then "--release" else "" ; + buildPhase = '' make config.sed - dune build -j2 --display short @install + dune build -j2 --display short $release_mode @install make ptests/ptests.exe make ptests/wtests.exe ''; diff --git a/nix/pkgs.nix b/nix/pkgs.nix index 8efe95c14a8d20eeee756b25d90515be5fe9f3dc..e220445810373c1165d42a5a4b7d95e0ba552f1d 100644 --- a/nix/pkgs.nix +++ b/nix/pkgs.nix @@ -48,8 +48,8 @@ let git = pkgs.git ; }; src-distrib-tests = oself.callPackage ./src-distrib-tests.nix { - frama-c-no-configure = oself.frama-c.override { - do_autoconf = false ; + frama-c-release = oself.frama-c.override { + release_mode = true ; } ; }; }; diff --git a/nix/src-distrib-tests.nix b/nix/src-distrib-tests.nix index e365ec96434f76f9fc30ce9fff55b5c74c7af59b..c1a52472721dbaded752b7007d2cd94ddef5943d 100644 --- a/nix/src-distrib-tests.nix +++ b/nix/src-distrib-tests.nix @@ -1,7 +1,7 @@ -{ mk_tests, frama-c-no-configure } : +{ mk_tests, frama-c-release } : let mk_tests_distrib = mk_tests.override { - frama-c = frama-c-no-configure ; + frama-c = frama-c-release ; }; in mk_tests_distrib { tests-name = "src-distrib-tests";