caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] ocamlbuild 0.9.3
@ 2016-10-27 15:04 Gabriel Scherer
  0 siblings, 0 replies; only message in thread
From: Gabriel Scherer @ 2016-10-27 15:04 UTC (permalink / raw)
  To: caml users

Hi caml-list,

## ocamlbuild 0.9.3

ocamlbuild 0.9.3 is a minor release that introduces several features
contributed or requested by users.

- #39: new ".o -> .clib" rule to build libraries out of single C stubs
  (Gabriel Scherer, request by whitequark)

- #78: Integrate the in-progress OCamlbuild manual, previously located at
    https://github.com/gasche/manual-ocamlbuild
  into the ocamlbuild repository, in the manual/ subdirectory.
  The most current version of the manual can thus be accessed at
    https://github.com/ocaml/ocamlbuild/tree/master/manual/manual.adoc
  (Gabriel Scherer)

- #93: added "noassert" and "unsafe" flag for corresponding ocaml{c,opt} options
  (François Pottier)

- #94: added "cc", "cclib", and "ccopt" flags which correspond to the
  respective ocaml{c,opt} options
  (Rudi Grinberg)

- PR#7295: add infer_interface support for various type-checking-time flags:
    color, keep_docs, no_alias_deps, nolabels, nopervasives, open,
    strict_formats, strict_sequence, warn, warn_error
  (Gabriel Scherer, report by Knuth Posern)


## Development and stuff

I haven't been able to devote a lot of personal time to ocamlbuild
hacking in the last year, which means that there has been no new
ambitious features in sight (not that there are any very specific
plans on that front) and that some bugs that have been reported are
still open for kind external contributors to propose a fix for (feel
free to have a look at the bugtracker at
https://github.com/ocaml/ocamlbuild/issues ). On the other hand,
quick-to-fix issues and clean external patches get merged rather
quickly.

They have been several interesting ocamlbuild-related active projects
lately, which you may be interested in, in no particular order:

- Namespaces, from Anton Bachin, is an Ocamlbuild plugin that turns
directories in your source tree into scoped OCaml modules.
  https://github.com/aantron/namespaces
  ("Namespaces" is a very overladed word, this work is about turning
filesystem directory structure into logical module path structure; if
you are looking for other kinds of namespace work within the OCaml
community, you may enjoy some old defunct proposal at
http://gallium.inria.fr/blog/namespace-archeology/ )

- Sylvain Le Gall recently added omake support to OASIS. If the only
reason you put up with ocamlbuild is because you are an OASIS user,
you may want to have a look at omake, a project that used to be
sleeping but is now maintained by Gerd Stolpmann
  https://github.com/ocaml-omake/omake
  http://projects.camlcity.org/projects/omake.html

- Solvuu-build, from Ashish Agarwal, is a build system, currently
implemented on top of ocamlbuild, that innovates on two separate
front. First, it allows you to describe your build-system logic
entirely within a single ocaml file (ocamlbuild's information tends to
be more spread out with _tags, myocamlbuild.ml, foo.mllib files etc.).
Second, it is not only a build system as it also does project
scaffolding by generating a .merlin file, and a foo.install file for
OPAM. I would be very happy to have the "pure OCaml-level API" part at
least merged into ocamlbuild proper, giving an alternative way for
users to specify their build, but that requires some non-trivial
changes to the ocamlbuild codebase that nobody volunteered to
implement yet.

- The (over-)consonantly named ocb-stubblr plugin from David Kaloper
brings more advanced logic to build C stubs, for example using
pkg-config. (It claims to be only 10 lines of code, but it's actually
more than 200). It is not the first ruleset to provide in this space (
one may remember ocamlbuild-ctools from
http://dvide.com/labs/ocamlbuild-ctools/ ), but to my knowledge it is
the first to be distributed as a reusable ocamlbuild plugin library
(plugin library support was only introduced in OCaml 4.01 in 2013).
  https://github.com/pqwy/ocb-stubblr

There is a fair amount of experimentation around ocamlbuild plugins,
but so far relatively few of their authors have tried to contribute
reusable bits and pieces upstream. Contributions, from plugin authors
or interested bystanders, are warmly welcome.

Cheers

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-10-27 15:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-27 15:04 [Caml-list] [ANN] ocamlbuild 0.9.3 Gabriel Scherer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).