[Scons-users] Mixing VariantDirs with "in-tree" build

pasdVn pasdVn3 at gmx.de
Tue Jan 29 02:30:40 EST 2019


Thanks for your quick reply!

I thought that SCons is looking up a node via srcnode() and thus in the original location, if it is not found in the current variant dir, but obviously this is not the case here, because A/B/foo is a generate file (i.e. a target), right?


Am 29. Januar 2019 00:51:33 MEZ schrieb Bill Deegan <bill at baddogconsulting.com>:
>See below
>
>On Mon, Jan 28, 2019 at 12:33 PM Tobias Herzog <pasdVn3 at gmx.de> wrote:
>
>> Hi scons users,
>>
>> consider the following demo project:
>>
>> +-SConsctuct
>> +-A
>>   +-SConscript
>>   +-B
>>     +-SConscript
>>     +-foo.src
>>
>>
>> With SConstruct:
>>         SConscript('A/B/SConscript')
>>         SConscript('A/SConscript', variant_dir='build', duplicate=0)
>>
>> A/SConscript:
>>         Command(source='B/foo',
>>                 target='bar',
>>                 action='cat $SOURCE > $TARGET')
>> A/B/SConscript:
>>         Command(target='foo',
>>                 source='foo.src',
>>                 action='cat $SOURCE > $TARGET')
>>
>>
>> No I do:
>> > scons -Q --tree=all build/bar
>> scons: *** [build/bar] Source `A/B/foo' not found, needed by target
>> `build/bar'.
>> +-build/bar
>>   +-A/B/foo
>>   +-/bin/cat
>>
>> and
>> >scons -Q --tree=all A/B/foo
>> cat A/B/foo.src > A/B/foo
>> +-A/B/foo
>>   +-A/B/foo.src
>>   +-/bin/cat
>>
>>
>> I know that this is a quite strage project setup, but nevertheless I
>> would expect scons to detect the depencies correct. Is this a bug, or
>> am I missing something?
>>
>
>You're missing something.
>By saying:
>
>SConscript('A/SConscript', variant_dir='build', duplicate=0)
>
>This is the same as:
>VariantDir('build','A', duplicate=0)
>SConscript('build/SConscript')
>
>So when you're asking for B/foo from that SConscript, you're actually
>asking for build/B/foo.
>If you changed it to "#/A/B/foo" it would work, or "../A/B/foo"
>
>
>
>> If I Return/Export the foo-node and use it in the Command in
>> A/SConscript it works as intended.
>>
>>
>> Thanks,
>> Tobias
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20190129/97210eac/attachment-0001.html>


More information about the Scons-users mailing list