D Contributor Tutorials Part 1 - Building the Compiler From Source - Windows

Nick Treleaven nick at geany.org
Sun Jan 22 12:51:53 UTC 2023


On Sunday, 8 January 2023 at 11:27:14 UTC, Mike Parker wrote:
> In this first tutorial of the series, he gives an overview of 
> what happens when compiling a D source file, then shows how to 
> set up an environment from which to build dmd and the standard 
> library/runtime binary. The next video will use this setup to 
> start making changes to dmd.

Thanks, this is great (for posix builds).

However I'm not sure the Windows instructions in the video are 
correct. It is good Dennis mentioned to use DM make as the wiki 
only mentioned that for the VS build instructions (I have updated 
it to make it clear).

I tried running `make -f win32.mak` from the phobos root and got 
this:
```
Error: don't know how to make '../dmd/druntime/lib/druntime.lib'
```
So it seems on Windows druntime still does have to be built 
before that (unlike on Linux). So I ran `make -f win32.mak` from 
dmd/druntime and got this error:

```
..\compiler\..\generated\windows\release\32\dmd -c 
-of=errno_c_32omf.obj -m32omf -conf= -O -release -preview=dip1000 
-preview=fieldwise -preview=dtorfields -inline -w -Isrc -Iimport 
-v -P=-I. src\core\stdc\errno.c
predefs   DigitalMars LittleEndian D_Version2 all Windows Win32 
CRuntime_DigitalMars CppRuntime_DigitalMars D_InlineAsm 
D_InlineAsm_X86 X86 D_ModuleInfo D_Exceptions D_TypeInfo 
D_HardFloat D_Optimized
binary    ..\compiler\..\generated\windows\release\32\dmd.exe
version   v2.101.0-rc.1-72-g5c3dafa06f
config
DFLAGS    (none)
include   src\importc.h
sppn.exe src\core\stdc\errno.c -HIsrc\importc.h -ED -oerrno.i -I.
Error: C preprocess command sppn.exe failed for file 
src\core\stdc\errno.c, exit status 1

failed launching sppn.exe src\core\stdc\errno.c -HIsrc\importc.h 
-ED -oerrno.i -I.
```

I don't know what `sppn.exe` is.

---
Before trying phobos win32.mak I also tried the win64.mak but it 
needs `cl.exe` which apparently I can get here:
https://ftp.digitalmars.com/bup.zip

But chrome says 'Your connection is not private' and won't let me 
download that even if I look under Advanced. I also tried curl:
```
curl: (60) SSL: no alternative certificate subject name matches 
target host name 'ftp.digitalmars.com'
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore 
could not
establish a secure connection to it. To learn more about this 
situation and
how to fix it, please visit the web page mentioned above.
```


More information about the Digitalmars-d-announce mailing list