|
|
|
|
|
by rwmj
3875 days ago
|
|
I'll tell you how we do these things in the libguestfs/virt-tools project [1]. The project is written in a mix of C, Perl and OCaml. Mainly C is used for the low-level/library bits, and OCaml is used for the higher-level tools. - QA: We have some unit tests, but mainly we use a huge test suite that does end to end testing of tools. It uses automake's test framework, so it works across all the languages in the project. - Builds and releases: We use autotools and tarballs. It's automated using a thing called 'goaljobs' which is like a generalized make. - The pain points for us all derive from autotools itself, which is both crap and better than all the other build systems[2]. It is at least well understood. I'd also say the killer advantages of OCaml for me are: Easy calling into C, and compiles to a native binary. [1] http://libguestfs.org https://github.com/libguestfs/libguestfs [2] I use the term "build system" in a rather narrow sense of something that (a) runs on Linux (b) lets the end user download a tarball and (c) builds using ./configure && make |
|
> I'd also say the killer advantages of OCaml for me are: Easy calling into C, and compiles to a native binary.
Very true. And Ocamlbuild makes wonders.