Jump to page: 1 2 3
Thread overview
Windows devs - how are you building dmd, druntime, phobos?
Jul 25, 2019
Atila Neves
Jul 25, 2019
Ethan
Jul 25, 2019
Atila Neves
Jul 25, 2019
Mike Franklin
Jul 25, 2019
Exil
Jul 25, 2019
bachmeier
Jul 25, 2019
Exil
Jul 25, 2019
Seb
Jul 25, 2019
Jonathan Marler
Jul 25, 2019
Seb
Jul 26, 2019
Exil
Jul 26, 2019
Seb
Jul 26, 2019
bachmeier
Jul 30, 2019
Exil
Jul 26, 2019
Atila Neves
Jul 28, 2019
Exil
Jul 25, 2019
Jonathan Marler
Jul 25, 2019
Meta
Jul 25, 2019
a11e99z
Jul 27, 2019
Meta
Jul 27, 2019
Ethan
Jul 27, 2019
Seb
Aug 03, 2019
Suleyman
Jul 25, 2019
Seb
Jul 25, 2019
Meta
Jul 25, 2019
Martin Krejcirik
Jul 25, 2019
Dukc
Jul 26, 2019
John Burton
Jul 26, 2019
Jonathan Marler
Jul 26, 2019
Manu
July 25, 2019
For dmd, neither win32.mak or win64.mak work for me at all. I'm at a loss as to how they work for the autotester. Fortunately I learned about build.d on github, and that works fine.

But then I tried druntime and couldn't build that with the Windows makefile. There's no build.d there though, at least not with that name. The makefile seems to try creating directories more than once and fails.

Given all the above, how is that people on Windows manage to work on the 3 core D repos? I'm trying to fix the situation (mostly so I can get the dmd bash tests to run there), but first I'd like to know if I'm doing something wrong.

Bear in mind I've build all 3 repos repeatedly on Windows before...
July 25, 2019
On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
> For dmd, neither win32.mak or win64.mak work for me at all. I'm at a loss as to how they work for the autotester. Fortunately I learned about build.d on github, and that works fine.
>
> But then I tried druntime and couldn't build that with the Windows makefile. There's no build.d there though, at least not with that name. The makefile seems to try creating directories more than once and fails.
>
> Given all the above, how is that people on Windows manage to work on the 3 core D repos? I'm trying to fix the situation (mostly so I can get the dmd bash tests to run there), but first I'd like to know if I'm doing something wrong.
>
> Bear in mind I've build all 3 repos repeatedly on Windows before...

I just pulled latest and did my usual "open src/vcbuild/dmd.sln" in Visual Studio. Hit compile.

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

I think a recent Windows update has ruined how paths are reported in Visual Studio. Had to change some definitions in my own stuff that's been working for ages too.

Perhaps the makefiles are having the same problem.
July 25, 2019
On Thursday, 25 July 2019 at 13:23:37 UTC, Ethan wrote:
> On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
>> [...]
>
> I just pulled latest and did my usual "open src/vcbuild/dmd.sln" in Visual Studio. Hit compile.
>
> 'C:\Program' is not recognized as an internal or external command, operable program or batch file.
>
> I think a recent Windows update has ruined how paths are reported in Visual Studio. Had to change some definitions in my own stuff that's been working for ages too.
>
> Perhaps the makefiles are having the same problem.

That's... even worse. And I really don't want to have to open Visual Studio in the first place.
July 25, 2019
On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
> For dmd, neither win32.mak or win64.mak work for me at all. I'm at a loss as to how they work for the autotester. Fortunately I learned about build.d on github, and that works fine.
>
> But then I tried druntime and couldn't build that with the Windows makefile. There's no build.d there though, at least not with that name. The makefile seems to try creating directories more than once and fails.
>
> Given all the above, how is that people on Windows manage to work on the 3 core D repos? I'm trying to fix the situation (mostly so I can get the dmd bash tests to run there), but first I'd like to know if I'm doing something wrong.

I've never been able to figure it out.  My advice is don't even waste another moment trying to figure it out.  Just create a build.d file in Phobos and druntime right now and get busy.  It will be be a more time-consuming task (maybe a day or two), but it will be more satisfying, you'll learn a lot, and you'll be doing us all a most valuable service.

Mike
July 25, 2019
On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
> For dmd, neither win32.mak or win64.mak work for me at all. I'm at a loss as to how they work for the autotester. Fortunately I learned about build.d on github, and that works fine.
>
> But then I tried druntime and couldn't build that with the Windows makefile. There's no build.d there though, at least not with that name. The makefile seems to try creating directories more than once and fails.
>
> Given all the above, how is that people on Windows manage to work on the 3 core D repos? I'm trying to fix the situation (mostly so I can get the dmd bash tests to run there), but first I'd like to know if I'm doing something wrong.
>
> Bear in mind I've build all 3 repos repeatedly on Windows before...

Yup, welcome to hell. Everything is basically hidden behind configuration files somewhere in autotester. It took a long time to figure out how to compile DMD with VS. If you don't want to do it, good luck trying to figure out how to do it without VS.

To build phobos/druntime you actually need to remove a "/" from the environment variable, why was this done? Because fuck you that's why, no one on the D team is competent enough with Windows to make it work with the default expected value.

    cd $ROOT/src/druntime
    make -f win64.mak clean
    make -f win64.mak VCDIR="${VCINSTALLDIR::-1}" DMD=../dmd/src/dmd druntime32mscoff

    cd $ROOT/src/phobos
    make -f win64.mak clean
    make -f win64.mak VCDIR="${VCINSTALLDIR::-1}" DMD=../dmd/src/dmd phobos32mscoff


I also use git bash to run a .sh script since testing DMD requires shell scripts. Need to do a workaround with vcvarsall.bat so that it loads all the appropriate environment variables.

$ROOT is just the root directory that's set in the editor I use.

DMD requires all the repositories be in the same folder. So dmd, druntime, and phobos need to be in one folder.

Good luck!

Oh one more thing. DMD/Phobos/DRuntime use Digital Mars' MAKE to build with. While the testing suite uses GNU MAKE. Guess what D puts in your root path called "make", yup their digital mars' MAKE instead of what people would expect to be GNU Make (and those that do already have a GNU Make in their path). Why? Because fuck you.



July 25, 2019
On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
> For dmd, neither win32.mak or win64.mak work for me at all. I'm at a loss as to how they work for the autotester. Fortunately I learned about build.d on github, and that works fine.
>
> But then I tried druntime and couldn't build that with the Windows makefile. There's no build.d there though, at least not with that name. The makefile seems to try creating directories more than once and fails.
>
> Given all the above, how is that people on Windows manage to work on the 3 core D repos? I'm trying to fix the situation (mostly so I can get the dmd bash tests to run there), but first I'd like to know if I'm doing something wrong.
>
> Bear in mind I've build all 3 repos repeatedly on Windows before...

Almost every time I build under windows I end up having to Google "dlang dmd build under windows" and click on the wiki page to refresh my memory on how to do it. There are alot of steps.

For example, you have to have a particular directory structure that's deeper than a Linux build, and you need to set DM_HOME and HOST_DC and you need to make sure you're using DigitalMars make rather than gnu make.

July 25, 2019
On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
> For dmd, neither win32.mak or win64.mak work for me at all. I'm at a loss as to how they work for the autotester. Fortunately I learned about build.d on github, and that works fine.
>
> But then I tried druntime and couldn't build that with the Windows makefile. There's no build.d there though, at least not with that name. The makefile seems to try creating directories more than once and fails.
>
> Given all the above, how is that people on Windows manage to work on the 3 core D repos? I'm trying to fix the situation (mostly so I can get the dmd bash tests to run there), but first I'd like to know if I'm doing something wrong.
>
> Bear in mind I've build all 3 repos repeatedly on Windows before...

I used to build very often on Windows. I'll give it a try tonight and report back.
July 25, 2019
On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
> For dmd, neither win32.mak or win64.mak work for me at all. I'm at a loss as to how they work for the autotester. Fortunately I learned about build.d on github, and that works fine.
>
> But then I tried druntime and couldn't build that with the Windows makefile. There's no build.d there though, at least not with that name. The makefile seems to try creating directories more than once and fails.

Yup, I never got around creating build.d for druntime and Phobos and it looks like no one else has the motivation/time to do so either.

> Given all the above, how is that people on Windows manage to work on the 3 core D repos? I'm trying to fix the situation (mostly so I can get the dmd bash tests to run there), but first I'd like to know if I'm doing something wrong.

They use digger or (for the most part) give up building it on Windows.
In case you are interested here are the steps required:

https://github.com/dlang/dmd/blob/master/.azure-pipelines/windows.sh (<- this is run by our CI)

https://wiki.dlang.org/Building_under_Windows
July 25, 2019
On Thursday, 25 July 2019 at 16:14:03 UTC, Seb wrote:
> In case you are interested here are the steps required:
>
> https://github.com/dlang/dmd/blob/master/.azure-pipelines/windows.sh (<- this is run by our CI)
>
> https://wiki.dlang.org/Building_under_Windows

I believe these are the steps I used the last time I built dmd/druntime/phobos (sometime last December IIRC).
July 25, 2019
On Thursday, 25 July 2019 at 16:09:37 UTC, Meta wrote:
> On Thursday, 25 July 2019 at 13:12:58 UTC, Atila Neves wrote:
>
> I used to build very often on Windows. I'll give it a try tonight and report back.

if you succeed with building please add shared option for RT & Phobos too
« First   ‹ Prev
1 2 3