# SPDX-License-Identifier: GPL-2.0
HOSTARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
                                  -e s/sun4u/sparc/ -e s/sparc64/sparc/ \
                                  -e /arm64/!s/arm.*/arm/ -e s/sa110/arm/ \
                                  -e s/s390x/s390/ -e s/parisc64/parisc/ \
                                  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
                                  -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ \
                                  -e s/riscv.*/riscv/ -e s/loongarch.*/loongarch/)

ifeq ($(strip $(ARCH)),)
override ARCH := $(HOSTARCH)
endif

SRCARCH := $(ARCH)

# Additional ARCH settings for x86
ifeq ($(ARCH),i386)
        SRCARCH := x86
endif
ifeq ($(ARCH),x86_64)
        SRCARCH := x86
endif

# Additional ARCH settings for sparc
ifeq ($(ARCH),sparc32)
       SRCARCH := sparc
endif
ifeq ($(ARCH),sparc64)
       SRCARCH := sparc
endif

# Additional ARCH settings for loongarch
ifeq ($(ARCH),loongarch32)
       SRCARCH := loongarch
endif

ifeq ($(ARCH),loongarch64)
       SRCARCH := loongarch
endif

# Probe for __LP64__ only when the compiler is installed: this runs at
# parse time for every target, including ones that never compile, e.g.
# install-build-deps, and would otherwise spew "gcc: not found" when the
# compiler is not yet installed. Only the first word of CC is consulted,
# as CC may carry arguments, e.g. 'ccache gcc'. When the guard fails it
# prints nothing, leaving LP64 unset, as if the probe had failed.
LP64 := $(shell if command -v $(firstword ${CC}) >/dev/null 2>&1; then echo __LP64__ | ${CC} ${CFLAGS} -E -x c -; fi | tail -n 1)
ifeq ($(LP64), 1)
  IS_64_BIT := 1
else
  IS_64_BIT := 0
endif
