On Sun, Feb 2, 2014 at 1:07 PM, Ben Boeckel <[email protected]> wrote:

> On Sat, Feb 01, 2014 at 17:04:50 -0800, Matthew Borger wrote:
> > Could you provide an example of the @arg thing? All I can see form the
> tup
> > manual is that @ is used for variables from the tup.confg file. I could
> > have tup generate a shell script to use with the rules to reduce the
> > command line length but that seems pretty hacky.
>
> It's not a Tup thing. It's something that a lot of tools on Windows
> implement (particularly cl.exe, but gcc supports it as well). Basically,
> you dump the arguments to a file (one per line usually) then execute it
> with @argfile:
>
>     cat > argfile << EOF
>     -la
>     -lb
>     -lc
>     EOF
>     gcc @argfile -o prog prog.c
>
> which will act like:
>
>     gcc -la -lb -lc -o prog prog.c
>
> FWIW, Ninja supports "response files" (which is what the functionality
> is called) as well by using "rspfile" in rule stanzas[1] which causes
> Ninja to manage the response file itself instead of having the user know
> that one is needed and make exceptions. This might be something Tup
> could support with a flag (Maybe "^r"?).
>
>
Tup has some support for response files when groups are used, but I don't
think that helps in this particular case where it is just a long
command-lines. I filed an issue for it:
https://github.com/gittup/tup/issues/165

Using ^r sounds ok to me, though it would probably be better if we could
just know the limit in Windows and handle it before we try to execute the
command (either by creating a response file when possible, or reporting the
error in tup). Is there a case where we'd want to use a response file even
if the length of the command-line doesn't require it?

-Mike

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to