package/sdl2: disable altivec built-in function for PowerPC

As reported in this bug report [1], altivec support in SDL break
arbitrary C++ code.

Issue reported by test-pkg script while testing supertux package:
    error: could not convert 'true' from 'bool' to '__vector(4) __bool int'

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi/?bug=770670

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Romain Naour 2017-03-01 00:24:52 +01:00 committed by Thomas Petazzoni
parent 3e57fa370c
commit d2903aaf13

View File

@ -23,6 +23,16 @@ SDL2_CONF_OPTS += \
# We must enable static build to get compilation successful.
SDL2_CONF_OPTS += --enable-static
# From https://bugs.debian.org/cgi-bin/bugreport.cgi/?bug=770670
# "The problem lies within SDL_cpuinfo.h. It includes altivec.h, which by
# definition provides an unconditional vector, pixel and bool define in
# standard-c++ mode. In GNU-c++ mode this names are only defined
# context-sensitive by cpp. SDL_cpuinfo.h is included by SDL.h.
# Including altivec.h makes arbitrary code break."
ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
SDL2_CONF_OPTS += --disable-altivec
endif
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
SDL2_DEPENDENCIES += udev
SDL2_CONF_OPTS += --enable-libudev