That new version works great, thank you!

btw, I didn't find any flags to tell clang to avoid creating those 
temporary files.

On Sunday, August 12, 2018 at 8:27:31 PM UTC-7, [email protected] wrote:
>
> On Sat, Aug 11, 2018 at 12:32 AM, <[email protected] <javascript:>> wrote:
>
>> I'm excited to use tup for a new project but I'm having trouble getting 
>> it to work in a simple situation on Windows.  I'm trying to compile a 
>> single "hello world" C file with clang and there seems to be a problem with 
>> tup not understanding some of clang's temporary files.
>>
>> Here's the C file:
>>
>> #include <stdio.h>
>>
>> int main(int argc, char** argv) {
>>     printf("hello\n");
>>     return 0;
>> }
>>
>>
>> Here's the Tupfile:
>>
>> : main.c |> clang -c %f -o %o |> main.o
>> : main.o |> clang -o %o %f |> main.exe
>>
>>
>> Here's the output:
>>  
>>
>> * 1) clang -c main.c -o main.o
>>  *** tup errors ***
>> tup error: File 'C:\test\main-645c19a0.o.tmp' was written to, but is not 
>> in .tup/db. You probably should specify it as an output
>>  -- Delete: C:\test\main-645c19a0.o.tmp
>> tup error: Expected to write to file 'main.o' from cmd 20 but didn't
>>  *** Command failed due to errors processing the output dependencies.
>>  [  ]  50%
>>  *** tup: 1 job failed.
>>
>>
>> However, there is a main.o file in the directory after tup exits.  I've 
>> tried running the commands on the command line and they work okay.  I've 
>> observed the issue when using both 32 bit and 64 bit clang.  This is all 
>> on tup v0.7.6-33-g221ae9a on Windows 10.  Everything works fine on a unix 
>> based system.  Any help or workarounds would be appreciated!
>>
>>
> Ahh it looks like in this case clang writes to main-XYZ.o.tmp and then 
> calls NtSetInformationFile with a FILE_RENAME_INFORMATION to tell it to 
> rename the file, and tup didn't have a hook for this function. (We already 
> hook the various MoveFile* and ReplaceFile* functions, but apparently we 
> need another way to rename files :)
>
> Can you try http://gittup.org/tup/win32/tup-v0.7.7-8-gf77dbd4.zip and let 
> me know if that helps? I was only able to get clang working as a compiler 
> (ie: clang -c foo.c -o foo.o), but I couldn't get it to link anything even 
> without tup in the mix.
>
> -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