summaryrefslogtreecommitdiffstats
path: root/src/x265.mk
diff options
context:
space:
mode:
authordarealshinji <djcj@gmx.de>2017-07-01 16:36:06 (GMT)
committerdarealshinji <djcj@gmx.de>2017-07-01 16:36:06 (GMT)
commita6731b852730369f04d826519bf04e146c9e1b6a (patch)
treeab0337d6c39cb66531115e19b2b5b8521f2aa41d /src/x265.mk
parentbfdb83d7255a325ddd03d9265ca7b1d8c2144c60 (diff)
downloadmxe-a6731b852730369f04d826519bf04e146c9e1b6a.zip
mxe-a6731b852730369f04d826519bf04e146c9e1b6a.tar.gz
mxe-a6731b852730369f04d826519bf04e146c9e1b6a.tar.bz2
x265: update, add patch and test
Diffstat (limited to 'src/x265.mk')
-rw-r--r--src/x265.mk69
1 files changed, 39 insertions, 30 deletions
diff --git a/src/x265.mk b/src/x265.mk
index c9974b9..c136782 100644
--- a/src/x265.mk
+++ b/src/x265.mk
@@ -3,12 +3,12 @@
PKG := x265
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 1.8
-$(PKG)_CHECKSUM := d41a3f0cc06dfc3967f6c47f458cb30b6aaa518f86c56c147946395bfe22b6f2
+$(PKG)_VERSION := 2.4
+$(PKG)_CHECKSUM := 9c2aa718d78f6fecdd783f08ab83b98d3169e5f670404da4c16439306907d729
$(PKG)_SUBDIR := x265_$($(PKG)_VERSION)
$(PKG)_FILE := x265_$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://ftp.videolan.org/pub/videolan/$(PKG)/$($(PKG)_FILE)
-$(PKG)_DEPS := gcc cmake yasm
+$(PKG)_DEPS := gcc yasm
define $(PKG)_UPDATE
$(WGET) -q -O- https://ftp.videolan.org/pub/videolan/x265/ | \
@@ -16,50 +16,59 @@ define $(PKG)_UPDATE
tail -1
endef
+# note: assembly for i686 targets is not officially supported
define $(PKG)_BUILD
- cd '$(1)' && mkdir -p 8bit 10bit 12bit
+ cd '$(BUILD_DIR)' && mkdir -p 10bit 12bit
# 12 bit
- test '$(TARGET)' = 'x86_64-w64-mingw32.static' && X265_ASM=ON || X265_ASM=OFF; \
- cd '$(1)/12bit' && cmake ../source \
- -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+ cd '$(BUILD_DIR)/12bit' && $(TARGET)-cmake '$(SOURCE_DIR)/source' \
-DHIGH_BIT_DEPTH=ON \
-DEXPORT_C_API=OFF \
-DENABLE_SHARED=OFF \
- -DENABLE_ASSEMBLY=$$X265_ASM \
+ -DENABLE_ASSEMBLY=$(if $(findstring x86_64,$(TARGET)),ON,OFF) \
-DENABLE_CLI=OFF \
+ -DWINXP_SUPPORT=ON \
+ -DENABLE_DYNAMIC_HDR10=ON \
-DMAIN12=ON
- $(MAKE) -C '$(1)/12bit' -j '$(JOBS)'
- cp '$(1)/12bit/libx265.a' '$(1)/8bit/libx265_main12.a'
+ $(MAKE) -C '$(BUILD_DIR)/12bit' -j '$(JOBS)'
+ cp '$(BUILD_DIR)/12bit/libx265.a' '$(BUILD_DIR)/libx265_main12.a'
# 10 bit
- test '$(TARGET)' = 'x86_64-w64-mingw32.static' && X265_ASM=ON || X265_ASM=OFF; \
- cd '$(1)/10bit' && cmake ../source \
- -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+ cd '$(BUILD_DIR)/10bit' && $(TARGET)-cmake '$(SOURCE_DIR)/source' \
-DHIGH_BIT_DEPTH=ON \
-DEXPORT_C_API=OFF \
-DENABLE_SHARED=OFF \
- -DENABLE_ASSEMBLY=$$X265_ASM \
- -DENABLE_CLI=OFF
- $(MAKE) -C '$(1)/10bit' -j '$(JOBS)'
- cp '$(1)/10bit/libx265.a' '$(1)/8bit/libx265_main10.a'
+ -DENABLE_ASSEMBLY=$(if $(findstring x86_64,$(TARGET)),ON,OFF) \
+ -DENABLE_CLI=OFF \
+ -DWINXP_SUPPORT=ON \
+ -DENABLE_DYNAMIC_HDR10=ON
+ $(MAKE) -C '$(BUILD_DIR)/10bit' -j '$(JOBS)'
+ cp '$(BUILD_DIR)/10bit/libx265.a' '$(BUILD_DIR)/libx265_main10.a'
# 8bit
- test '$(TARGET)' = 'x86_64-w64-mingw32.static' && X265_ASM=ON || X265_ASM=OFF; \
- cd '$(1)/8bit' && cmake ../source \
- -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
- -DENABLE_SHARED=OFF \
- -DENABLE_ASSEMBLY=$$X265_ASM \
- -DEXTRA_LIB="x265_main10.a;x265_main12.a" \
- -DEXTRA_LINK_FLAGS=-L. \
+ cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)/source' \
+ -DHIGH_BIT_DEPTH=OFF \
+ -DEXPORT_C_API=ON \
+ -DENABLE_SHARED=$(CMAKE_SHARED_BOOL) \
+ -DENABLE_ASSEMBLY=$(if $(findstring x86_64,$(TARGET)),ON,OFF) \
+ -DENABLE_CLI=OFF \
+ -DWINXP_SUPPORT=ON \
+ -DENABLE_DYNAMIC_HDR10=ON \
+ -DEXTRA_LIB='x265_main10.a;x265_main12.a' \
+ -DEXTRA_LINK_FLAGS=-L'$(BUILD_DIR)' \
-DLINKED_10BIT=ON \
-DLINKED_12BIT=ON
- $(MAKE) -C '$(1)/8bit' -j '$(JOBS)' install
- $(INSTALL) '$(1)/8bit/libx265_main12.a' '$(PREFIX)/$(TARGET)/lib/libx265_main12.a'
- $(INSTALL) '$(1)/8bit/libx265_main10.a' '$(PREFIX)/$(TARGET)/lib/libx265_main10.a'
- $(SED) -i 's|-lx265|-lx265 -lx265_main10 -lx265_main12|' '$(PREFIX)/$(TARGET)/lib/pkgconfig/x265.pc'
-endef
+ $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' install
+ $(if $(BUILD_SHARED),rm -f '$(PREFIX)/$(TARGET)/lib/libx265.a',\
+ $(INSTALL) '$(BUILD_DIR)/libx265_main12.a' '$(PREFIX)/$(TARGET)/lib/libx265_main12.a' && \
+ $(INSTALL) '$(BUILD_DIR)/libx265_main10.a' '$(PREFIX)/$(TARGET)/lib/libx265_main10.a' && \
+ $(SED) -i 's|-lx265|-lx265 -lx265_main10 -lx265_main12|' '$(PREFIX)/$(TARGET)/lib/pkgconfig/x265.pc')
-$(PKG)_BUILD_SHARED =
+ '$(TARGET)-gcc' \
+ -W -Wall -Werror \
+ '$(TOP_DIR)/src/$(PKG)-test.c' \
+ -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
+ `$(TARGET)-pkg-config --cflags --libs $(PKG)`
+endef