Hi Samuel,

Jun 24, 2026, 01:13 by [email protected]:

> Hello,
>
> yelninei--- via Bug reports for the GNU Hurd, le mer. 17 juin 2026 10:37:02 
> +0200, a ecrit:
>
>> The changes have been merged into dmd and phobos master.
>>
>
> Nice!
>
>> There might still be minor issues all over the place because hand 
>> translating almost the entire libc headers into D is tedious work.
>>
>
> Uh :/ Been there with rust, done that too... Why are languages still
> doing this rather than just relying on C headers...
>

I guess one needs a C preprocessor and C compiler to fully understand C headers 
and then a way to convert the C definitions into something the not-C language 
can understand.Thankfully one only does it once (and hope that the libc never 
changes its API/ABI)

Having a way to automatically generate this from the C headers would have made 
this a lot easier.

>> I have backports to gcc-11 and gcc-14/15 which are enough to bootstrap or 
>> cross compile an initial gdc (for both i686 and x86_64) that can then be 
>> used to build dmd. How is Dlang currently bootstrapped in debian and gentoo?
>>
>
> The rebootstrap script can be used to cross-build gcc from a linux host
> for instance.
>
> How did you bootstrap for your work? Did you cross-compile?
>

I started with a cross compiler from gdc 14 on linux because of significant 
improvements in DRuntime (reducing assumptions that glibc means linux + glibc) 
. 
I  switched to bootstrapping from gcc-11 once I knew what was needed for each 
file in the ifdef jungle that is DRuntime (gdc-11 is the last gdc version where 
the compiler is in C++ and one does not need an existing D compiler) because 
that is easier for guix.

 With the backports I can built

gdc-11 -> gdc-14 -> dmd

completely natively on i686 and x86_64.
The patches are here: https://codeberg.org/guix/guix/pulls/8026 .For x86_64 it 
needs a patch for minimal support in gcc-11 as well.
For gcc-15 it should also just work after rebasing the gcc-14 patches (untested)
> Samuel
>
Y.

Reply via email to