arm-trusted-firmware/make_helpers/toolchains/host.mk
Chris Kay 3d6c7e590e build: improve diagnostics for unrecognized toolchain tools
Up until recently the build system accepted an arbitrary value for `AS`
and, unbeknownst to anybody, was simply not making use of it. Recent
feedback has revealed that a number of contributors have `AS` explicitly
configured to use the GNU assembler, which is not a supported assembler,
and this breakage has yielded some cryptic error messages, e.g.:

    aarch64-none-elf-as: unrecognized option '-x'

This change introduces human-readable diagnostics to help developers
with diagnosing unsupported toolchain tools:

    The configured AArch64 assembler could not be identified and may not
    be supported:

        aarch64-none-elf-as

    The default AArch64 assembler is:

        aarch64-none-elf-gcc

    The following tools are supported:

      - Arm® Compiler for Embedded `armclang`
      - LLVM Clang (`clang`)
      - GNU GCC (`gcc`)

    The build system will treat this assembler as GNU GCC (`gcc`).

Change-Id: I316036c83be2d45ee83a88846cf65c6ce7ae3c26
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-04-29 12:47:01 +00:00

39 lines
773 B
Makefile

#
# Copyright (c) 2023-2024, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
host-name := host
host-cc := $(HOSTCC)
host-cc-default := gcc
host-cc-id-default := gnu-gcc
host-cpp := $(HOSTCPP)
host-cpp-default := gcc
host-cpp-id-default := gnu-gcc
host-as := $(HOSTAS)
host-as-default := gcc
host-as-id-default := gnu-gcc
host-ld := $(HOSTLD)
host-ld-default := gcc
host-ld-id-default := gnu-gcc
host-oc := $(HOSTOC)
host-oc-default := objcopy
host-oc-id-default := gnu-objcopy
host-od := $(HOSTOD)
host-od-default := objdump
host-od-id-default := gnu-objdump
host-ar := $(HOSTAR)
host-ar-default := gcc-ar
host-ar-id-default := gnu-ar
host-dtc := $(HOSTDTC)
host-dtc-default := dtc
host-dtc-id-default := generic-dtc