[vlc-devel] [PATCH 3/3] contribs: qt: Clean up libQt5Bootstrap.a in the build tree as well

Martin Storsjö martin at martin.st
Thu Dec 21 22:57:44 CET 2017

When building the Qt tools for the target architecture in cross
compilation, the bootstrap object library is rebuilt. (In cross
builds of Qt, the tools are only built for the build host.
The VLC contribs build them manually for the targeted environment
afterwards.) The tools bootstrap library wasn't removed inbetween

This meant that the object files for the second round (for the
cross target environment) were added to the bootstrap library for
the host environment. Most object files were just replaced, but some
few object files weren't built at all in cross builds for windows.
This meant that after cross-building the bootstrap library for windows,
it still contained a few object files for the native host build
environment as well.

lld-link errors out when it encounters object files in a static library
that it can't parse (in this case, ELF files when doing a windows cross
 contrib/src/qt/rules.mak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/src/qt/rules.mak b/contrib/src/qt/rules.mak
index 8f7c3ab..53f69e9 100644
--- a/contrib/src/qt/rules.mak
+++ b/contrib/src/qt/rules.mak
@@ -60,7 +60,7 @@ endif
 	mkdir -p $(PREFIX)/include/QtGui/qpa
 	cp $(PREFIX)/include/QtGui/$(QT_VERSION)/QtGui/qpa/qplatformnativeinterface.h $(PREFIX)/include/QtGui/qpa
 	# Clean Qt mess
-	rm -rf $(PREFIX)/lib/libQt5Bootstrap*
+	rm -rf $(PREFIX)/lib/libQt5Bootstrap* $</lib/libQt5Bootstrap*
 	# Fix .pc files to remove debug version (d)
 	cd $(PREFIX)/lib/pkgconfig; for i in Qt5Core.pc Qt5Gui.pc Qt5Widgets.pc; do sed -i -e 's/d\.a/.a/g' -e 's/d $$/ /' $$i; done
 	# Fix Qt5Gui.pc file to include qwindows (QWindowsIntegrationPlugin) and Qt5Platform Support

More information about the vlc-devel mailing list