New upstream version 18.02
[deb_dpdk.git] / mk / arch / x86_x32 / rte.vars.mk
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2010-2014 Intel Corporation
3
4 #
5 # arch:
6 #
7 #   - define ARCH variable (overridden by cmdline or by previous
8 #     optional define in machine .mk)
9 #   - define CROSS variable (overridden by cmdline or previous define
10 #     in machine .mk)
11 #   - define CPU_CFLAGS variable (overridden by cmdline or previous
12 #     define in machine .mk)
13 #   - define CPU_LDFLAGS variable (overridden by cmdline or previous
14 #     define in machine .mk)
15 #   - define CPU_ASFLAGS variable (overridden by cmdline or previous
16 #     define in machine .mk)
17 #   - may override any previously defined variable
18 #
19 # examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
20 #
21
22 ARCH  ?= x86_64
23 ARCH_DIR := x86
24 CROSS ?=
25
26 CPU_CFLAGS  ?= -mx32
27 CPU_LDFLAGS ?= -melf32_x86_64
28 #CPU_ASFLAGS ?= -felf64
29 # x32 is supported by Linux distribution with gcc4.8 and newer in some
30 # cases there is backported support in gcc4.6
31 ifneq ($(shell echo | $(CC) $(CPU_CFLAGS) -E - 2>/dev/null 1>/dev/null && echo 0), 0)
32         $(error This version of GCC does not support x32 ABI)
33 endif
34
35 export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
36
37 RTE_OBJCOPY_TARGET = elf32-x86-64
38 RTE_OBJCOPY_ARCH = i386:x86-64
39
40 export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH