[Scons-users] Problem with custom builder
Michael Pock
mhp77 at gmx.at
Mon Jul 29 02:01:51 EDT 2013
On 26/07/13 23:36, Dirk Bächle wrote:
> Hi Michael,
>
> it seems as if you're almost there.
>
> On 26.07.2013 22:52, Michael Pock wrote:
>> Hi,
>>
>> I'd like to implement a builder that takes source directories dir.a,
>> dir.b and dir.c, and pipes their contents to target files dir.a.list,
>> dir.b.list and dir.c.list. I've already tried the following:
>>
>> env = Environment()
>>
>> env["BUILDERS"]["List"] = Builder(action="ls ${SOURCE} >${TARGET}",
>> suffix="list" ,
>> source_factory=Dir ,
>> single_source=True )
>>
>> env.List(["dir.a", "dir.b", "dir.c"])
>>
>> Unfortunately, this doesn't work since the directory suffix is
>> stripped when computing the target filename. Hence, the target
>> filename is dir.list for all source directories dir.a, dir.b and dir.c.
>>
>> I hoped that passing source_suffix=None or source_suffix="" to the
>> Builder function would solve my problem. But these options seem to
>> make no difference.
>
> Please try
>
> suffix=".list"
>
> instead, and the correct name for the other parameter is "src_suffix".
> You can find some more info about this in the MAN page (section
> "Examples"/"Defining Your Own Builder Object").
>
> Does this help already?
>
> Best regards,
>
> Dirk
Hi Dirk,
thanks for your reply. I tried out your suggestions, but, unfortunately,
SCons still terminates with the error message
scons: *** Multiple ways to build the same target were specified for:
dir.list (from ['dir.a'] and from ['dir.b'])
It seems there is no way to prevent SCons from stripping source filename
suffixes when computing target filenames.
Best regards,
Michael
More information about the Scons-users
mailing list