file dbAsyn_init.template
{
pattern
{P , R, GROUP, NAME, DLY }
{\$(P),\$(R), reg_data, IN0PD , "2" }
{\$(P),\$(R), reg_data, IN1PD , "2" }
{\$(P),\$(R), reg_data, IN2PD , "2" }
{\$(P),\$(R), reg_data, IN3PD , "2" }
{\$(P),\$(R), reg_data, IF_SLEEP , "2" }
"It works for me" ... as they say.
Ned
------------------------------------------------------------------------
*From: *"Andrew Johnson" <[email protected]>
*To: *[email protected]
*Sent: *Friday, September 2, 2011 3:01:45 PM
*Subject: *Re: how can I prevent MSI from expanding just some macros?
Hi Till,
On 2011-09-02 Till Straumann wrote:
> I process a bunch of templates with MSI but would like the final
> .db file to still contain macros which are to defined when the
> .db file is loaded. Of course, this works for macros without
> a definition but I'd like to prevent MSI from expanding a macro
> that gives a default value:
>
> $(dont_expand=my_default)
>
> Is there a way to prevent MSI from expanding this?
The obvious way is to use something other than MSI to do this particular
expansion, but I expect it's possible to do it using MSI somehow.
Maybe instead of spelling them like you do above, you would spell those
macros
like this:
$(dont_expand$(equals)my_default)
When you run MSI it will convert that string to this:
$(dont_expand$(equals,undefined)my_default,undefined)
But that's Ok and still legal. When you're finally ready to expand the
dont_expand variable you also set equals='=' and you'll get this as a
partial
result:
$(dont_expand=my_default,undefined)
which should then properly expand the dont_expand variable and or set it to
my_default if it's not defined.
Not tested, and probably rather brittle...
- Andrew
--
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham