40 lines
874 B
Nix
40 lines
874 B
Nix
{ stdenv
|
|
, lib
|
|
, fetchFromGitHub
|
|
, cmake
|
|
, llvmPackages_9
|
|
, clang_9
|
|
, z3
|
|
, stp
|
|
, cryptominisat
|
|
, gperftools
|
|
, sqlite
|
|
, gtest
|
|
, lit
|
|
, debug ? false
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "klee";
|
|
version = "2.2";
|
|
src = fetchFromGitHub {
|
|
owner = "klee";
|
|
repo = "klee";
|
|
rev = "v${version}";
|
|
sha256 = "Ar3BKfADjJvvP0dI9+x/l3RDs8ncx4jmO7ol4MgOr4M=";
|
|
};
|
|
buildInputs = [ llvmPackages_9.llvm clang_9 z3 stp cryptominisat gperftools sqlite ];
|
|
nativeBuildInputs = [ cmake gtest lit ];
|
|
cmakeFlags = [
|
|
"-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
|
|
"-DKLEE_RUNTIME_BUILD_TYPE=${if debug then "Debug" else "Release"}"
|
|
"-DENABLE_UNIT_TESTS=ON"
|
|
"-DGTEST_SRC_DIR=${gtest.src}"
|
|
"-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include"
|
|
"-DENABLE_POSIX_RUNTIME=ON"
|
|
];
|
|
/*testPhase = ''
|
|
make systemtests unittests
|
|
'';*/
|
|
}
|