<html><body><div><br>On 20 Jan, 2012,at 07:49 AM, Jonathan M Davis <jmdavisProg@gmxcom> wrote:<br><br><div><blockquote type="cite"><div class="msg-quote"><div class="_stretch">The unit tests on Linux maintain the module hierarchy when they're compiled. <br>
For example, on 64-bit Linux, <a href="http://std.net" _mce_href="http://std.net">std.net</a>.isemail's unit test object file and <br>
binary go in generated/linux/debug/64/unittest/std/net/. However, on Windows, <br>
they all go in the unittest folder.<br>
<br>
That doesn't support having both debug and release builds. It doesn't support <br>
architecture (though we don't have to deal with anything other than 32-bit on <br>
Windows just yet). And most importantly for what I'm dealing with at the <br>
moment, it doesn't support having multiple sub-modules with the same name.<br>
<br>
In my case, I'm working on splitting std.datetime into sub-modules in <br>
std.dtime, and it makes some sense to have a windows.d with some of the <br>
windows-specific functions in it. However, there is already a <br>
std/c/windows/windows.d. So, on Windows, they would both be trying to compile <br>
to the same place in spite of the fact that they're in completely different <br>
packages.<br>
<br>
Would someone who's knowledgable enough about makefiles (and the Windows <br>
makefile in particular) be able and willing to fix win32.mak so that the unit <br>
tests get compiled within a hierarchy (possibly even in the exact same way <br>
that Linux does - e.g. generate/windows/debug/32/unittest/std/net)?<br>
<br>
- Jonathan M Davis</div></div></blockquote><span> </span><br></div><div>This would also solve the problem:<br></div><div><br></div><div>http://d.puremagic.com/issues/show_bug.cgi?id=3541<br></div><div><br></div><div>This would output the object files with fully qualified names, i.e.<br></div><div><br></div><div>std.net.isemail.o</div><div><br></div><div>--<br></div><div>/Jacob Carlborg<br></div></div></body></html>