+++ /dev/null
-https://bitbucket.org/multicoreware/x265/pull-requests/21
-
-From e89069148db716d30fb81c798d0cfd83250a9f5a Mon Sep 17 00:00:00 2001
-From: Bertrand Jacquin <bertrand@jacquin.bzh>
-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)
+++ /dev/null
-https://bitbucket.org/multicoreware/x265/pull-requests/22
-
-Link EXTRA_LIB before PLATFORM_LIBS since they're static libraries and as-needed
-might drop required libraries if they come after.
-
-Index: x265_11047/source/CMakeLists.txt
-===================================================================
---- x265_11047.orig/source/CMakeLists.txt
-+++ x265_11047/source/CMakeLists.txt
-@@ -455,6 +455,9 @@ option(ENABLE_SHARED "Build shared libra
- if(ENABLE_SHARED)
- add_library(x265-shared SHARED "${PROJECT_BINARY_DIR}/x265.def" ${YASM_OBJS}
- ${X265_RC_FILE} $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common>)
-+ if(EXTRA_LIB)
-+ target_link_libraries(x265-shared ${EXTRA_LIB})
-+ endif()
- target_link_libraries(x265-shared ${PLATFORM_LIBS})
- if(MSVC)
- set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265)
-@@ -480,9 +483,6 @@ if(ENABLE_SHARED)
- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
- RUNTIME DESTINATION ${BIN_INSTALL_DIR})
- endif()
-- if(EXTRA_LIB)
-- target_link_libraries(x265-shared ${EXTRA_LIB})
-- endif()
- if(LINKER_OPTIONS)
- # set_target_properties can't do list expansion
- string(REPLACE ";" " " LINKER_OPTION_STR "${LINKER_OPTIONS}")
+++ /dev/null
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit cmake-utils multilib-minimal multilib multibuild flag-o-matic
-
-if [[ ${PV} = 9999* ]]; then
- inherit mercurial
- EHG_REPO_URI="https://bitbucket.org/multicoreware/x265"
-else
- SRC_URI="
- https://bitbucket.org/multicoreware/x265/downloads/${PN}_${PV}.tar.gz
- http://ftp.videolan.org/pub/videolan/x265/${PN}_${PV}.tar.gz"
- KEYWORDS="amd64 arm hppa ppc ppc64 x86"
-fi
-
-DESCRIPTION="Library for encoding video streams into the H.265/HEVC format"
-HOMEPAGE="http://x265.org/"
-
-LICENSE="GPL-2"
-# subslot = libx265 soname
-SLOT="0/68"
-IUSE="+10bit 12bit numa pic test"
-
-ASM_DEPEND=">=dev-lang/yasm-1.2.0"
-RDEPEND="numa? ( >=sys-process/numactl-2.0.10-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- abi_x86_32? ( ${ASM_DEPEND} )
- abi_x86_64? ( ${ASM_DEPEND} )"
-
-src_unpack() {
- if [[ ${PV} = 9999* ]]; then
- mercurial_src_unpack
- # Can't set it at global scope due to mercurial.eclass limitations...
- export S=${WORKDIR}/${P}/source
- else
- unpack ${A}
- export S="$(echo "${WORKDIR}/${PN}_"*"/source")"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PV}-build-Disable-march-selection-from-CMakeLists.txt.patch" # bug #510890
- epatch "${FILESDIR}/1.8-extralibs_order.patch"
-}
-
-# By default, the library and the encoder is configured for only one output bit
-# depth. Meaning, one has to rebuild libx265 if (s)he wants to produce HEVC
-# files with a different bit depth, which is annoying. However, upstream
-# supports proper namespacing for 8bits, 10bits & 12bits HEVC and linking all
-# that together so that the resulting library can produce all three of them
-# instead of only one.
-# The API requires the bit depth parameter, so that libx265 can then chose which
-# variant of the encoder to use.
-# To achieve this, we have to build one (static) library for each non-main
-# variant, and link it into the main library.
-# Upstream documents using the 8bit variant as main library, hence we do not
-# allow disabling it: "main" *MUST* come last in the following list.
-
-x265_get_variants() {
- local variants=""
- use 12bit && variants+="main12 "
- use 10bit && variants+="main10 "
- variants+="main"
- echo "${variants}"
-}
-
-x265_variant_src_configure() {
- mkdir -p "${BUILD_DIR}" || die
- pushd "${BUILD_DIR}" >/dev/null || die
-
- local mycmakeargs=( "${myabicmakeargs[@]}" )
- case "${MULTIBUILD_VARIANT}" in
- "main12")
- mycmakeargs+=(
- -DHIGH_BIT_DEPTH=ON
- -DEXPORT_C_API=OFF
- -DENABLE_SHARED=OFF
- -DENABLE_CLI=OFF
- -DMAIN12=ON
- )
- if [[ ${ABI} = x86 ]] ; then
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
- fi
- ;;
- "main10")
- mycmakeargs+=(
- -DHIGH_BIT_DEPTH=ON
- -DEXPORT_C_API=OFF
- -DENABLE_SHARED=OFF
- -DENABLE_CLI=OFF
- )
- if [[ ${ABI} = x86 ]] ; then
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
- fi
- ;;
- "main")
- if (( "${#MULTIBUILD_VARIANTS[@]}" > 1 )) ; then
- local myvariants=( "${MULTIBUILD_VARIANTS[@]}" )
- unset myvariants[${#MULTIBUILD_VARIANTS[@]}-1]
- local liblist=""
- for v in "${myvariants[@]}" ; do
- ln -s "${BUILD_DIR%-*}-${v}/libx265.a" "libx265_${v}.a" || die
- liblist+="libx265_${v}.a;"
- done
- mycmakeargs+=(
- -DEXTRA_LIB="${liblist}"
- -DEXTRA_LINK_FLAGS=-L.
- -DLINKED_10BIT=$(usex 10bit)
- -DLINKED_12BIT=$(usex 12bit)
- )
- fi
- ;;
- *)
- die "Unknown variant: ${MULTIBUILD_VARIANT}";;
- esac
- cmake-utils_src_configure
- popd >/dev/null || die
-}
-
-multilib_src_configure() {
- append-cflags -fPIC
- append-cxxflags -fPIC
- local myabicmakeargs=(
- $(cmake-utils_use_enable test TESTS)
- $(multilib_is_native_abi || echo "-DENABLE_CLI=OFF")
- -DCMAKE_DISABLE_FIND_PACKAGE_Numa=$(usex numa OFF ON)
- -DLIB_INSTALL_DIR="$(get_libdir)"
- )
-
- if [[ ${ABI} = x86 ]] ; then
- # Bug #528202
- if use pic ; then
- ewarn "PIC has been requested but x86 asm is not PIC-safe, disabling it."
- myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
- fi
- elif [[ ${ABI} = x32 ]] ; then
- # bug #510890
- myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
- fi
-
- local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
- multibuild_foreach_variant x265_variant_src_configure
-}
-
-multilib_src_compile() {
- local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
- multibuild_foreach_variant cmake-utils_src_compile
-}
-
-x265_variant_src_test() {
- if [ -x "${BUILD_DIR}/test/TestBench" ] ; then
- "${BUILD_DIR}/test/TestBench" || die
- else
- einfo "Unit tests check only assembly."
- einfo "You do not seem to have any for ABI=${ABI}, x265 variant=${MULTIBUILD_VARIANT}"
- einfo "Skipping tests."
- fi
-}
-
-multilib_src_test() {
- local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
- multibuild_foreach_variant x265_variant_src_test
-}
-
-multilib_src_install() {
- # Install only "main" variant since the others are already linked into it.
- local MULTIBUILD_VARIANTS=( "main" )
- multibuild_foreach_variant cmake-utils_src_install
-}
-
-multilib_src_install_all() {
- dodoc -r "${S}/../doc/"*
-}