Message ID | 20211118010608.2104762-1-ibuclaw@gdcproject.org |
---|---|
State | New |
Headers | show |
Series | doc, d: Add note that D front end now requires GDC installed in order to bootstrap. | expand |
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 > >
On Tue, Nov 30, 2021 at 6:01 PM Iain Buclaw via Gcc-patches <gcc-patches@gcc.gnu.org> 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 > > > >
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