[Scons-users] quoting question in an Action call

David Roundy roundyd at physics.oregonstate.edu
Sun Aug 4 08:42:44 EDT 2013

I expect

diag_action = env.Action('cat ${TARGET.dir}/*.diag > diag_concat')

would work (as long as ${TARGET.dir} does not contain spaces, '>', or other
shell-specific characters. Specifying an action as a list presumably
bypasses the shell, as that's what it does in most other languages.


On Fri, Aug 2, 2013 at 10:20 AM, Christopher Murray <murpup at gmail.com>wrote:

> Hi,


> I have a situation where my compiler is able, through a command line

> argument, to write all of the diagnostics and warnings it produces to

> a separate file. I would like to add a function to our build scripts

> that is able to concatenate these individual diagnostic files into one

> file. This would allow us to easily compare it to previous code

> versions and detect newly added warnings or other issues. I could

> create a separate script or python function which could be run at the

> end of the build to do this, but I figured the most elegant solution

> would be to do this with an Action object and AddPostAction.


> So I created a Action object like this:


> diag_action = env.Action([['cat', '${TARGET.dir}/*.diag', '>',

> 'diag_concat']])

> env.AddPostAction(my_target, diag_action)


> But when I run the build, the cat program throws the following error:


> cat: build/cygwin/g95/x86/debug/src/*.diag: No such file or directory


> Since all the .diag files do, in fact, exist in that build directory,

> I figure that the "*" character must be getting interpreted literally

> by the shell. I can replace the "*" with one of the actual file names

> and it works just fine so it is not a relative path issue.


> Is there a way to wrap the system call to 'cat' and its arguments to

> prevent such quoting problems?


> Thanks,

> Chris

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users


David Roundy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20130804/bb31f3e1/attachment.html

More information about the Scons-users mailing list