From d9c52de97ac8da18f8ec9f7863950582aee3e71c Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 7 Nov 2021 02:50:55 +0000 Subject: games-emulation/vbam: fix build on arm(64) Closes: https://bugs.gentoo.org/799362 Signed-off-by: Sam James --- .../vbam/files/vbam-2.1.4-arm-asm.patch | 33 ++++++++++++++++++++++ games-emulation/vbam/vbam-2.1.4.ebuild | 1 + 2 files changed, 34 insertions(+) create mode 100644 games-emulation/vbam/files/vbam-2.1.4-arm-asm.patch diff --git a/games-emulation/vbam/files/vbam-2.1.4-arm-asm.patch b/games-emulation/vbam/files/vbam-2.1.4-arm-asm.patch new file mode 100644 index 000000000000..bf6e2bd70e9e --- /dev/null +++ b/games-emulation/vbam/files/vbam-2.1.4-arm-asm.patch @@ -0,0 +1,33 @@ +https://github.com/visualboyadvance-m/visualboyadvance-m/commit/af0de1c4b308ef8d9a081ecf407805b75a99d877.patch +https://bugs.gentoo.org/799362 + +From: Rafael Kitover +Date: Fri, 4 Oct 2019 07:35:49 +0000 +Subject: [PATCH] xbrz: fix inline asm check + +Use correct cpp code to detect x86/amd64 architecture to use inline asm. + +Signed-off-by: Rafael Kitover +--- a/src/filters/xBRZ/xbrz.cpp ++++ b/src/filters/xBRZ/xbrz.cpp +@@ -66,17 +66,17 @@ uint32_t gradientARGB(uint32_t pixFront, uint32_t pixBack) //find intermediate c + + inline double fastSqrt(double n) + { +-#ifdef __GNUC__ || __clang__ || __MINGW64_VERSION_MAJOR || __MINGW32_MAJOR_VERSION ++#if (defined(__GNUC__) || defined(__clang__)) && (defined(__x86_64__) || defined(__i386__)) + __asm__ ("fsqrt" : "+t" (n)); + return n; +-#elif _MSC_VER && _M_IX86 ++#elif defined(_MSC_VER) && defined(_M_IX86) + // speeds up xBRZ by about 9% compared to std::sqrt which internally uses + // the same assembler instructions but adds some "fluff" + __asm { + fld n + fsqrt + } +-#else // _MSC_VER && _M_X64 OR other platforms ++#else // defined(_MSC_VER) && defined(_M_X64) OR other platforms + // VisualStudio x86_64 does not allow inline ASM + return std::sqrt(n); + #endif diff --git a/games-emulation/vbam/vbam-2.1.4.ebuild b/games-emulation/vbam/vbam-2.1.4.ebuild index 21f3c2cf4a23..8fe87b4e1480 100644 --- a/games-emulation/vbam/vbam-2.1.4.ebuild +++ b/games-emulation/vbam/vbam-2.1.4.ebuild @@ -57,6 +57,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${P}-cmake_fix.patch "${FILESDIR}"/${P}-libsdl2-2.0.14.patch #762208 + "${FILESDIR}"/${P}-arm-asm.patch ) src_configure() { -- cgit v1.2.3-65-gdbad