Re: matching source and target's behavior between func and cmd actions

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CHhQ4YdfZ0RE61+mwT+VZ5TKyQw=kgsfsnyfrnq9Kv_wQ@mail.gmail.com>
I suggest RTFM.. (read the fine manuals)...
There's a section on site_scons.

On Sun, Jun 21, 2020 at 11:36 PM daggs <[email protected]> wrote:

> I don't know what is the purpose of site_scons/site_init.py, I'll read
> about it and see if it help what I need to do.
>
> Thanks.
>
> *Sent:* Sunday, June 21, 2020 at 10:33 PM
> *From:* "Bill Deegan" <[email protected]>
> *To:* "daggs" <[email protected]>
> *Cc:* "SCons users mailing list" <[email protected]>
> *Subject:* Re: [Scons-users] matching source and target's behavior
> between func and cmd actions
> Re choosing from two env's to use. Just make a function and stick it in
> your site_scons/site_init.py
> Because what you're describing isn't a builder. It may be a pseudo
> builder, or just a python function.. but it's not builder if it needs to
> select from two (or more) env's to use.
>
>
> On Sat, Jun 20, 2020 at 11:13 PM daggs <[email protected]> wrote:
>
>> Thansk, I'll look it.
>>
>> yes, I looked at the manpage but unfortunatelythe manpage's len doesn't
>> *correlate* with my problematic attention span.
>> this results in me missing parts of a doc sometimes. I'll try next time
>> to put more effornt in reading the manpage.
>>
>> Thanks,
>>
>> Dagg.
>>
>> *Sent:* Sunday, June 21, 2020 at 7:44 AM
>> *From:* "Bill Deegan" <[email protected]>
>> *To:* "SCons users mailing list" <[email protected]>
>> *Cc:* "daggs" <[email protected]>
>> *Subject:* Re: [Scons-users] matching source and target's behavior
>> between func and cmd actions
>> Go take a look at :
>> https://scons.org/doc/production/HTML/scons-man.html#builder_objects
>> Search for "generator"
>> Likely that's what you want.
>> Did you take a read through the manpage first?
>> There's lots of useful info there.. :)
>>
>> On Sat, Jun 20, 2020 at 4:05 PM Gary Granger <[email protected]> wrote:
>>
>>> If you want to use different commands or change the string printed when
>>> the command executes, that implies you should use different Builder
>>> instances, with different Actions or cmdstr or both.  It sounds like you're
>>> trying to parameterize a build task within a single python function,
>>> instead of using the mechanisms SCons already provides for parameterizing
>>> build tasks, namely Builder and Action.  If you really have functionality
>>> in the task() function which you want to share across multiple Builder
>>> instances, then I would break out the shared functionality into other
>>> functions which your Builder tasks then call.  But now I'm just guessing,
>>> because I doubt I really understand what you're trying to do from your
>>> example.
>>> On 6/20/20 11:52 AM, daggs wrote:
>>>
>>> Greetings Gary,
>>>
>>> that helps me in this specific case but not in the more general case as
>>> I might want to use .dirname or pass the cmd.
>>>
>>> I thought of using regex replace like this:
>>> def task(source, target, env):
>>>     print(env['cmd'])
>>>     new_cmd = re.sub("\$TARGET", env['cmd'], 'aaa')
>>>     print('['+new_cmd+']')
>>>
>>> but for the following cmd:
>>> ${SOURCE}<=>$SOURCE<=>${SOURCES}<=>$SOURCES<=>${TARGET}<=>$TARGET<=>$SOURCES.dirname<=>${SOURCE}.dirname<=>$TARGET.abspath
>>> I get this output:
>>> [aaa]
>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> [email protected]
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>>

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.