Issue 17054 - Better Support Building on Windows.
Summary: Better Support Building on Windows.
Status: NEW
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: x86 Windows
: P3 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-02 05:30 UTC by Sprink
Modified: 2022-12-17 10:37 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Sprink 2017-01-02 05:30:29 UTC
Windows support is severely lacking for the build system and organized very poorly compared to posix.

The top level make file as a start, win32 vs posix.
https://github.com/dlang/dmd/blob/v2.072.2/win32.mak
https://github.com/dlang/dmd/blob/v2.072.2/posix.mak

For some reason HOST_DC is left to be an environment variable (guess it made someone's life easier to have as an env variable) with no error checking to see if the variable actually exists. Leaving for some difficult error messages, for everyone else that doesn't expect it.

https://github.com/dlang/dmd/blob/v2.072.2/src/win32.mak#L81


Compiled object files are just dumped in with the source files, there's no management to them. As a result it's no surprise "clean" doesn't actually clean everything.

Druntime and Phobos aren't as bad but phobos still just dumps files in the root directory.

Windows SDK and Visual Studio directories have to be manually set. For Visual Studio it could probably detect the installation. For Windows 10 the directories are slightly different and don't work well with the way the directories are currently setup.

As a more extreme solution, possibly switching build systems to something like CMake. Could solve some of these problems and make maintenance a bit easier. Including not needing to maintain Visual Studio project files in "vcbuild".