commit: 5658f1dc7a9c128630e2c4b0b843ecfd14cbf592 Author: Bertrand Jacquin <bertrand <AT> jacquin <DOT> bzh> AuthorDate: Mon Jul 28 18:12:43 2014 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Tue Oct 13 23:26:19 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5658f1dc
media-libs/x265: Fix x32 build, bug #510890 x32 arch as defined on https://sites.google.com/site/x32abi is neither X86 nor X64, then forcing -march=i686 leads to build failure as wrong -march is used. Forcing -march, -mfloat-abi and -mfpu for ARM is also wrong As a global sanity sake, disable all forced -march in CMakeLists Upstream report: https://bitbucket.org/multicoreware/x265/pull-requests/21/build-disable-march-selection-from/diff Package-Manager: portage-2.2.20.1 ...sable-march-selection-from-CMakeLists.txt.patch | 35 ++++++++++++++++++++++ media-libs/x265/x265-1.8.ebuild | 9 +++++- media-libs/x265/x265-9999.ebuild | 5 +++- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/media-libs/x265/files/1.8-build-Disable-march-selection-from-CMakeLists.txt.patch b/media-libs/x265/files/1.8-build-Disable-march-selection-from-CMakeLists.txt.patch new file mode 100644 index 0000000..33ee254 --- /dev/null +++ b/media-libs/x265/files/1.8-build-Disable-march-selection-from-CMakeLists.txt.patch @@ -0,0 +1,35 @@ +From e89069148db716d30fb81c798d0cfd83250a9f5a Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <[email protected]> +Date: Sat, 10 Oct 2015 00:05:41 +0100 +Subject: [PATCH] build: Disable -march selection from CMakeLists.txt + +x32 arch as defined on https://sites.google.com/site/x32abi is neither +X86 nor X64, then forcing -march=i686 leads to build failure as wrong +-march is used. + +Forcing -march, -mfloat-abi and -mfpu for ARM is also wrong + +As a global sanity sake, disable all forced -march in CMakeLists +--- + source/CMakeLists.txt | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index 764d5f2..fbc0d49 100644 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -167,14 +167,7 @@ if(GCC) + if(NATIVE_BUILD) + if(INTEL_CXX) + add_definitions(-xhost) +- else() +- add_definitions(-march=native) + endif() +- elseif(X86 AND NOT X64) +- add_definitions(-march=i686) +- endif() +- if(ARM) +- add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp) + endif() + if(FPROFILE_GENERATE) + if(INTEL_CXX) diff --git a/media-libs/x265/x265-1.8.ebuild b/media-libs/x265/x265-1.8.ebuild index ee4a32f..8138afc 100644 --- a/media-libs/x265/x265-1.8.ebuild +++ b/media-libs/x265/x265-1.8.ebuild @@ -41,6 +41,10 @@ src_unpack() { fi } +src_prepare() { + epatch "${FILESDIR}/${PV}-build-Disable-march-selection-from-CMakeLists.txt.patch" # bug #510890 +} + multilib_src_configure() { append-cflags -fPIC append-cxxflags -fPIC @@ -51,9 +55,12 @@ multilib_src_configure() { -DLIB_INSTALL_DIR="$(get_libdir)" ) - if [ "${ABI}" = x86 ] ; then + if [[ ${ABI} = x86 ]] ; then use 10bit && ewarn "Disabling 10bit support on x86 as it does not build (or requires to disable assembly optimizations)" mycmakeargs+=( -DHIGH_BIT_DEPTH=OFF ) + elif [[ ${ABI} = x32 ]] ; then + # bug #510890 + mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) fi cmake-utils_src_configure diff --git a/media-libs/x265/x265-9999.ebuild b/media-libs/x265/x265-9999.ebuild index 8a3e36f..5b0348c 100644 --- a/media-libs/x265/x265-9999.ebuild +++ b/media-libs/x265/x265-9999.ebuild @@ -51,9 +51,12 @@ multilib_src_configure() { -DLIB_INSTALL_DIR="$(get_libdir)" ) - if [ "${ABI}" = x86 ] ; then + if [[ ${ABI} = x86 ]] ; then use 10bit && ewarn "Disabling 10bit support on x86 as it does not build (or requires to disable assembly optimizations)" mycmakeargs+=( -DHIGH_BIT_DEPTH=OFF ) + elif [[ ${ABI} = x32 ]] ; then + # bug #510890 + mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) fi cmake-utils_src_configure
