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