From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 29F49BCAE for ; Mon, 18 Jul 2005 06:46:32 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6I4kV3k028564 for ; Mon, 18 Jul 2005 06:46:31 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id GAA23380 for ; Mon, 18 Jul 2005 06:46:30 +0200 (MET DST) Received: from swordfish.cs.caltech.edu (swordfish.cs.caltech.edu [131.215.44.124]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6I4kTTu028538 for ; Mon, 18 Jul 2005 06:46:30 +0200 Received: from [192.168.1.103] (charter-242-029.caltech.edu [131.215.242.29]) by swordfish.cs.caltech.edu (Postfix) with ESMTP id 09DC9DF290; Sun, 17 Jul 2005 21:46:27 -0700 (PDT) Message-ID: <42DB3422.6080909@cs.caltech.edu> Date: Sun, 17 Jul 2005 21:46:26 -0700 From: Aleksey Nogin Reply-To: omake@metaprl.org, Caml List Organization: California Institute of Technology, Computer Science Department User-Agent: Mozilla Thunderbird 1.0.2-1.3.3 (X11/20050513) X-Accept-Language: en-us, en MIME-Version: 1.0 To: godi-list@ocaml-programming.de, Caml List Subject: Announcing OMake 0.9.6 X-Enigmail-Version: 0.89.5.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 42DB3427.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 42DB3425.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 foo:01 baz:01 foo:01 baz:01 osx:01 sed:01 osh:01 syntax:01 makefiles:01 gpl:01 bug:01 dependencies:01 computed:01 lexer:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: 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