[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 Walter Bright changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #12 from Walter Bright --- Many of these problems stem from using a different Digital Mars make.exe program. I've also added some documentation to win64.mak. --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 Walter Bright changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=21435 --- Comment #11 from Walter Bright --- The missing make.exe program: https://issues.dlang.org/show_bug.cgi?id=21435 --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 --- Comment #10 from Walter Bright --- I still have no clue even what make program is required. The \dm\bin\make.exe does not work anymore with win64.mak. I'm tempted to just delete win64.mak and make a new one. --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 --- Comment #9 from Iain Buclaw --- (In reply to Walter Bright from comment #7) > That can't be the problem, as whatever is building druntime for the test > suite works. I doubt running the druntime unit-tests is dependent on all iles being copied to the import directory. --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 Steven Schveighoffer changed: What|Removed |Added CC||schvei...@gmail.com --- Comment #8 from Steven Schveighoffer --- Every time I build druntime (on Linux/Mac, not Windows), I just do make -f posix.mak If you build Phobos, and you have your directory structure set up, phobos will build it for you. There exists this wiki page, I have no idea how up to date it is: https://wiki.dlang.org/Building_under_Windows#Building_D --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 --- Comment #7 from Walter Bright --- That can't be the problem, as whatever is building druntime for the test suite works. The problem is there are no instructions on how to successfully build druntime. --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 --- Comment #6 from Iain Buclaw --- (In reply to Walter Bright from comment #5) > if not exist generated md generated > if not exist generated\windows md generated\windows > if exist "../../release-build/dmd-2.079.0/windows/bin/dmd.exe" (echo > @"../../release-build/dmd-2.079.0/windows > /bin/dmd.exe" %* >generated\windows\host_dmd.bat) > Error: command line too long > > --- errorlevel 1 > > --- errorlevel 1 > -- So really, this is the problem. We've now so many files in druntime, that we've exceeded the command-line limit? https://github.com/dlang/druntime/pull/3026 Perhaps this copyimports.d helper should be adapted to just read/parse in `mak/COPY` directly and do the work, rather than us giving it the list of files. On a related note, I can't see why we still have generated .di headers in druntime, so opened https://github.com/dlang/druntime/pull/3850 to remove them, and converge everything into the `make copy` list. That'll avoid some of the confusion here regarding `make import` doing something different to what might be expected. --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 --- Comment #5 from Walter Bright --- Let's start with a `makefile` with the following contents: - HOST_DMD=e:\dmd2.092\windows\bin\dmd.exe all: make HOST_DMD=$(HOST_DMD) -f win32.mak clean: make HOST_DMD=$(HOST_DMD) -f win32.mak clean - Let's try it out: - make clean del lib\druntime.lib errno_c_32omf.obj Could Not Find C:\forks\druntime\lib\druntime.lib Could Not Find C:\forks\druntime\errno_c_32omf.obj rmdir /S /Q doc import The system cannot find the file specified. The system cannot find the file specified. - ok. Now let's try a build: C:\forks\druntime>make make HOST_DMD=e:\dmd2.092\windows\bin\dmd.exe -f win32.mak "make" -f mak/WINDOWS import DMD="..\dmd\generated\windows\release\32\dmd" HOST_DMD="e:\dmd2.092\windows\bin\d md.exe" MODEL=32 IMPDIR="import" ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di src\core\s ync\barrier.d ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\condition.di src\core \sync\condition.d ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\config.di src\core\sy nc\config.d ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\exception.di src\core \sync\exception.d ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\mutex.di src\core\syn c\mutex.d ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\rwmutex.di src\core\s ync\rwmutex.d ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\semaphore.di src\core \sync\semaphore.d "make" -f mak/WINDOWS copydir DMD="..\dmd\generated\windows\release\32\dmd" HOST_DMD="e:\dmd2.092\windows\bin\ dmd.exe" MODEL=32 IMPDIR="import" Target 'copydir' is up to date "make" -f mak/WINDOWS copy DMD="..\dmd\generated\windows\release\32\dmd" HOST_DMD="e:\dmd2.092\windows\bin\dmd .exe" MODEL=32 IMPDIR="import" if not exist generated md generated if not exist generated\windows md generated\windows if exist "../../release-build/dmd-2.079.0/windows/bin/dmd.exe" (echo @"../../release-build/dmd-2.079.0/windows /bin/dmd.exe" %* >generated\windows\host_dmd.bat) if not "" == "" ("\dmd2\Windows\bin\dmd.exe" --version >nul 2>&1 && echo @"\dmd2\Windows\bin\dmd.exe" %* >gen erated\windows\host_dmd.bat) if not "" == "" ("" --version >nul 2>&1 && echo @"" %* >generated\windows\host_dmd.bat) if not "e:\dmd2.092\windows\bin\dmd.exe" == "" ("e:\dmd2.092\windows\bin\dmd.exe" --version >nul 2>&1 && echo @"e:\dmd2.092\windows\bin\dmd.exe" %* >generated\windows\host_dmd.bat) generated\windows\host_dmd.bat -of=generated\windows\copyimports.exe -m32 mak\copyimports.d if not exist generated md generated if not exist generated\windows md generated\windows if exist "../../release-build/dmd-2.079.0/windows/bin/dmd.exe" (echo @"../../release-build/dmd-2.079.0/windows /bin/dmd.exe" %* >generated\windows\host_dmd.bat) Error: command line too long --- errorlevel 1 --- errorlevel 1 -- Well, that crashed and burned. As you can see, it only partly created the import directory (no import\core\stdc): --- C:\forks\druntime>dir import Volume in drive C has no label. Volume Serial Number is 6E3B-6D44 Directory of C:\forks\druntime\import 06/18/2022 11:52 PM .. 06/18/2022 11:52 PM core 06/18/2022 11:52 PM . 0 File(s) 0 bytes 3 Dir(s) 209,004,240,896 bytes free C:\forks\druntime>dir import\core Volume in drive C has no label. Volume Serial Number is 6E3B-6D44 Directory of C:\forks\druntime\import\core 06/18/2022 11:52 PM .. 06/18/2022 11:52 PM . 06/18/2022 11:52 PM sync 0 File(s) 0 bytes 3 Dir(s) 209,002,799,104 bytes free --- --
[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime
https://issues.dlang.org/show_bug.cgi?id=23193 Walter Bright changed: What|Removed |Added Summary|druntime/win32.mak contains |druntime/win32.mak, |no instructions for how to |win64.mak, posix.mak |build druntime |contain no instructions for ||how to build druntime --