Re: src_suffix getings ignored

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CEw+gtLHET5u1Qs8D539=WPMwRBin2qehxo2ivHjrLXXg@mail.gmail.com>
You don't need
Dir("out").abspath
"out" would suffix.
You generally shouldn't need to do all this Dir(), File() stuff, just use
the string.

Re the rest.. i think Mats just answered it.
(Stuck in my drafts folder.. ;)




On Sun, May 15, 2022 at 12:22 AM daggs <[email protected]> wrote:

> here:
>
> SConstruct:
> env = Environment(tools = [ 'default', 'test' ])
> SConscript('src/SConscript', variant_dir = Dir("out").abspath, duplicate =
> 0, exports='env')
>
> src/SConscript:
> Import('env')
> objs_path = Dir('.').abspath
> src_env = env.Clone()
> ent = Dir(env.subst('#')).abspath + "aaaaaa.temp"
> src_env.Object(src_env.do_a_b(ent, base = Dir(env.subst('#')).abspath,
> out_dir = objs_path + "/generated/"))
> src_env.Object(src_env.do_a_c(ent, base = Dir(env.subst('#')).abspath,
> out_dir = objs_path + "/generated/"))
>
>
> Thanks,
>
> Dagg
> *Sent:* Tuesday, May 10, 2022 at 9:52 PM
> *From:* "daggs" <[email protected]>
> *To:* [email protected]
> *Cc:* "SCons users mailing list" <[email protected]>
> *Subject:* Re: [Scons-users] src_suffix getings ignored
> I'll try to cunjor up a sample scons file.
>
> Dagg.
>
> *Sent:* Sunday, May 08, 2022 at 5:02 PM
> *From:* "Bill Deegan" <[email protected]>
> *To:* "SCons users mailing list" <[email protected]>
> *Subject:* Re: [Scons-users] src_suffix getings ignored
> You'll need to include your sample SConstruct as well..
>
> On Sun, May 8, 2022 at 1:27 AM daggs <[email protected]> wrote:
>
>> Greetings,
>>
>> I have the following builder:
>> import os
>>
>> template_suffix = ".temp"
>>
>> def convert_path(base, out, src):
>>     return src.replace(base, out)
>>
>> def modify_target(target, source, env):
>>     return convert_path(env['base'], env['out_dir'], str(source[0])),
>> source
>>
>> def a_action(target, source, action):
>>     return os.system("echo -" + action + " " + os.path.basename(source))
>>
>> def a_b_action(target, source, env):
>>     return a_action(target, source, "a")
>>
>> def a_c_action(target, source, env):
>>     return a_action(target, source, "b")
>>
>> def generate(env, **kwargs):
>>     builders = {
>>         'do_a_b' : env.Builder(action = env.Action(a_b_action), suffix =
>> '.c',
>>                                src_suffix = template_suffix, emitter =
>> modify_target),
>>         'do_a_c' : env.Builder(action = env.Action(a_c_action), suffix =
>> '.h',
>>                                src_suffix = template_suffix, emitter =
>> modify_target)
>>     }
>>
>>     env.Append(BUILDERS = builders)
>>
>> def exists(env):
>>     return true
>>
>> when I add prints to modify_target, both target and source looks good.
>> however, when I run it as part of a scons build flow, it fails with the
>> following error:
>> scons --tree=all --debug=explain -n -Q
>> scons: *** While building
>> `['/tmp/proj/output/objs/module_a/generated/dir1/file.o']' from
>> `['generated/dir1/file.temp']': Don't know how to build from a source file
>> with suffix `.temp'.  Expected a suffix in this list: ['.c', '.m', '.cpp',
>> '.cc', '.cxx', '.c++', '.C++', '.mm', '.C', '.f', '.for', '.ftn', '.fpp',
>> '.FPP', '.F', '.FOR', '.FTN', '.f77', '.F77', '.f90', '.F90', '.f95',
>> '.F95', '.f03', '.F03', '.f08', '.F08', '.s', '.asm', '.ASM', '.spp',
>> '.SPP', '.sx', '.S', '.d'].
>>
>> any ideas what I'm doing wrong?
>>
>> Thanks.
>> _______________________________________________
>> 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
> _______________________________________________ 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.