ligo/lib_embedded_protocol_demo/jbuild
Grégoire Henry 9cb498eee6 Jbuilder: Move alpha/genesis/demo in their own two OPAM packages
One package for the embedded version. One for the functorized one.
2017-12-04 16:05:54 +01:00

41 lines
1.3 KiB
Plaintext

(jbuild_version 1)
;; Build a functorized version of the protocol with the `tezos-protocol-compiler`
;; This is bit hackish...
;;
;; AFAIK the current version of jbuilder (1.0+beta16) does not allow to compile
;; with a custom `rule` the `(modules)` of a library.
;;
;; A trick is to provide the `.cmx` through the `(library_flags)` and to generate
;; a empty `.ml` to correctly handle the dependencies...
(rule
((targets (tezos_protocol_demo.o
tezos_protocol_demo.cmx
tezos_protocol_demo.cmi
tezos_protocol_demo_dummy.ml))
(deps ((glob_files src/*.ml)
(glob_files src/*.mli)
src/TEZOS_PROTOCOL))
(action (with-stdout-to ${path-no-dep:tezos_protocol_demo_dummy.ml}
(chdir ${ROOT}
(run ${bin:tezos-protocol-compiler} -static ${path-no-dep:tezos_protocol_demo} ${path-no-dep:src}))))))
(library
((name tezos_protocol_demo)
(public_name tezos-protocol-demo)
(library_flags (:standard -linkall
lib_embedded_protocol_demo/tezos_protocol_demo.cmx))
(wrapped false)
(modes (native))
(modules (Tezos_protocol_demo_dummy))))
(alias
((name runtest_sandbox)
(deps (tezos_protocol_demo.cmx))))
(alias
((name runtest_indent)
(deps ((glob_files src/*.ml) (glob_files src/*.mli)))
(action (run bash ${libexec:tezos-stdlib:test-ocp-indent.sh} ${<}))))