coreboot/util/crossgcc
Matt DeVillier c421847fe2 util/crossgcc: Fix GNAT detection for gnat-15
GCC's configure script requires gnat1, gnatbind, and gnatmake to be
available as unversioned executables in PATH when building with Ada
support. The previous detection logic only checked for gnat1 and used
a lenient searchtool check for gnatbind, which could incorrectly
enable Ada support when gnatmake was missing, causing configure to
fail with "GNAT is required to build ada".

In GNAT 15+, tools may only be available as versioned executables
(e.g., gnatbind-15, gnatmake-15), but GCC configure still requires
unversioned names. This change:

1. Adds explicit checks for gnatbind and gnatmake (unversioned)
2. Updates have_gnat() to require all three tools
3. Detects GNAT 15+ versioned tools and provides helpful error
   messages with instructions to create symlinks
4. Falls back to generic installation instructions if no GNAT tools
   are found

This prevents the configure error and provides clear guidance for
users with GNAT 15+ installations.

Change-Id: Idc16ec48612e88fc9bdd16b343ae267aa20490f3
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90635
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2026-01-10 21:46:47 +00:00
..
patches crossgcc: Upgrade binutils from version 2.44 to 2.45 2025-10-19 20:13:22 +00:00
sum crossgcc: Upgrade binutils from version 2.44 to 2.45 2025-10-19 20:13:22 +00:00
tarballs util/crossgcc: Add empty directory for tarballs 2023-05-24 21:11:21 +00:00
.gitignore util/crossgcc: Add libstdcxx target 2024-12-19 06:59:19 +00:00
buildgcc util/crossgcc: Fix GNAT detection for gnat-15 2026-01-10 21:46:47 +00:00
description.md util: Update description files 2022-05-30 13:05:21 +00:00
edk2tools.txt crossgcc: fix edk2 tools_def template 2017-11-30 16:51:16 +00:00
getopt.c Add the BSD-licensed getopt tool to crossgcc, to use 2010-01-29 17:40:52 +00:00
Makefile crossgcc: Drop nds32le-elf toolchain from default builds 2025-10-19 03:06:55 +00:00
Makefile.mk util: Rename Makefiles from .inc to .mk 2024-01-26 12:43:18 +00:00
README Remove MIPS architecture 2019-11-20 10:10:48 +00:00

README
------

This is a cross toolchain builder for -elf toolchains (ie. no libc support)

known working:
  i386-elf
  x86_64-elf
  powerpc-elf
  arm-elf
  armv7a-eabi
  aarch64-elf

known broken:
  alpha-elf
  powerpc64-elf