Browse thread
ocamlbuild is VERY nifty
- Joel Reymont
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Joel Reymont <joelr1@g...> |
| Subject: | ocamlbuild is VERY nifty |
I asked around before settling on a build system since I'm new to
OCaml. I looked at OMake, OCamlMakefile and found them complex and
confusing. Then William Neuman pointed me to ocamlbuild and Nicolas
Pouillard helped me hook it up to external libraries via a plugin.
Deep into my first project I confirm that ocamlbuild is VERY nifty. I
can automatically rebuild when any parts of my project change and
then run my unit tests.
All I need to do is:
ocamlbuild test.byte --
*** my project ***
189 easy.mli
282 easy_lexer.mll
420 easy_parser.mly
17 myocamlbuild.ml
14 parser_util.ml
30 symtab.ml
8 test.ml
284 parser_test.ml
1355 total
*** test.ml ***
open OUnit
let suite = "Morpher" >:::
[Parser_test.suite]
let _ =
run_test_tt_main suite
*** myocamlbuild.ml ***
open Ocamlbuild_plugin;;
open Command;;
let packages = "ounit" (* "pkg1,pkg2,..." *);;
let ocamlfind cmd =
S[A"ocamlfind"; A cmd; A"-package"; A packages];;
flag ["ocaml"; "link"] (A"-linkpkg");;
dispatch begin function
| After_options ->
Options.ocamlc := ocamlfind "ocamlc";
Options.ocamlopt := ocamlfind "ocamlopt";
| _ -> ()
end
--
http://wagerlabs.com/