summaryrefslogtreecommitdiff
path: root/x265/Pkgfile
blob: 3d6467359b6315117c83d5aa98b1a3666e2be0e6 (plain)
    1 # Description: Open Source H265/HEVC video encoder.
    2 # URL: https://bitbucket.org/multicoreware/x265_git/wiki/Home
    3 # Maintainer: Danny Rawlins, crux at romster dot me
    4 # Depends on: cmake
    5 
    6 name=x265
    7 version=3.5
    8 release=1
    9 source=(https://bitbucket.org/multicoreware/${name}_git/downloads/${name}_$version.tar.gz)
   10 
   11 build() {
   12 	[[ -e '/usr/bin/ninja' ]] && PKGMK_X265+=' -G Ninja'
   13 
   14 	# common args
   15 	local common_args=(
   16 		-D CMAKE_INSTALL_PREFIX=/usr
   17 		-D CMAKE_BUILD_TYPE=Release
   18 		-D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS -Wno-restrict -Wno-format-overflow"
   19 		-D CMAKE_ASM_NASM_FLAGS_RELEASE=' -wno-macro-params-legacy'
   20 		-D HIGH_BIT_DEPTH=TRUE
   21 		-D EXPORT_C_API=FALSE
   22 		-D ENABLE_CLI=FALSE
   23 		-D ENABLE_SHARED=FALSE
   24 	)
   25 
   26 	# build 12
   27 	cmake -S $SRC/${name}_$version/source -B build-12 $PKGMK_X265 \
   28 		-D MAIN12=TRUE \
   29 		"${common_args[@]}" \
   30 		-Wno-dev
   31 	cmake --build build-12
   32 
   33 	# build 10
   34 	cmake -S $SRC/${name}_$version/source -B build-10 $PKGMK_X265 \
   35 		"${common_args[@]}" \
   36 		-Wno-dev
   37 	cmake --build build-10
   38 
   39 	# build 8
   40 	mkdir build-8
   41 	ln -s $SRC/build-12/libx265.a $SRC/build-8/libx265_main12.a
   42 	ln -s $SRC/build-10/libx265.a $SRC/build-8/libx265_main10.a
   43 
   44 	cmake -S $SRC/${name}_$version/source -B build-8 $PKGMK_X265 \
   45 		"${common_args[@]:0:10}" \
   46 		-D ENABLE_SHARED=TRUE \
   47 		-D EXTRA_LIB='x265_main10.a;x265_main12.a' \
   48 		-D EXTRA_LINK_FLAGS='-L.' \
   49 		-D LINKED_10BIT=TRUE \
   50 		-D LINKED_12BIT=TRUE \
   51 		-Wno-dev
   52 	cmake --build build-8
   53 	DESTDIR=$PKG cmake --install build-8
   54 }

Generated by cgit