[Omake] building omake

Aleksey Nogin nogin at metaprl.org
Wed Jul 1 13:24:35 PDT 2009


On 01.07.2009 12:20, Sam Steingold wrote:

> ok, I built 0.9.8.x.
> now, it looks sufficiently different from 0.9.8.5 to break our OMakeroot.
> what is the upgrade path?
> where are the changes described?

Sam,

For now the only source of documentation for the changes is the SVN
changelog :-(. The two biggest language-level changes are the
introduction of curried functions/partial applications and keyword
(optional) function arguments.

> # Capture a set of variables [vars] in the environment named [env_name]
> # for targets [tgts] and dependencies [deps].
> Capture_deps(env_name, vars, tgts, deps, scan_deps) =
>    private.env. =
>      vars = $(export $(private.vars))
>      tgts[] = $(private.tgts)
>      scan_deps[] = $(private.scan_deps)
>      deps[] = $(private.deps)
>    setvar($(env_name), $(getvar $(env_name)) $(env))
>    export
> 
> now breaks with
> 
> *** omake error:
>     File OMakeroot: line 188, characters 20-35
>     unbound variable: private.vars

The function arguments are now public. See
http://svn.metaprl.org/viewvc/mojave?view=rev&revision=12512 for detail.

Note that, if I am not mistaken, both 0.9.8.5 and 0.9.8.x should be able
to deduce the appropriate qualifier ("private." in 0.9.8.5 and "public."
in 0.9.8.x), so you can make your code compatible with both by simply
removing them.

Aleksey



More information about the Omake mailing list