June 21, 2022
On 6/21/2022 9:19 AM, AnimusPEXUS wrote:
> On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
>> There are no instructions for it. Trying the obvious does not work.
>>
>> https://issues.dlang.org/show_bug.cgi?id=23193
> 
> I've wrote some building script to automate dmd and friend (druntime) builds. but I don't know if it's what your looking for https://github.com/AnimusPEXUS/deployD .

Thank you. It makes posix druntime, which does work! But the instructions still need to be in posix.mak.
June 21, 2022
On 6/21/2022 9:05 AM, H. S. Teoh wrote:
> On Mon, Jun 20, 2022 at 11:48:56PM -0700, Walter Bright via Digitalmars-d wrote:
>> What I'd like to see is, say, a .bat file named cc32mscoff.bat, that
>> will build the 32 bit mscoff libraries. I don't want to set paths,
>> environment variables, etc., I just want it to build the 32 bit mscoff
>> libraries.
> 
> I've no idea how it's done on Windows, but on Linux, it's as simple as:
> 
> 	export HOST_DMD=/path/to/bootstrap/dmd
> 	make -f posix.mak PIC=1 MODEL=64

Thank you.

When I try win32.mak, I get the results as described in the bugzilla issue. It doesn't even build the import directory properly.
June 21, 2022
On Tuesday, 21 June 2022 at 07:20:45 UTC, Walter Bright wrote:
> On 6/21/2022 12:15 AM, Tejas wrote:
>> On Tuesday, 21 June 2022 at 06:48:56 UTC, Walter Bright wrote:
>>> What I'd like to see is, say, a .bat file named cc32mscoff.bat, that will build the 32 bit mscoff libraries. I don't want to set paths, environment variables, etc., I just want it to build the 32 bit mscoff libraries.
>> 
>> I think one is supposed to use the package [digger](https://code.dlang.org/packages/digger) for a painless process of building D/DRT/Phobos
>
>
> It's madness to require a special tool to just compile a library. :-(
>
> Somehow, the simple concept of:
>
>     dmd <bunch of flags> <all the files> -odruntime.lib
>
> has turned into quite a rube goldberg morass.

I 100% agree; requiring external tool = obfuscating the build process, which is an indication that something went wrong, poor UX
June 21, 2022
On Tue, Jun 21, 2022 at 07:10:03PM +0000, ryuukk_ via Digitalmars-d wrote:
> On Tuesday, 21 June 2022 at 07:20:45 UTC, Walter Bright wrote:
[...]
> > Somehow, the simple concept of:
> > 
> >     dmd <bunch of flags> <all the files> -odruntime.lib
> > 
> > has turned into quite a rube goldberg morass.
> 
> I 100% agree; requiring external tool = obfuscating the build process, which is an indication that something went wrong, poor UX

My personal philosophy is: the default command (e.g., make with no additional arguments) should (1) do the default thing that most users would want it to do (e.g., build all the default targets with the default configuration, no questions asked); and (2) do so with as few assumptions about the environment as possible (e.g., should just run whatever version of dmd.exe is the default, and should not depend on some obscure environment variables being set or the presence of some obscure external utilities).

All the rest of the options and bells and whistles are non-default configuration, and the user shouldn't be burdened with that unless he specifically wants a non-default configuration.


T

-- 
Amateurs built the Ark; professionals built the Titanic.
June 22, 2022
On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
>

I'm going to add this to my list of favourite quotes:

"Does anyone know how druntime gets built?" - Walter Bright, 2022 (22 years after he created D).

June 22, 2022
On Wednesday, 22 June 2022 at 06:54:49 UTC, forkit wrote:
> On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
>>
>
> I'm going to add this to my list of favourite quotes:
>
> "Does anyone know how druntime gets built?" - Walter Bright, 2022 (22 years after he created D).

Walter doesn't have time to be messing about with build solutions across multiple platforms, this has been delegated to others (which is a good thing). Nor does he pretend to know all things.

Seeing as you want him to implement your new fascination, you should be happy that he does not need to pay attention to this sort of stuff.
June 22, 2022
On Wednesday, 22 June 2022 at 09:12:34 UTC, Abdulhaq wrote:
> On Wednesday, 22 June 2022 at 06:54:49 UTC, forkit wrote:
>> On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
>>>
>>
>> I'm going to add this to my list of favourite quotes:
>>
>> "Does anyone know how druntime gets built?" - Walter Bright, 2022 (22 years after he created D).
>
> Walter doesn't have time to be messing about with build solutions across multiple platforms, this has been delegated to others (which is a good thing). Nor does he pretend to know all things.
>
> Seeing as you want him to implement your new fascination, you should be happy that he does not need to pay attention to this sort of stuff.

C'mon. This was just dry humour. It was not having a dig at Walter.


June 24, 2022
On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
> There are no instructions for it. Trying the obvious does not work.
>
> https://issues.dlang.org/show_bug.cgi?id=23193


btw. these are the **exact** steps I take to build D, on my linux system:

NOTE: It creates the build into a different directory, not my dmd directory,
as I like to keep the build separate from my actual installation.


# mkdir /ramdisk/dlang
# cd /ramdisk/dlang

(now clone the source from git)
# git clone https://github.com/dlang/dmd;git clone https://github.com/dlang/druntime;git clone https://github.com/dlang/phobos;git clone https://github.com/dlang/tools

(now I use one big long concatenated command, and sit back till it's done.)
# cd /ramdisk/dlang/dmd;make -f posix.mak -j8 INSTALL_DIR=/home/user/opt/dmdnew install;cd /ramdisk/dlang/druntime;make -f posix.mak -j8 VERBOSE=1 INSTALL_DIR=/home/user/opt/dmdnew install;cd /ramdisk/dlang/phobos;make -f posix.mak -j8 VERBOSE=1 INSTALL_DIR=/home/user/opt/dmdnew install;cd /ramdisk/dlang/tools;make -f posix.mak -j8 VERBOSE=1 INSTALL_DIR=/home/user/opt/dmdnew/tools install;/usr/bin/cp -fR /ramdisk/dlang/dmd/src/dmd /home/user/opt/dmdnew/src;/usr/bin/cp -fR /ramdisk/dlang/druntime /home/user/opt/dmdnew/src

(hopefully, it all built correctly).

Now I create a link in my bin directory to the newly build dmd

/home/user/bin/dmdnew -> /home/user/opt/dmdnew/linux/bin64/dmd

That way I can switch between dmd and dmdnew, painlessly.

If you're using an actual ramdisk, as I do, consider the implications of that ;-)
June 26, 2022
On 6/21/2022 11:54 PM, forkit wrote:
> On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
>>
> 
> I'm going to add this to my list of favourite quotes:
> 
> "Does anyone know how druntime gets built?" - Walter Bright, 2022 (22 years after he created D).
> 

Well, the makefile I made for druntime worked. :-)

Now, I don't even know what make program is used to build win64.mak.
June 26, 2022
It's the posix build, not the Windows build. I'm able to build the posix.mak one. The Windows build does not work.