[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