On 22/04/15 10:03, Spooge wrote: > On 04/22/2015 03:30 PM, Roman Cheplyaka wrote: >> On 22/04/15 06:15, Spooge wrote: >>> On 04/22/2015 04:00 AM, [email protected] wrote: >>>> Hi, >>>> >>>> I tried writing (actually, generating) a Tupfile, and it is my >>>> impression that rules that generate files must precede rules that use >>>> those generated files. Is that correct? >>>> >>>> I was a bit surprised by this, since it's usually a build system's >>>> task to perform topological sorting. >>> If you specify generated file dependencies in the rule, Tup should order >>> them for you automatically. Tup should also give you an error if you >>> are missing required dependencies. >>> >> Thanks for the answer. Then I must be doing something wrong. >> >> My Tupfile is attached. Here's the error I'm seeing with it: >> >> tup error: Explicitly named file 'Tasty.hi' not found in subdir 'Test' >> tup error: Error parsing Tupfile line 2 >> Line was: ': example/ex.hs | Test/Tasty.hi |> zsh -c 'ghc -c >> example/ex.hs' |> example/ex.hi example/ex.o' >> >> Given that Test/Tasty.hi is listed as a generated file on the next line, >> why is tup expecting it to be in the filesystem? >> >> Roman >> > > That looks like it should work to me. > > I'm unfamiliar with Haskell, but does "ghc -c Test/Tasty.hs" produce > "Tasty.hi" in the current dir or in the "Test" subdir? > > Another thing you could try is running the line that generates Tasty.hi > alone (delete all the other lines) and see if it completes successfully. > > Also, do you have existing build output in the directories? That might > confuse things - you can use a variant to see if that's a problem. > > Either way though, I think something strange is happening. Yours is a > very basic use case and I've definitely done similar things with no > issues. If you don't have any hardware issues and there's a Tupfile > mistake, Tup should probably display an error. > > I'd be glad to try it myself too if the code is somewhere I could get it.
I made a minimal self-contained example, so that you don't need to install Haskell and stuff: https://github.com/feuerbach/tup-test If you run tup there, it'll fail with the above error. But if you swap the lines around in the tupfile, it'll succeed. Roman -- -- 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.
