--
---
You received this message because you are subscribed to the Google Groups "gyp-developer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gyp-develope...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I don't know if this is actually the case, but my first thought on looking at this is that when GYP reads the files, it's actually just slurping them in as blocks of Python. So, that's a python dict, and therefore the keys in that dict are not actually processed in a particular order, and so relying on foo to be set before baz would be dodgy.The nested dict mechanism thus makes more sense as a workaround - since 'variables' are dealt with before the other keys, it is a way to force ordering of an otherwise unordered thing.
On 5 April 2014 00:28, Dirk Pranke <dpr...@chromium.org> wrote:
I don't know if this is actually the case, but my first thought on looking at this is that when GYP reads the files, it's actually just slurping them in as blocks of Python. So, that's a python dict, and therefore the keys in that dict are not actually processed in a particular order, and so relying on foo to be set before baz would be dodgy.
The nested dict mechanism thus makes more sense as a workaround - since 'variables' are dealt with before the other keys, it is a way to force ordering of an otherwise unordered thing.I don't think ordering within the dict is the issue here. This works equally well:variables: {'foo': 'bar','baz': '<(foo)',}Torne's description of the issue kind of makes sense, but I do not see why it could not easily be fixed by making the variable expansion process look for foo% if it cannot find foo.