Re: gexace error with conditional options and clusters

Eric Bezault <ericb-D6Qt/9opevxWk0Htik3J/[email protected]> Mon, 12 May 2008 23:45:28 +0200
Newsgroups gmane.comp.lang.eiffel.gobo.general
Message-ID <[email protected]>
Brian Heilig wrote:
> Hi again,
> 
> I have the following environment variable GOBO_OS=unix defined in
> /etc/profile. In one of my xace files I have some conditional lines,
> for example:
> 
> <option name="header" value="${SECOM}/library/posix/c"
> if="${GOBO_OS}=unix"/>
> 
> These don't make it into the compile_ge.xace file unless I remove the
> conditional. What's going on?
> 
> I vaguely remember this issue, so I'm sorry if this has already been
> covered. I think it's something I'm doing wrong, but don't remember
> what the fix is.

I think that environment variables are not interpreted in Xace files.
You should pass these variables using the command-line option --define.
You can see how it's done in $GOBO/misc/eiffel.eant, line 260. Looking
at it, I now wonder whether $GOBO_OS is set internally (and hence
overriding your definition). Indeed, it seems to be done in feature
`Default_builtin_variables' of class GEANT_SHARED_PROPERTIES
(in $GOBO/src/geant). But it should be set to "unix", so I don't
know why it does not work for you.

-- 
Eric Bezault
mailto:ericb-D6Qt/9opevxWk0Htik3J/[email protected]
http://www.gobosoft.com