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