> On Nov 25, 2022, at 3:46 PM, Iain Sandoe <idsan...@googlemail.com> wrote:
>
> Hi Paul,
>
>> On 25 Nov 2022, at 20:13, Andrew Pinski via Gcc <gcc@gcc.gnu.org> wrote:
>>
>> On Fri, Nov 25, 2022 at 12:08 PM Paul Koning <paulkon...@comcast.net> wrote:
>>>
>>>> On Nov 25, 2022, at 3:03 PM, Andrew Pinski <pins...@gmail.com> wrote:
>>>>
>>>> On Fri, Nov 25, 2022 at 11:59 AM Paul Koning via Gcc <gcc@gcc.gnu.org>
>>>> wrote:
>>>>>
>>>>> I'm trying to use fairly recent GCC sources (the gcc-darwin branch to be
>>>>> precise) to build Ada, starting with the latest (2020) release of Gnat
>>>>> from Adacore.
>>>>
>>>> Are you building a cross compiler or a native compiler?
>>>> If you are building a cross, you need to bootstrap a native compiler first.
>>>
>>> I'm not sure. The installed Gnat is x86_64-darwin; I want to build
>>> aarch64-darwin.
>>
>> You have to build a x86_64-darwin compiler first with the same sources
>> as you are building for aarch64-darwin.
>
> So ..
> 1/ if you are on arm64 Darwin,
> - the first step is to bootstrap the compiler using Rosetta 2 and the
> available x86_64 gnat.
>
> 2/ if you are on x86_64 Darwin…
> - the first step is to bootstrap the compiler using the available x86-64
> gnat.
Thanks all.
I tried that (#1) and got the same failure. The trouble seems to be that the
current sources have Ada2020 constructs in them and the available Gnat doesn't
support that version. The commit that introduces these (or some of them at
least) is 91d68769419b from Feb 4, 2022.
So I'm guessing I'll have to do this in two parts, first build a newer but
not-latest Gnat from a release that doesn't include the problematic constructs,
then follow that by using the intermediate to build the current sources.
I wonder if this incompatibility was intentional. If not it would be good for
the Ada maintainers to fix these and ensure that the current code can still be
built with the most recent public release of Gnat. Conversely, if it is
intentional, the documentation should be updated to explain how to build the
current code.
paul