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.
