/
dune
53 lines (47 loc) · 1.3 KB
/
dune
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
(library
(name binaryen_native)
(public_name binaryen.native)
(implements binaryen)
(foreign_stubs
(language c)
(names binaryen_stubs_types binaryen_stubs_ops binaryen_stubs_literals
binaryen_stubs_expressions binaryen_stubs_functions
binaryen_stubs_imports binaryen_stubs_exports binaryen_stubs_globals
binaryen_stubs_function_tables binaryen_stubs_tables
binaryen_stubs_memory binaryen_stubs_features binaryen_stubs_modules
ocaml_helpers)
(flags -O2 -Wall -Wextra))
(foreign_archives binaryen)
(library_flags
(:include ./config/library_flags.sexp))
(c_library_flags -lstdc++ -lpthread))
(rule
(target binaryen-c.h)
(action
(copy ../vendor/binaryen-c.h binaryen-c.h)))
(rule
(target wasm-delegations.h)
(action
(copy ../vendor/wasm-delegations.h wasm-delegations.h)))
(rule
(target libbinaryen.a)
(action
(copy ../vendor/%{system}/libbinaryen.a libbinaryen.a)))
(rule
(target dllbinaryen.so)
(enabled_if
(= %{system} macosx))
(action
(copy ../vendor/%{system}/libbinaryen.dylib dllbinaryen.so)))
(rule
(target dllbinaryen.so)
(enabled_if
(= %{system} linux))
(action
(copy ../vendor/%{system}/libbinaryen.so dllbinaryen.so)))
(rule
(target dllbinaryen.dll)
(enabled_if
(= %{system} mingw64))
(action
(copy ../vendor/%{system}/libbinaryen.dll dllbinaryen.dll)))