[vlc-commits] contrib: x265: Patch x265 to skip the resource file
Martin Storsjö
git at videolan.org
Mon Feb 26 11:21:57 CET 2018
vlc | branch: master | Martin Storsjö <martin at martin.st> | Thu Dec 14 12:08:39 2017 +0200| [696cb02d7bbd491cdc8a2df29b53d48f391b59c5] | committer: Martin Storsjö
contrib: x265: Patch x265 to skip the resource file
CMake uses a static library to pass files to the linker. CMake
does request windres to produce a COFF formatted object file, but
llvm-mingw's windres wrapper currently overrides it and produces
a .res (arch independent) formatted one instead. LLD doesn't support
such files in static libraries.
Just don't bother with the resource file for now, it's irrelevant
from VLC's point of view - it's only used for the executable and
shared library, neither of which are used by VLC.
Passing -DCMAKE_RC_COMPILER=FALSE on the cmake configuration line
sounds like a different workaround, but that doesn't seem to work
though - then we suddenly start getting -fPIC flags to the compiler,
which clang errors out on.
This can be dropped once llvm-mingw doesn't need to force the
windres output into the arch independent format.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=696cb02d7bbd491cdc8a2df29b53d48f391b59c5
---
contrib/src/x265/rules.mak | 1 +
contrib/src/x265/win-skip-res.patch | 12 ++++++++++++
2 files changed, 13 insertions(+)
diff --git a/contrib/src/x265/rules.mak b/contrib/src/x265/rules.mak
index 95b797333a..146d9da045 100644
--- a/contrib/src/x265/rules.mak
+++ b/contrib/src/x265/rules.mak
@@ -27,6 +27,7 @@ x265: x265-$(X265_VERSION).tar.bz2 .sum-x265
mkdir -p $@-$(X265_VERSION)
tar xvjf "$<" --strip-components=1 -C $@-$(X265_VERSION)
$(APPLY) $(SRC)/x265/x265-ldl-linking.patch
+ $(APPLY) $(SRC)/x265/win-skip-res.patch
$(call pkg_static,"source/x265.pc.in")
ifndef HAVE_WIN32
$(APPLY) $(SRC)/x265/x265-pkg-libs.patch
diff --git a/contrib/src/x265/win-skip-res.patch b/contrib/src/x265/win-skip-res.patch
new file mode 100644
index 0000000000..ffac8d5930
--- /dev/null
+++ b/contrib/src/x265/win-skip-res.patch
@@ -0,0 +1,12 @@
+diff -urN x265-orig/source/CMakeLists.txt x265/source/CMakeLists.txt
+--- x265-orig/source/CMakeLists.txt 2017-12-14 10:04:53.932080387 +0000
++++ x265/source/CMakeLists.txt 2017-12-14 10:05:35.151167937 +0000
+@@ -441,7 +441,7 @@
+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+ install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
+
+-if(CMAKE_RC_COMPILER)
++if(FALSE)
+ # The resource compiler does not need CFLAGS or macro defines. It
+ # often breaks them
+ string(REPLACE "<FLAGS>" "" CMAKE_RC_COMPILE_OBJECT "${CMAKE_RC_COMPILE_OBJECT}")
More information about the vlc-commits
mailing list