On Tue, May 23, 2017 at 12:59 PM, Eddy Petrișor <[email protected]> wrote:
> Pe 23 mai 2017 7:14 PM, "Mike Shal" <[email protected]> a scris:
>
> On Tue, May 23, 2017 at 11:36 AM, Eddy Petrișor <[email protected]>
> wrote:
>> The problem I had was on such a compiler where the temporary files had
>> totally random filenames.
>>
>> This was a no go for me. Are you in a similar situation?
>
> What kind of temporary files are these? Some programs, like ar, write
> to a temporary file for the output, but then move that randomly named
> temporary file to the non-randomly named output file. Tup tracks this
> and disregards the temporary file as an output. However, if you run a
> program that writes to a different random file each time you run it
> (not as an intermediate file, but as an output), that is by definition
>
>
> Some temporary files which are in the end removed. The tool keeps some of
> its interim stuff in them.

Removed at the end of what? If it's during a single rule execution,
this should already work in tup. If one rule is creating a file that
another rule removes for some reason, that wouldn't work.

> not an idempotent build step. It's possible tup could support this by
> allowing unknown outputs if the Tupfile has a <group> in the output
> list, but it doesn't currently.
>
>
> So that could be like a catch all bucket for those unknown files?

That's the idea. I tried implementing this a while back, but there is
some difficulty with how to treat things like wildcard rules. For
example, if the scripts were like this:

Tupfile:
: |> sh foo.sh |> <outputs>

sub/Tupfile:
: *.in |> cat %f > %o |> foo.out

Tup wouldn't know whether or not foo.sh will create a file that
matches sub/*.in while building the DAG, so it would need to handle
that somehow on the fly.

-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/d/optout.

Reply via email to