doc, d: Add note that D front end now requires GDC installed in order to bootstrap.
Commit Message
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(+)
Comments
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
> >
> >
@@ -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