From: Aleksey Nogin <nogin@metaprl.org>
To: Caml List <caml-list@inria.fr>
Subject: Announcing OMake 0.9.8
Date: Mon, 11 Dec 2006 21:08:24 -0800 [thread overview]
Message-ID: <457E3948.5030107@metaprl.org> (raw)
We are proud to announce the latest release of the OMake Build System -
OMake version 0.9.8.
OMake is a build system designed for scalability and portability. It
uses a syntax similar to make utilities you may have used, but it
features many additional enhancements, including the following.
- Support for projects spanning several directories or directory
hierarchies.
- Fast, reliable, automated, scriptable dependency analysis using MD5
digests, with full support for incremental builds.
- Fully scriptable, includes a library that providing support for
standard tasks in C, C++, OCaml, and LaTeX projects, or a mixture
thereof.
Often, a configuration file is as simple as a single line
.DEFAULT: $(OCamlProgram prog, foo bar baz)
which states that the program "prog" is built from the files foo.ml,
bar.ml, and baz.ml. This one line will also invoke the default
standard library scripts for discovering implicit dependencies in
OCaml files.
- Full native support for rules that build several files at once.
- Portability: omake provides a uniform interface on Linux/Unix
(including 64-bit architectures), Win32, Cygwin, Mac OS X, and other
platforms that are supported by OCaml.
- Built-in functions that provide the most common features of programs
like grep, sed, find, and awk. These are especially useful on Win32.
- Active filesystem monitoring, where the build automatically restarts
whenever you modify a source file. This can be very useful during
the edit/compile cycle.
- A built-in command-interpreter osh that can be used interactively.
OMake preserves the style of syntax and rule definitions used in
Makefiles, making it easy to port your project to OMake. There is no
need to code in Perl (cons), or Python (scons). However, there are a few
things to keep in mind:
1. Indentation is significant, but tabs are not required.
2. The OMake language is functional: functions are first-class and
there are no side-effects apart from I/O.
3. Scoping is dynamic.
OMake is licensed under a mixture of the GNU GPL license (OMake engine
itself) and the MIT-like license (default configuration files).
OMake version 0.9.8 in major feature enhancements and bugfixes release.
The changes in this version include:
- The conversion from OMake expressions to shell command lines went
through a major redesign to make it more consistent and less
ad-hoc.
- OMake documentation was significantly reorganized.
- OCaml build rules: Added experimental improved dependency scanner
using the upcoming "ocamldep -modules" feature; added support for
the Menhir parser-generator.
- Added a number of new options to control OMake's output and
verbosity; OMake is now more silent by default.
- Many more improvements and bug fixes.
For a more verbose change log, please visit
http://omake.metaprl.org/changelog.html#0.9.8 .
Source and binary packages of OMake 0.9.8 may be downloaded from
http://omake.metaprl.org/download.html . In addition, OMake
may be obtained via the GODI packaging system.
To try it out, run the command "omake --install" in a project directory,
and modify the generated OMakefile.
OMake 0.9.8 is still an alpha release. While we have made an effort
to ensure that it is bug-free, it is possible some functions may not
behave as you would expect. Please report any comments and/or bugs to
the mailing list omake@metaprl.org and/or at http://bugzilla.metaprl.org/
reply other threads:[~2006-12-12 8:27 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=457E3948.5030107@metaprl.org \
--to=nogin@metaprl.org \
--cc=caml-list@inria.fr \
--cc=omake@metaprl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox