Re: [PING, PATCH] doc, d: Add note that D front end now requires GDC installed in order to bootstrap.
On Tue, Nov 30, 2021 at 6:01 PM Iain Buclaw via Gcc-patches wrote: > > Ping. OK. > Excerpts from Iain Buclaw's message of November 18, 2021 2:06 am: > > Hi, > > > > As asked for, this adds the documentation note in install.texi about the > > upcoming bootstrap requirements. > > > > Obviously this will be applied alongside the patch posted previously: > > > > https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582917.html > > > > Final batch of testing before proceeding has taking a bit longer than I > > expected. Currently bootstrapping on sparcv9-sun-solaris2.11, and will > > push forward once have confirmed that it works as well as the current > > C++ implementation of the D front end. > > > > OK for mainline? Any improvements on wording? > > > > Thanks, > > Iain. > > > > --- > > gcc/ChangeLog: > > > > * doc/install.texi (Prerequisites): Add note that D front end now > > requires GDC installed in order to bootstrap. > > (Building): Add D compiler section, referencing prerequisites. > > --- > > gcc/doc/install.texi | 28 > > 1 file changed, 28 insertions(+) > > > > diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi > > index 094469b9a4e..6f999a2fd5a 100644 > > --- a/gcc/doc/install.texi > > +++ b/gcc/doc/install.texi > > @@ -289,6 +289,25 @@ Ada runtime libraries. You can check that your build > > environment is clean > > by verifying that @samp{gnatls -v} lists only one explicit path in each > > section. > > > > +@item @anchor{GDC-prerequisite}GDC > > + > > +In order to build GDC, the D compiler, you need a working GDC > > +compiler (GCC version 9.1 or later), as the D front end is written in D. > > + > > +Versions of GDC prior to 12 can be built with an ISO C++11 compiler, which > > can > > +then be installed and used to bootstrap newer versions of the D front end. > > + > > +It is strongly recommended to use an older version of GDC to build GDC. > > More > > +recent versions of GDC than the version built are not guaranteed to work > > and > > +will often fail during the build with compilation errors relating to > > +deprecations or removed features. > > + > > +Note that @command{configure} does not test whether the GDC installation > > works > > +and has a sufficiently recent version. Though the implementation of the D > > +front end does not make use of any GDC-specific extensions, or novel > > features > > +of the D language, if too old a GDC version is installed and > > +@option{--enable-languages=d} is used, the build will fail. > > + > > @item A ``working'' POSIX compatible shell, or GNU bash > > > > Necessary when running @command{configure} because some > > @@ -2977,6 +2996,15 @@ and network filesystems. > > @uref{prerequisites.html#GNAT-prerequisite,,GNAT prerequisites}. > > @end ifhtml > > > > +@section Building the D compiler > > + > > +@ifnothtml > > +@ref{GDC-prerequisite}. > > +@end ifnothtml > > +@ifhtml > > +@uref{prerequisites.html#GDC-prerequisite,,GDC prerequisites}. > > +@end ifhtml > > + > > @section Building with profile feedback > > > > It is possible to use profile feedback to optimize the compiler itself. > > This > > -- > > 2.30.2 > > > >
[PING, PATCH] doc, d: Add note that D front end now requires GDC installed in order to bootstrap.
Ping. Excerpts from Iain Buclaw's message of November 18, 2021 2:06 am: > Hi, > > As asked for, this adds the documentation note in install.texi about the > upcoming bootstrap requirements. > > Obviously this will be applied alongside the patch posted previously: > > https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582917.html > > Final batch of testing before proceeding has taking a bit longer than I > expected. Currently bootstrapping on sparcv9-sun-solaris2.11, and will > push forward once have confirmed that it works as well as the current > C++ implementation of the D front end. > > OK for mainline? Any improvements on wording? > > Thanks, > Iain. > > --- > gcc/ChangeLog: > > * doc/install.texi (Prerequisites): Add note that D front end now > requires GDC installed in order to bootstrap. > (Building): Add D compiler section, referencing prerequisites. > --- > gcc/doc/install.texi | 28 > 1 file changed, 28 insertions(+) > > diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi > index 094469b9a4e..6f999a2fd5a 100644 > --- a/gcc/doc/install.texi > +++ b/gcc/doc/install.texi > @@ -289,6 +289,25 @@ Ada runtime libraries. You can check that your build > environment is clean > by verifying that @samp{gnatls -v} lists only one explicit path in each > section. > > +@item @anchor{GDC-prerequisite}GDC > + > +In order to build GDC, the D compiler, you need a working GDC > +compiler (GCC version 9.1 or later), as the D front end is written in D. > + > +Versions of GDC prior to 12 can be built with an ISO C++11 compiler, which > can > +then be installed and used to bootstrap newer versions of the D front end. > + > +It is strongly recommended to use an older version of GDC to build GDC. More > +recent versions of GDC than the version built are not guaranteed to work and > +will often fail during the build with compilation errors relating to > +deprecations or removed features. > + > +Note that @command{configure} does not test whether the GDC installation > works > +and has a sufficiently recent version. Though the implementation of the D > +front end does not make use of any GDC-specific extensions, or novel features > +of the D language, if too old a GDC version is installed and > +@option{--enable-languages=d} is used, the build will fail. > + > @item A ``working'' POSIX compatible shell, or GNU bash > > Necessary when running @command{configure} because some > @@ -2977,6 +2996,15 @@ and network filesystems. > @uref{prerequisites.html#GNAT-prerequisite,,GNAT prerequisites}. > @end ifhtml > > +@section Building the D compiler > + > +@ifnothtml > +@ref{GDC-prerequisite}. > +@end ifnothtml > +@ifhtml > +@uref{prerequisites.html#GDC-prerequisite,,GDC prerequisites}. > +@end ifhtml > + > @section Building with profile feedback > > It is possible to use profile feedback to optimize the compiler itself. This > -- > 2.30.2 > >
[PATCH] doc, d: Add note that D front end now requires GDC installed in order to bootstrap.
Hi, As asked for, this adds the documentation note in install.texi about the upcoming bootstrap requirements. Obviously this will be applied alongside the patch posted previously: https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582917.html Final batch of testing before proceeding has taking a bit longer than I expected. Currently bootstrapping on sparcv9-sun-solaris2.11, and will push forward once have confirmed that it works as well as the current C++ implementation of the D front end. OK for mainline? Any improvements on wording? Thanks, Iain. --- gcc/ChangeLog: * doc/install.texi (Prerequisites): Add note that D front end now requires GDC installed in order to bootstrap. (Building): Add D compiler section, referencing prerequisites. --- gcc/doc/install.texi | 28 1 file changed, 28 insertions(+) diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 094469b9a4e..6f999a2fd5a 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -289,6 +289,25 @@ Ada runtime libraries. You can check that your build environment is clean by verifying that @samp{gnatls -v} lists only one explicit path in each section. +@item @anchor{GDC-prerequisite}GDC + +In order to build GDC, the D compiler, you need a working GDC +compiler (GCC version 9.1 or later), as the D front end is written in D. + +Versions of GDC prior to 12 can be built with an ISO C++11 compiler, which can +then be installed and used to bootstrap newer versions of the D front end. + +It is strongly recommended to use an older version of GDC to build GDC. More +recent versions of GDC than the version built are not guaranteed to work and +will often fail during the build with compilation errors relating to +deprecations or removed features. + +Note that @command{configure} does not test whether the GDC installation works +and has a sufficiently recent version. Though the implementation of the D +front end does not make use of any GDC-specific extensions, or novel features +of the D language, if too old a GDC version is installed and +@option{--enable-languages=d} is used, the build will fail. + @item A ``working'' POSIX compatible shell, or GNU bash Necessary when running @command{configure} because some @@ -2977,6 +2996,15 @@ and network filesystems. @uref{prerequisites.html#GNAT-prerequisite,,GNAT prerequisites}. @end ifhtml +@section Building the D compiler + +@ifnothtml +@ref{GDC-prerequisite}. +@end ifnothtml +@ifhtml +@uref{prerequisites.html#GDC-prerequisite,,GDC prerequisites}. +@end ifhtml + @section Building with profile feedback It is possible to use profile feedback to optimize the compiler itself. This -- 2.30.2