From: Aleksey Nogin <nogin@cs.caltech.edu>
To: godi-list@ocaml-programming.de, Caml List <caml-list@inria.fr>
Subject: Announcing OMake 0.9.6
Date: Sun, 17 Jul 2005 21:46:26 -0700 [thread overview]
Message-ID: <42DB3422.6080909@cs.caltech.edu> (raw)
We are proud to announce the latest release of the OMake Build System -
OMake version 0.9.6.
OMake is a build system, similar to GNU make, but with many additional
features. The home site for OMake is http://omake.metaprl.org/ . OMake
features include:
o Support for projects spanning several directories or directory
hierarchies.
o Comes with a default configuration file providing support for
OCaml, C and LaTeX projects, or a mixture thereof.
Often, a configuration file is as simple as a single line
OCamlProgram(prog, foo bar baz)
which states that the program "prog" is built from the files
foo.ml, bar.ml, and baz.ml.
o Fast, reliable, automated, scriptable dependency analysis using
MD5 digests.
o Portability: omake provides a uniform interface on Win32 and
on Unix systems including Linux and OSX.
o Builtin functions that provide the most common features of programs
like grep, sed, and awk. These are especially useful on Win32.
o Full native support for rules that build several files at once.
o Active filesystem monitoring, where the build automatically
restarts whenever you modify a source file. This can be very
useful during the edit/compile cycle.
o A companion 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.6 features a large number of major improvements and
bug fixes, including:
- Added "static" sections that are evaluated once (useful for
configure-style scripts).
- Added :value: dependencies, where a target depends on a computed
value, rather than a file.
- Changed the meaning of the .SCANNER rules. .SCANNER rules
are now much more similar to normal rules.
- Added file locking for the .omakedb and .omc files.
- Fixed issues where files were being expanded during the
string->array conversion.
- Rule execution now fails when any shell command fails, even those in
nested sections.
- Regular expressions now handle \(...\) arguments correctly. Also,
the lexer has better performance, searching is now roughly linear
time.
- Added .SUBDIRS bodies, which can be used instead of the OMakefile
in a subdirectory.
- Added the vmount function to define a "virtual mount" of one
directory over another.
- Better accessibility of the build rules and dependencies from OMake
scripts.
- Improved the latex-related rules.
- The Map object is completely changed.
- Other bug fixes and improvements.
For a more verbose change log, please visit
http://omake.metaprl.org/changelog.html#0.9.6 .
Source and binary packages of OMake 0.9.6 may be downloaded from
http://omake.metaprl.org/download.html . In addition, OMake may be
obtained via the GODI packaging system (3.08, 3.07 and "dev" branches).
To try it out, run the command "omake --install" in a project directory,
and modify the generated OMakefile.
OMake 0.9.6 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/
--
Aleksey Nogin
Home Page: http://nogin.org/
E-Mail: nogin@cs.caltech.edu (office), aleksey@nogin.org (personal)
Office: Moore 04, tel: (626) 395-2200
reply other threads:[~2005-07-18 4:46 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=42DB3422.6080909@cs.caltech.edu \
--to=nogin@cs.caltech.edu \
--cc=caml-list@inria.fr \
--cc=godi-list@ocaml-programming.de \
--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