[Scons-users] Command fails if action is simply $SOURCE

Carnë Draug carandraug+dev at gmail.com
Thu Feb 28 14:11:06 EST 2013


On 28 February 2013 18:56, William Deegan <bill at baddogconsulting.com> wrote:

> On Feb 28, 2013, at 10:15 AM, Carnë Draug <carandraug+dev at gmail.com> wrote:

>> I'm trying to set a bunch of scripts as commands which are then

>> grouped as a single target with Alias. I'm doing something like this

>>

>> analysis1 = env.Command(target = "result1", source = "script1.pl",

>> action = "$SOURCE")

>> analysis2 = env.Command(target = "result2", source = "script2.pl",

>> action = "$SOURCE")

>> analysis3 = env.Command(target = "result3", source = "script3.pl",

>> action = "$SOURCE")

>>

>> env.Alias("analysis", [analysis1, analysis2, analysis3])

>>

>>

>> However, this fails. All I get is:

>>

>> $scons analysis

>> scons: Reading SConscript files ...

>> scons: done reading SConscript files.

>> scons: Building targets ...

>> scons: done building targets.

>>

>> I can make SCons run the scripts if I set the action to "./$SOURCE",

>> "perl $SOURCE", "$SOURCE --" or anything like that. The files should

>> have the correct permissions (744). Even if I set $SOURCE to a path, I

>> get the same problem so shouldn't be a matter of adding anything to

>> the search path.

>>

>> Is this a bug in SCons or am I doing something wrong? And is there a

>> better way to do this?

>

> Try: "scons --debug=explain analysis"


This shows me that SCons recognizes the target as something to build
but then does nothing about it:

$ scons --debug=explain analysis
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building `result1' because it doesn't exist
scons: building `result2' because it doesn't exist
scons: building `result3' because it doesn't exist
scons: done building targets.

Nothing is done with the scripts. Just for test, I made the scripts to
just print something, or give an error but nothing happens ever.


> Also can you paste the output from:

> scons --tree=prune analysis


scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
+-analysis
+-result1
| +-scripts/script1.pl
+-result2
| +-scripts/script2.pl
+-result3
+-scripts/script3.pl
scons: done building targets.

I have attached a tarball with the example, for ease of replication.

I have tried to pass the path for the scripts with os.path.join() and
os.path.abspath() but none worked.

Carnë
-------------- next part --------------
A non-text attachment was scrubbed...
Name: scons-check.tar.gz
Type: application/x-gzip
Size: 462 bytes
Desc: not available
Url : <http://four.pairlist.net/pipermail/scons-users/attachments/20130228/844b98b2/attachment.bin>


More information about the Scons-users mailing list