www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 17054] New: Better Support Building on Windows.

https://issues.dlang.org/show_bug.cgi?id=17054

          Issue ID: 17054
           Summary: Better Support Building on Windows.
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: sprink.noreply gmail.com

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".

--
Jan 01