8000 Add dune install of cilly by sim642 · Pull Request #102 · goblint/cil · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add dune install of cilly #102

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions bin/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
(install
(section bin)
(files
cilly
cilly.native))

(rule
(alias cilly)
(action (copy ../src/main.exe cilly.native)))
31 changes: 31 additions & 0 deletions dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
(rule
(alias configure)
(deps
configure.ac
configure
Makefile.in
config.sub
config.guess
config.h.in
config.mk.in
stamp-h.in
install-sh
lib/perl5/App/Cilly/CilConfig.pm.in
(source_tree src)) ; src/cil.mli doesn't work
(targets
Makefile
config.status
config.h
config.mk
stamp-h
; HACK: workaround for https://github.com/ocaml/dune/issues/3374
src__machdep-ml.c
src__cilversion.ml
lib__perl5__App__Cilly__CilConfig.pm)
(action (progn
(run ./configure)
; HACK: workaround for https://github.com/ocaml/dune/issues/3374
; HACK: use "run cp" instead of "copy" to avoid implicit unsupported subdir deps
(run cp src/machdep-ml.c src__machdep-ml.c)
(run cp src/cilversion.ml src__cilversion.ml)
(run cp lib/perl5/App/Cilly/CilConfig.pm lib__perl5__App__Cilly__CilConfig.pm))))
2 changes: 2 additions & 0 deletions lib/perl5/App/Cilly/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
; HACK: workaround for https://github.com/ocaml/dune/issues/3374
(rule (action (copy ../../../../lib__perl5__App__Cilly__CilConfig.pm CilConfig.pm)))
18 changes: 18 additions & 0 deletions lib/perl5/App/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
(rule
(alias cilly)
(deps (alias ../../../configure) Cilly.pm.in)
(targets Cilly.pm)
(locks ../../../make)
(action (chdir ../../.. (progn
(run mkdir -p _build)
(run make lib/perl5/App/Cilly.pm)))))

(install
(section lib_root)
(files
(Cilly.pm as perl5/App/Cilly.pm)
(Cilly/CilCompiler.pm as perl5/App/Cilly/CilCompiler.pm)
(Cilly/CilConfig.pm as perl5/App/Cilly/CilConfig.pm)
(Cilly/KeptFile.pm as perl5/App/Cilly/KeptFile.pm)
(Cilly/OutputFile.pm as perl5/App/Cilly/OutputFile.pm)
(Cilly/TempFile.pm as perl5/App/Cilly/TempFile.pm)))
41 changes: 15 additions & 26 deletions src/dune
Original file line number Diff line number Diff line change
Expand Up @@ -8,39 +8,28 @@
(modules (:standard \ main))
)

(rule
(targets machdep.ml cilversion.ml)
(deps ../configure.ac ../Makefile.in ../install-sh ../config.sub ../config.guess ../config.h.in ../stamp-h.in cil.mli machdep-ml.c.in cilversion.ml.in)
(action (chdir .. (progn (run ./configure) (run make machdep) (run cp _build/machdep.ml src))))
)
; HACK: workaround for https://github.com/ocaml/dune/issues/3374
(rule (action (copy ../src__machdep-ml.c machdep-ml.c)))
(rule (action (copy ../src__cilversion.ml cilversion.ml)))

(rule
(deps (package goblint-cil) ../src/main.exe (source_tree ../lib/perl5/App/Cilly) (source_tree ../test) ../bin/cilly ../configure.ac ../Makefile.in ../install-sh ../config.sub ../config.guess ../lib/perl5/App/Cilly.pm.in ../lib/perl5/Makefile.PL ../config.h.in ../stamp-h.in cil.mli machdep-ml.c.in cilversion.ml.in ../config.mk.in)
(action (chdir .. (progn
(run ./configure)
(run make machdep)
(run make lib/perl5/App/Cilly.pm)
(chdir lib/perl5 (progn
(run perl Makefile.PL)
(run make)
))
(run cp src/main.exe bin/cilly.native)
(bash "mkdir -p share/cil && echo $(cd ../install/default/lib; pwd) > share/cil/ocamlpath")
(run make test)
)))
(alias runtest)
)
(alias machdep)
(deps (alias ../configure) machdep-ml.c)
(targets machdep.ml)
(locks ../make)
(action (chdir .. (progn
(run make machdep)
(run cp _build/machdep.ml src)))))

(ocamllex formatlex)
(ocamlyacc formatparse)

(executable
(public_name main)
(modes exe)
(modules main)
(libraries goblint-cil)
(link_flags (-linkall))
)
(name main)
(modules main)
(modes native)
(libraries goblint-cil)
(flags :standard -linkall))

(env
(dev
Expand Down
5 changes: 5 additions & 0 deletions test/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
(rule
(alias runtest)
(deps (alias_rec ../cilly) (package goblint-cil) (source_tree .))
(locks ../make)
(action (chdir .. (run make test))))
0