[phobos] Windows unit tests shouldn't be in one folder

Jonathan M Davis jmdavisProg at gmx.com
Thu Jan 19 22:49:18 PST 2012


The unit tests on Linux maintain the module hierarchy when they're compiled. 
For example, on 64-bit Linux, std.net.isemail's unit test object file and 
binary go in generated/linux/debug/64/unittest/std/net/. However, on Windows, 
they all go in the unittest folder.

That doesn't support having both debug and release builds. It doesn't support 
architecture (though we don't have to deal with anything other than 32-bit on 
Windows just yet). And most importantly for what I'm dealing with at the 
moment, it doesn't support having multiple sub-modules with the same name.

In my case, I'm working on splitting std.datetime into sub-modules in 
std.dtime, and it makes some sense to have a windows.d with some of the 
windows-specific functions in it. However, there is already a 
std/c/windows/windows.d. So, on Windows, they would both be trying to compile 
to the same place in spite of the fact that they're in completely different 
packages.

Would someone who's knowledgable enough about makefiles (and the Windows 
makefile in particular) be able and willing to fix win32.mak so that the unit 
tests get compiled within a hierarchy (possibly even in the exact same way 
that Linux does - e.g. generate/windows/debug/32/unittest/std/net)?

- Jonathan M Davis


More information about the phobos mailing list