Name libx265-199
Description H.265/HEVC video stream encoder (shared library)
Version 3.5-2build1
Package Base x265
Homepage http://x265.org
Maintainers ['Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>']
Contributors ['Sebastian Ramacher <sramacher@debian.org>']
Distro-repo https://git.launchpad.net/ubuntu/+source/x265/tree/?h=ubuntu/noble
Sources ['https://git.launchpad.net/ubuntu/+source/libx265-199/plain/debian/watch?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/x265/plain/debian/patches/../?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/x265/plain/debian/patches/0001-Fix-arm-flags.patch?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/x265/plain/debian/patches/0002-Detect-x32-handle-as-non-x86-and-no-ASM-for-now-but-.patch?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/x265/plain/debian/patches/0003-Drop-dlopen-code-path-that-will-never-be-hit.patch?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/x265/plain/debian/patches/series?h=ubuntu/noble']
Dependencies ['libc6', 'libnuma1', 'libstdc++6']
Optional-Dependencies []
Build-Dependencies ['debhelper-compat', 'cmake', 'git', 'libnuma-dev [amd64 arm64 i386 mips mips64 mips64el mipsel powerpc ppc64el]', 'nasm']
Provides []
Builddate
Architecture amd64
Distro-Version noble
Licenses []
Hash 795a6ca9287cd521882178d6503703ee8f0cde955f0ffc03e5ceee9f6d084de7
#! /usr/bin/make -f

include /usr/share/dpkg/architecture.mk

export DEB_BUILD_MAINT_OPTIONS=hardening=+all

export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed \
	-L$(CURDIR)/x265-10bit \
	-L$(CURDIR)/x265-12bit
# see #789111
export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions
# LFS support
export DEB_CPPFLAGS_MAINT_APPEND=$(shell getconf LFS_CFLAGS)

FLAGS  = -DENABLE_PIC=ON
# no shared libs are built if HDR10+ is enabled
# FLAGS += -DENABLE_HDR10_PLUS=ON
FLAGS_OTHERBIT  = -DENABLE_CLI=OFF
FLAGS_OTHERBIT += -DENABLE_SHARED=OFF
FLAGS_OTHERBIT += -DEXPORT_C_API=OFF
FLAGS_OTHERBIT += -DHIGH_BIT_DEPTH=ON

# enable assembly builds on amd64, kfreebsd-amd64
ifneq (,$(filter $(DEB_HOST_ARCH),amd64 kfreebsd-amd64))
FLAGS += -DENABLE_ASSEMBLY=ON
else
FLAGS += -DENABLE_ASSEMBLY=OFF
endif

# disable altivec on ppc64 (see #923650)
ifneq (,$(filter $(DEB_HOST_ARCH),ppc64))
FLAGS += -DENABLE_ALTIVEC=OFF -DCPU_POWER8=OFF
endif
# disable altivec on ppc64el if building 10 bit and 12 bit versions
# see https://bitbucket.org/multicoreware/x265/issues/320/fail-to-build-on-power8-le
ifneq (,$(filter $(DEB_HOST_ARCH),ppc64el))
FLAGS_OTHERBIT += -DENABLE_ALTIVEC=OFF
endif

%:
	dh $@ --buildsystem=cmake \
		--sourcedirectory=source \
		--builddirectory=x265-8bit

override_dh_auto_clean:
	dh_auto_clean --builddirectory=x265-10bit
	dh_auto_clean --builddirectory=x265-12bit
	dh_auto_clean
	rm -rf doc/reST/build

# -arch bits

override_dh_auto_configure-arch:
	dh_auto_configure --builddirectory=x265-10bit -- \
		$(FLAGS) $(FLAGS_OTHERBIT)
	dh_auto_configure --builddirectory=x265-12bit -- \
		$(FLAGS) $(FLAGS_OTHERBIT) \
		-DMAIN12=ON
	dh_auto_configure -- \
		$(FLAGS) $(FLAGS_8BIT) \
		-DLIB_INSTALL_DIR=lib/$(DEB_HOST_MULTIARCH) \
		-DEXTRA_LIB="x265_main10.a;x265_main12.a" \
		-DLINKED_10BIT=ON \
		-DLINKED_12BIT=ON

override_dh_auto_build-arch:
	dh_auto_build --builddirectory=x265-10bit
	dh_auto_build --builddirectory=x265-12bit
	mv x265-10bit/libx265.a x265-10bit/libx265_main10.a
	mv x265-12bit/libx265.a x265-12bit/libx265_main12.a
	dh_auto_build

debian/arscript:
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/' debian/arscript.in > debian/arscript

override_dh_auto_install-arch: debian/arscript
	dh_auto_install
	rm debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libx265.a
	ar -M <debian/arscript

# -indep bits

# no configure, test and install for indep
override_dh_auto_configure-indep override_dh_auto_test-indep override_dh_auto_install-indep:

override_dh_auto_build-indep:
	$(MAKE) -C doc/reST html

override_dh_installdocs-indep:
	dh_installdocs
	dh_sphinxdoc

override_dh_installchangelogs:
	dh_installchangelogs doc/reST/releasenotes.rst