30 lines
492 B
Nix
30 lines
492 B
Nix
|
{ stdenv, clang, cclyzerpp }:
|
||
|
|
||
|
stdenv.mkDerivation {
|
||
|
pname = "example";
|
||
|
version = "1.0.0";
|
||
|
|
||
|
src = ./main.c;
|
||
|
|
||
|
dontUnpack = true;
|
||
|
|
||
|
nativeBuildInputs = [ clang cclyzerpp ];
|
||
|
|
||
|
buildPhase = ''
|
||
|
name=`basename ''${src//\.c/}`
|
||
|
|
||
|
clang -c -emit-llvm $src
|
||
|
|
||
|
clang $src -o $name
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/{bin,facts,bitcode}
|
||
|
|
||
|
${cclyzerpp}/bin/factgen-exe $name.bc --out-dir $out/facts
|
||
|
|
||
|
mv $name $out/bin
|
||
|
mv $name.bc $out/bitcode
|
||
|
'';
|
||
|
}
|