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.