Skip to content

Commit

Permalink
Merge pull request #102 from goblint/cilly-install
Browse files Browse the repository at this point in the history
Add dune install of cilly
  • Loading branch information
sim642 authored Jun 25, 2022
2 parents 9118601 + d613399 commit d97d926
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 26 deletions.
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 comments on commit d97d926

Please # to comment.