[vlc-commits] contrib: add x265
Rafaël Carré
git at videolan.org
Mon Jan 13 23:32:50 CET 2014
vlc | branch: master | Rafaël Carré <funman at videolan.org> | Mon Jan 13 17:59:41 2014 +0100| [d03f05479f46ec10f8194e62cddb4e77815bc7e0] | committer: Rafaël Carré
contrib: add x265
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d03f05479f46ec10f8194e62cddb4e77815bc7e0
---
contrib/src/x265/SHA512SUMS | 1 +
contrib/src/x265/rules.mak | 34 ++++++++++++++++++++++++++++++++++
contrib/src/x265/static-only.patch | 31 +++++++++++++++++++++++++++++++
3 files changed, 66 insertions(+)
diff --git a/contrib/src/x265/SHA512SUMS b/contrib/src/x265/SHA512SUMS
new file mode 100644
index 0000000..9fe0c12
--- /dev/null
+++ b/contrib/src/x265/SHA512SUMS
@@ -0,0 +1 @@
+dd58b502d01594d3a7036ff91bfe9bde93914deec91051f15bba4b805cd5f5261ecb58c70b4795f0b83148bd99faf22d4a1cdadd76e25b50aad9668043e894e6 x265-0.6.tar.bz2
diff --git a/contrib/src/x265/rules.mak b/contrib/src/x265/rules.mak
new file mode 100644
index 0000000..102c999
--- /dev/null
+++ b/contrib/src/x265/rules.mak
@@ -0,0 +1,34 @@
+# x265
+
+#X265_GITURL := https://github.com/videolan/x265
+X265_VERSION := 0.6
+X265_SNAPURL := https://bitbucket.org/multicoreware/x265/get/$(X265_VERSION).tar.bz2
+
+ifdef BUILD_ENCODERS
+ifdef GPL
+PKGS += x265
+endif
+endif
+
+ifeq ($(call need_pkg,"x265 >= 0.6"),)
+PKGS_FOUND += x265
+endif
+
+$(TARBALLS)/x265-git.tar.xz:
+ $(call download_git,$(X265_GITURL))
+
+$(TARBALLS)/x265-$(X265_VERSION).tar.bz2:
+ $(call download,$(X265_SNAPURL))
+
+x265: x265-$(X265_VERSION).tar.bz2 .sum-x265
+ rm -Rf $@-$(X265_VERSION)
+ mkdir -p $@-$(X265_VERSION)
+ $(BZCAT) "$<" | (cd $@-$(X265_VERSION) && tar xv --strip-components=1)
+ $(call pkg_static,"source/x265.pc.in")
+ $(APPLY) $(SRC)/x265/static-only.patch
+ $(MOVE)
+
+.x265: x265 toolchain.cmake
+ cd $</source && $(HOSTVARS_PIC) $(CMAKE)
+ cd $</source && $(MAKE) install
+ touch $@
diff --git a/contrib/src/x265/static-only.patch b/contrib/src/x265/static-only.patch
new file mode 100644
index 0000000..4b119e3
--- /dev/null
+++ b/contrib/src/x265/static-only.patch
@@ -0,0 +1,31 @@
+--- x265/source/CMakeLists.txt.orig 2014-01-13 22:56:15.441726467 +0100
++++ x265/source/CMakeLists.txt 2014-01-13 22:56:36.947787400 +0100
+@@ -196,28 +196,15 @@
+ endif()
+
+ add_library(x265-static STATIC $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common> ${YASM_OBJS} ${YASM_SRCS})
+-add_library(x265-shared SHARED dllmain.cpp "${PROJECT_BINARY_DIR}/x265.def" ${YASM_OBJS}
+- $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common>)
+-target_link_libraries(x265-shared ${PLATFORM_LIBS})
+-set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265)
+ if(NOT MSVC)
+ set_target_properties(x265-static PROPERTIES OUTPUT_NAME x265)
+ endif()
+-if(UNIX AND NOT APPLE)
+- set_target_properties(x265-shared PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic")
+-endif()
+ # WIN32 builds static: x265-static.lib shared: x265.dll + x265.lib (shim loader)
+ # MINGW builds static: libx265-static.a shared: libx265.dll + libx265.dll.a
+ # *NIX builds static: libx265.a shared: libx265.so
+
+ if(X265_LATEST_TAG)
+ # shared library is not installed if a tag is not found
+- set_target_properties(x265-shared PROPERTIES VERSION ${X265_LATEST_TAG} SOVERSION ${X265_BUILD})
+- install(TARGETS x265-shared
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
+-
+ # convert lists of link libraries into -lstdc++ -lm etc..
+ foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
+ set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
More information about the vlc-commits
mailing list