summaryrefslogtreecommitdiffstats
path: root/tools/perf/config/Makefile.arch
blob: 851cd0172a7694a0e21fd18d07c79031d5f9b253 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
uname_M := $(shell uname -m 2>/dev/null || echo not)

ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
                                  -e 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/tile.*/tile/ )

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

ifeq ($(ARCH),x86_64)
  override ARCH := x86
  IS_X86_64 := 0
  ifeq (, $(findstring m32,$(CFLAGS)))
    IS_X86_64 := $(shell echo __x86_64__ | ${CC} -E -x c - | tail -n 1)
    RAW_ARCH := x86_64
  endif
endif

ifeq (${IS_X86_64}, 1)
  IS_64_BIT := 1
else ifeq ($(ARCH),x86)
  IS_64_BIT := 0
else
  IS_64_BIT := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
endif