x86.mk revision ae5c0ab2726ed4b9ca7b08f9b29e3393aa0a5d40
1# This file contains feature macro definitions specific to the
2# base 'x86' platform ABI. This one must *strictly* match the NDK x86 ABI
3# which mandates specific CPU extensions to be available.
4#
5# It is also used to build full_x86-eng / sdk_x86-eng platform images that
6# are run in the emulator under KVM emulation (i.e. running directly on
7# the host development machine's CPU).
8#
9
10# If your target device doesn't support the four following features, then
11# it cannot be compatible with the NDK x86 ABI. You should define a new
12# target arch variant (e.g. "x86-mydevice") and a corresponding file
13# under build/core/combo/arch/x86/
14#
15ARCH_X86_HAVE_MMX   := true
16ARCH_X86_HAVE_SSE   := true
17ARCH_X86_HAVE_SSE2  := true
18ARCH_X86_HAVE_SSE3  := true
19
20# These features are optional and shall not be included in the base platform
21# Otherwise, they sdk_x86-eng system images might fail to run on some
22# developer machines.
23#
24
25ARCH_X86_HAVE_SSSE3 := false
26ARCH_X86_HAVE_MOVBE := false
27ARCH_X86_HAVE_POPCNT := false
28
29
30# XXX: This flag is probably redundant, because it should be set by default
31# by our toolchain binaries. However, there have been reports that this may
32# not always work as intended, so keep it unless we have the time to check
33# everything properly.
34
35arch_variant_cflags := \
36    -march=i686 \
37
38