Re: Porting gdc/dmd
Samuel Thibault <[email protected]> Thu, 25 Jun 2026 21:03:25 +0200
| Newsgroups | gmane.os.hurd.bugs |
|---|---|
| Organization | I am not organized |
| Message-ID | <aj17fR1mflcdFZBz@end> |
[email protected], le jeu. 25 juin 2026 19:11:06 +0200, a ecrit: > Jun 24, 2026, 01:13 by [email protected]: > > yelninei--- via Bug reports for the GNU Hurd, le mer. 17 juin 2026 10:37:02 +0200, a ecrit: > >> 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 Operating systems usually do have that. And gdc does have that ;) > Having a way to automatically generate this from the C headers would have made this a lot easier. Perl has been doing that for decades. > >> 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. Ok, I see. With the debian rebootstrap script we will probably be able to directly cross-compile from linux. Samuel