[Issue 23193] druntime/win32.mak, win64.mak, posix.mak contain no instructions for how to build druntime

2022-06-28 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-26 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-26 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-21 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-21 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-21 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-19 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-19 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-06-19 Thread d-bugmail--- via Digitalmars-d-bugs
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

--