-
Notifications
You must be signed in to change notification settings - Fork 116
/
Copy pathbarretenberg-wasm.nix
38 lines (33 loc) · 1.04 KB
/
barretenberg-wasm.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{ stdenv, cmake, ninja, binaryen, callPackage }:
let
toolchain_file = ./cpp/cmake/toolchains/wasm32-wasi.cmake;
wasi-sdk = callPackage ./wasi-sdk.nix { };
in
stdenv.mkDerivation
{
pname = "barretenberg.wasm";
version = "0.4.5"; # x-release-please-version
src = ./cpp;
nativeBuildInputs = [ cmake ninja wasi-sdk ];
buildInputs = [ ];
cmakeFlags = [
"-GNinja"
"-DTESTING=OFF"
"-DBENCHMARKS=OFF"
"-DCMAKE_TOOLCHAIN_FILE=${toolchain_file}"
"-DCMAKE_C_COMPILER=${wasi-sdk}/bin/clang"
"-DCMAKE_CXX_COMPILER=${wasi-sdk}/bin/clang++"
"-DCMAKE_AR=${wasi-sdk}/bin/llvm-ar"
"-DCMAKE_RANLIB=${wasi-sdk}/bin/llvm-ranlib"
"-DCMAKE_SYSROOT=${wasi-sdk}/share/wasi-sysroot"
"-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER"
"-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY"
"-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY"
"-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY"
"-DCMAKE_C_COMPILER_WORKS=ON"
"-DCMAKE_CXX_COMPILER_WORKS=ON"
];
buildPhase = ''
cmake --build . --target barretenberg.wasm --parallel
'';
}