* Announcing OMake 0.9.6
@ 2005-07-18 4:46 Aleksey Nogin
0 siblings, 0 replies; only message in thread
From: Aleksey Nogin @ 2005-07-18 4:46 UTC (permalink / raw)
To: godi-list, Caml List
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-07-18 4:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-18 4:46 Announcing OMake 0.9.6 Aleksey Nogin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox