Apache OpenOffice (AOO) Bugzilla – Issue 83940
Make $(mktmp ..) .WINPATH aware
Last modified: 2013-08-07 15:34:52 UTC
Currently the result of $(mktmp ..) is not aware of the .WINPATH setting for cygwin dmakes. In addition to this the value of TMPDIR is used without verifying if that directory exists and is uasable - at the moment this allows to force mktmp to output DOS paths on by setting TMPDIR to a DOS path. This should be fixed.
Created attachment 51410 [details] Patch for dmake
committed
I started to write a testcase, but that would involve string comparisons and would only be useful for cygwin, so it is much easier to just test it by hand. Use the following makefile: -- makefile.mk -- SHELL*:=/bin/sh SHELLFLAGS*:=-ce all .WINPATH : all2 @echo X1$(mktmp blah)Y all2 : @echo X2$(mktmp blah)Y -- makefile.mk -- You should get this result: $ ./dmake/dmake.exe -r X2/tmp/mkUh8aQ2Y X1C:/cygwin/tmp/mkeKnoiCY
Please verify.
nope! both lines the form C:/cygwin/tmp even more, i'm not able to get the native form at all, no matter what i do with .WINPATH (or without).
Hmm, works fine here. Did you use the '-r' switch? Without it the global .WINPATH setting from solenv/inc/startup/?.mk takes over and unconditionally enables the c:/foo/bar style.
Created attachment 51721 [details] ./dmake -v -p -r -f ../test.mk >& /cygdrive/h/tmp/dmake.log
i did a bit of "printf debugging". it's all fine with .WINPATH (i can change it as i like and see that it's set). the issue seems to me that Create_temp in sysintf.c already returns path in c:/bla notation. maybe that's some kind of hint...
What is your value of $TMPDIR ? Try $ export TMPDIR= ; ./dmake -r -f ../test.mk
yes, that did the trick. i had TMPDIR set by a sourced OOo env. reading the first comment more carefully would have helped too...
.