From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1873) id C8B723858434; Wed, 1 Dec 2021 10:58:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8B723858434 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Iain Buclaw To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-5686] doc, d: Add note that D front end now requires GDC installed in order to bootstrap. X-Act-Checkin: gcc X-Git-Author: Iain Buclaw X-Git-Refname: refs/heads/master X-Git-Oldrev: 47fe7be66e18a154ace54a9c98366e9e023e9dd3 X-Git-Newrev: d376b73aa12d183e3040456c7641fb74500d0727 Message-Id: <20211201105855.C8B723858434@sourceware.org> Date: Wed, 1 Dec 2021 10:58:55 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Dec 2021 10:58:55 -0000 https://gcc.gnu.org/g:d376b73aa12d183e3040456c7641fb74500d0727 commit r12-5686-gd376b73aa12d183e3040456c7641fb74500d0727 Author: Iain Buclaw Date: Wed Nov 17 10:55:08 2021 +0100 doc, d: Add note that D front end now requires GDC installed in order to bootstrap. 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. Diff: --- 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