[vlc-commits] [Git][videolan/vlc][master] 17 commits: contrib: qt: don't install syncqt.pl
Steve Lhomme (@robUx4)
gitlab at videolan.org
Fri Dec 16 13:29:36 UTC 2022
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
448fa2aa by Steve Lhomme at 2022-12-16T13:18:50+01:00
contrib: qt: don't install syncqt.pl
We don't need it, it's used when building from git.
- - - - -
9d64d4c1 by Steve Lhomme at 2022-12-16T13:18:50+01:00
contrib: qt: build all in one call
'all' contains all the targets we want to build. Most of the others
have been disabled in the config.
We are gaining Qt5OpenGL, Qt5OpenGLExtensions, qgenericbearer and
qtuiotouchplugin. Also QtZlib headers but they are not used.
- - - - -
3370eb96 by Steve Lhomme at 2022-12-16T13:18:50+01:00
contrib: qtdeclarative: don't build qml.exe
We don't need this big executable but there's no option to disable it.
- - - - -
01527446 by Steve Lhomme at 2022-12-16T13:18:51+01:00
contrib: qtdeclarative: build everything at once
We already configure what we want. We get a few extra qml tools which
can't be disabled individually.
QtParticles which was already built is now installed. It can be disabled
if necessary.
- - - - -
730cc3b2 by Steve Lhomme at 2022-12-16T13:18:51+01:00
contrib: qtsvg: use the install target
As already done for other Qt contribs
- - - - -
4c92ac5d by Steve Lhomme at 2022-12-16T13:18:51+01:00
contrib: qtwayland: build everything at once
We don't need to micromanage what is being built. It can actually be
built on all targets. The targets will be skipped when they don't make
sense (Windows, Darwin, Android)
- - - - -
da13d1ca by Steve Lhomme at 2022-12-16T13:18:51+01:00
contrib: qtx11extras: build the same way as other Qt contribs
- - - - -
7fefd5be by Steve Lhomme at 2022-12-16T13:18:52+01:00
contrib: qtgraphicaleffects: build the same way as other Qt contribs
- - - - -
d0d898ed by Steve Lhomme at 2022-12-16T13:18:52+01:00
contrib: qtquickcontrols2: build everything at once
We already configure what we want. We get a few extra qml tools which
can't be disabled individually.
- - - - -
42c37f5c by Steve Lhomme at 2022-12-16T13:18:52+01:00
contrib: put custom INSTALL_FILE in .qmake.cache
So we don't need to set it every time we want to install something.
- - - - -
2cbba14d by Steve Lhomme at 2022-12-16T13:18:52+01:00
contrib: qt: fix configure doc
- - - - -
5a143f1e by Steve Lhomme at 2022-12-16T13:18:53+01:00
contrib: qt: remove unneeded Angle include
The 5.15.1 Qt we use already does it.
- - - - -
1f39d9f5 by Steve Lhomme at 2022-12-16T13:18:53+01:00
contrib: qt: don't use QT_ENV_VARS when building
Setting DXSDK_DIR during the configure phase is sufficient.
- - - - -
dc0225aa by Steve Lhomme at 2022-12-16T13:18:53+01:00
contrib: qt: move the pkgversion version fix in a separate patch
Comment from 0059afc9d8c532809d2b6d098c863907051c4d44:
Enforce VERSION for the plugins. Without enforcing VERSION, the
QMAKE_PKGCONFIG_VERSION is not set at all on Windows, and Version: in
the .pc file is not present. It leads to invalid pkgconfig files on
Windows.
Co-authored-by: Alexandre Janniaux <ajanni at videolabs.io>
- - - - -
b0acd67d by Steve Lhomme at 2022-12-16T13:18:53+01:00
contrib: qt: move the Qt/Qml plugins path replacement fix in a separate patch
Comment from 09e3cc77daeaf597a53f5a3937c386ea1e73e47c:
Path were still redirecting to the contrib-win64/ folder instead of
linking the $(PREFIX) folder in the Libs: section.
Co-authored-by: Alexandre Janniaux <ajanni at videolabs.io>
- - - - -
2eb6b815 by Steve Lhomme at 2022-12-16T13:18:54+01:00
contrib: qt: use our own strip command
It can be customized by the user; so we should use it.
- - - - -
3c12a797 by Steve Lhomme at 2022-12-16T13:18:54+01:00
contrib: qtdeclarative: don't build QtParticles
- - - - -
10 changed files:
- + contrib/src/qt/force-pkgconfg-replace.patch
- contrib/src/qt/rules.mak
- contrib/src/qt/set-mkspecs-properties.patch
- + contrib/src/qt/set-mkspecs-version.patch
- contrib/src/qtdeclarative/rules.mak
- contrib/src/qtgraphicaleffects/rules.mak
- contrib/src/qtquickcontrols2/rules.mak
- contrib/src/qtsvg/rules.mak
- contrib/src/qtwayland/rules.mak
- contrib/src/qtx11extras/rules.mak
Changes:
=====================================
contrib/src/qt/force-pkgconfg-replace.patch
=====================================
@@ -0,0 +1,26 @@
+--- a/mkspecs/features/qml_plugin.prf 2020-09-02 12:15:07.000000000 +0200
++++ b/mkspecs/features/qml_plugin.prf 2022-08-31 10:58:10.110600024 +0200
+@@ -13,6 +13,10 @@
+
+ TEMPLATE = lib
+ CONFIG += plugin
++qmlprefixpclib_replace.match = $$dirname(_QMAKE_CONF_)
++qmlprefixpclib_replace.replace = $$[QT_INSTALL_PREFIX]
++qmlprefixpclib_replace.CONFIG = path
++QMAKE_PKGCONFIG_INSTALL_REPLACE += qmlprefixpclib_replace
+
+ if(win32|mac):!macx-xcode {
+ qtConfig(debug_and_release): CONFIG += debug_and_release
+--- a/mkspecs/features/qt_plugin.prf 2020-09-02 12:15:07.000000000 +0200
++++ b/mkspecs/features/qt_plugin.prf 2022-08-31 10:59:48.380662936 +0200
+@@ -15,6 +15,10 @@
+
+ TEMPLATE = lib
+ CONFIG += plugin
++pluginpclib_replace.match = $$MODULE_BASE_OUTDIR/lib
++pluginpclib_replace.replace = $$[QT_INSTALL_LIBS]
++pluginpclib_replace.CONFIG = path
++QMAKE_PKGCONFIG_INSTALL_REPLACE += pluginpclib_replace
+ DESTDIR = $$MODULE_BASE_OUTDIR/plugins/$$PLUGIN_TYPE
+
+ win32:CONFIG(shared, static|shared) {
=====================================
contrib/src/qt/rules.mak
=====================================
@@ -56,7 +56,12 @@ endif
endif
$(APPLY) $(SRC)/qt/qt-fix-gcc11-build.patch
$(APPLY) $(SRC)/qt/qt-add-missing-header-darwin.patch
+ # force path replacement in pkg-config output files
+ $(APPLY) $(SRC)/qt/force-pkgconfg-replace.patch
+ # pass all files installed through our installer
$(APPLY) $(SRC)/qt/set-mkspecs-properties.patch
+ # fix missing QMAKE_PKGCONFIG_VERSION in Windows targets
+ $(APPLY) $(SRC)/qt/set-mkspecs-version.patch
# fix detection of our harfbuzz on macosx
sed -i.orig 's#"-lharfbuzz"#{ "libs": "-framework CoreText -framework CoreGraphics -framework CoreFoundation -lharfbuzz", "condition": "config.darwin" }, "-lharfbuzz"#' "$(UNPACK_DIR)/src/gui/configure.json"
# Let us decide the WINVER/_WIN32_WINNT
@@ -107,7 +112,8 @@ QT_CONFIG := -static -opensource -confirm-license $(QT_OPENGL) -no-pkg-config \
-no-feature-concurrent -no-feature-itemmodeltester -no-feature-printer \
-no-feature-sqlmodel -no-feature-sql -no-feature-testlib -no-feature-xml \
-no-compile-examples -nomake examples -nomake tests \
- -system-freetype -system-harfbuzz -system-libjpeg -system-libpng -system-zlib
+ -system-freetype -system-harfbuzz -system-libjpeg -system-libpng -system-zlib \
+ -no-syncqt
# For now, we only build Qt in release mode. In debug mode, startup is prevented by the internal ANGLE
# throwing an assertion in debug mode, but only when built with clang. See issue 27476.
@@ -127,12 +133,15 @@ QT_QINSTALL="$(shell cd $(SRC)/qt/; pwd -P)/install_wrapper.sh"
qmake_toolchain = echo "!host_build {" > $(1)/.qmake.cache && \
echo " QMAKE_C = $(CC)" >> $(1)/.qmake.cache && \
echo " QMAKE_CXX = $(CXX)" >> $(1)/.qmake.cache && \
+ echo " QMAKE_STRIP = $(STRIP)" >> $(1)/.qmake.cache && \
echo " QMAKE_CFLAGS += -isystem $(PREFIX)/include $(CFLAGS)" >> $(1)/.qmake.cache && \
echo " QMAKE_CXXFLAGS += -isystem $(PREFIX)/include $(CXXFLAGS)" >> $(1)/.qmake.cache && \
echo " QMAKE_LFLAGS += $(LDFLAGS)" >> $(1)/.qmake.cache && \
+ echo " QMAKE_INSTALL_FILE = VLC_PREFIX=$(PREFIX) $(QT_QINSTALL)" >> $(1)/.qmake.cache && \
echo "} else {" >> $(1)/.qmake.cache && \
echo " QMAKE_C = $(BUILDCC)" >> $(1)/.qmake.cache && \
echo " QMAKE_CXX = $(BUILDCXX)" >> $(1)/.qmake.cache && \
+ echo " QMAKE_STRIP = $(BUILDSTRIP)" >> $(1)/.qmake.cache && \
echo " QMAKE_CFLAGS += $(BUILDCFLAGS)" >> $(1)/.qmake.cache && \
echo " QMAKE_CXXFLAGS += $(BUILDCXXFLAGS)" >> $(1)/.qmake.cache && \
echo " QMAKE_LFLAGS += $(BUILDLDFLAGS)" >> $(1)/.qmake.cache && \
@@ -143,45 +152,16 @@ qmake_toolchain = echo "!host_build {" > $(1)/.qmake.cache && \
.qt: qt
$(call qmake_toolchain, $<)
+ # Configure qt, build and run qmake
+cd $< && $(QT_ENV_VARS) ./configure $(QT_PLATFORM) $(QT_CONFIG) -prefix $(PREFIX) -hostprefix $(PREFIX)/lib/qt5 \
$(shell $(SRC)/qt/configure-env.py $(CPPFLAGS) $(LDFLAGS))
- # Make && Install libraries
- cd $< && $(QT_ENV_VARS) $(MAKE)
- $(MAKE) -C $< -C src \
- INSTALL_FILE=$(QT_QINSTALL) VLC_PREFIX="$(PREFIX)" \
- sub-corelib-install_subtargets \
- sub-gui-install_subtargets \
- sub-widgets-install_subtargets \
- sub-platformsupport-install_subtargets \
- sub-bootstrap-install_subtargets \
- sub-network-install_subtargets
- # Install tools
- $(MAKE) -C $< -C src \
- sub-moc-install_subtargets \
- sub-rcc-install_subtargets \
- sub-uic-install_subtargets \
- sub-qlalr-install_subtargets
- # Install plugins
- $(MAKE) -C $< -C src/plugins \
- INSTALL_FILE=$(QT_QINSTALL) VLC_PREFIX="$(PREFIX)" \
- sub-imageformats-install_subtargets \
- sub-platforms-install_subtargets \
- sub-styles-install_subtargets
+ # Build libraries, widgets, plugins, doc (empty)
+ $(MAKE) -C $<
+ # Install libraries, widgets, plugins, tools, doc (empty)
+ $(MAKE) -C $< install
-ifdef HAVE_WIN32
- # Add the ANGLE headers to our project
- sed -i.orig -e 's#-I$${includedir}/QtGui#-I$${includedir}/QtGui -I$${includedir}/QtANGLE#' $(PREFIX)/lib/pkgconfig/Qt5Gui.pc
-endif
-
- #fix host tools headers to avoid collusion with target headers
+ #fix host tools headers to avoid collision with target headers
mkdir -p $(PREFIX)/lib/qt5/include
cp -R $(PREFIX)/include/QtCore $(PREFIX)/lib/qt5/include
sed -i.orig -e "s#\$\$QT_MODULE_INCLUDE_BASE#$(PREFIX)/lib/qt5/include#g" $(PREFIX)/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri
- # Install a qmake with correct paths set
- $(MAKE) -C $< sub-qmake-qmake-aux-pro-install_subtargets install_mkspecs
-ifdef HAVE_WIN32
- # Install libqtmain for potentially other targets, eg. docs/ samples
- $(MAKE) -C "$</src/winmain" all
- $(MAKE) -C "$</src/winmain" install
-endif
touch $@
=====================================
contrib/src/qt/set-mkspecs-properties.patch
=====================================
@@ -1,55 +1,3 @@
---- a/mkspecs/features/qml_plugin.prf 2020-09-02 12:15:07.000000000 +0200
-+++ b/mkspecs/features/qml_plugin.prf 2022-08-31 10:58:10.110600024 +0200
-@@ -13,6 +13,10 @@
-
- TEMPLATE = lib
- CONFIG += plugin
-+qmlprefixpclib_replace.match = $$dirname(_QMAKE_CONF_)
-+qmlprefixpclib_replace.replace = $$[QT_INSTALL_PREFIX]
-+qmlprefixpclib_replace.CONFIG = path
-+QMAKE_PKGCONFIG_INSTALL_REPLACE += qmlprefixpclib_replace
-
- if(win32|mac):!macx-xcode {
- qtConfig(debug_and_release): CONFIG += debug_and_release
---- a/mkspecs/features/qt_plugin.prf 2020-09-02 12:15:07.000000000 +0200
-+++ b/mkspecs/features/qt_plugin.prf 2022-08-31 10:59:48.380662936 +0200
-@@ -15,6 +15,10 @@
-
- TEMPLATE = lib
- CONFIG += plugin
-+pluginpclib_replace.match = $$MODULE_BASE_OUTDIR/lib
-+pluginpclib_replace.replace = $$[QT_INSTALL_LIBS]
-+pluginpclib_replace.CONFIG = path
-+QMAKE_PKGCONFIG_INSTALL_REPLACE += pluginpclib_replace
- DESTDIR = $$MODULE_BASE_OUTDIR/plugins/$$PLUGIN_TYPE
-
- win32:CONFIG(shared, static|shared) {
---- a/mkspecs/features/qml_plugin.prf 2022-09-02 14:15:09.023765377 +0200
-+++ b/mkspecs/features/qml_plugin.prf 2022-09-02 14:59:06.296938907 +0200
-@@ -30,9 +30,9 @@
- }
- isEmpty(TARGETPATH): TARGETPATH = $$eval(QT.$${CXX_MODULE}.name)
-
-+isEmpty(VERSION): VERSION = $$MODULE_VERSION
- win32:CONFIG(shared, static|shared) {
- # Embed a VERSIONINFO resource into the plugin's DLL.
-- isEmpty(VERSION): VERSION = $$MODULE_VERSION
- CONFIG += skip_target_version_ext
- }
-
---- a/mkspecs/features/qt_plugin.prf 2022-09-02 14:15:04.593670115 +0200
-+++ b/mkspecs/features/qt_plugin.prf 2022-09-02 14:59:06.296938907 +0200
-@@ -17,9 +17,9 @@
- CONFIG += plugin create_pc
- DESTDIR = $$MODULE_BASE_OUTDIR/plugins/$$PLUGIN_TYPE
-
-+isEmpty(VERSION): VERSION = $$QT_VERSION
- win32:CONFIG(shared, static|shared) {
- # Embed a VERSIONINFO resource into the plugin's DLL.
-- isEmpty(VERSION): VERSION = $$QT_VERSION
- CONFIG += skip_target_version_ext
- }
-
--- a/qmake/generators/makefile.cpp 2020-09-02 12:15:07.000000000 +0200
+++ b/qmake/generators/makefile.cpp 2022-09-12 11:42:01.170411450 +0200
@@ -3431,11 +3431,18 @@
=====================================
contrib/src/qt/set-mkspecs-version.patch
=====================================
@@ -0,0 +1,26 @@
+--- a/mkspecs/features/qml_plugin.prf 2022-09-02 14:15:09.023765377 +0200
++++ b/mkspecs/features/qml_plugin.prf 2022-09-02 14:59:06.296938907 +0200
+@@ -30,9 +30,9 @@
+ }
+ isEmpty(TARGETPATH): TARGETPATH = $$eval(QT.$${CXX_MODULE}.name)
+
++isEmpty(VERSION): VERSION = $$MODULE_VERSION
+ win32:CONFIG(shared, static|shared) {
+ # Embed a VERSIONINFO resource into the plugin's DLL.
+- isEmpty(VERSION): VERSION = $$MODULE_VERSION
+ CONFIG += skip_target_version_ext
+ }
+
+--- a/mkspecs/features/qt_plugin.prf 2022-09-02 14:15:04.593670115 +0200
++++ b/mkspecs/features/qt_plugin.prf 2022-09-02 14:59:06.296938907 +0200
+@@ -17,9 +17,9 @@
+ CONFIG += plugin create_pc
+ DESTDIR = $$MODULE_BASE_OUTDIR/plugins/$$PLUGIN_TYPE
+
++isEmpty(VERSION): VERSION = $$QT_VERSION
+ win32:CONFIG(shared, static|shared) {
+ # Embed a VERSIONINFO resource into the plugin's DLL.
+- isEmpty(VERSION): VERSION = $$QT_VERSION
+ CONFIG += skip_target_version_ext
+ }
+
=====================================
contrib/src/qtdeclarative/rules.mak
=====================================
@@ -22,42 +22,20 @@ $(TARBALLS)/qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz:
qtdeclarative: qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz .sum-qtdeclarative
$(UNPACK)
$(APPLY) $(SRC)/qtdeclarative/fix-gcc11-build.patch
+ # do not build qml.exe and other useless tools
+ sed -i.orig 's,!wasm:!rtems ,!wasm:!rtems:!static ,' "$(UNPACK_DIR)/tools/tools.pro"
$(MOVE)
QT_DECLARATIVE_CONFIG := \
-no-feature-d3d12 \
-no-feature-qml-debug \
- -no-feature-quick-designer
+ -no-feature-quick-designer \
+ -no-feature-quick-particles
.qtdeclarative: qtdeclarative
# Generate Makefile & src/Makefile
$(call qmake_toolchain, $<)
cd $< && $(PREFIX)/lib/qt5/bin/qmake -- $(QT_DECLARATIVE_CONFIG)
- cd $</src && $(PREFIX)/lib/qt5/bin/qmake -o Makefile src.pro
- # Build & install only what we require
- # Invoke the build rules one at a time as some rule dependencies seem to be broken
- $(MAKE) -C $< -C src \
- INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)" \
- sub-quick-make_first-ordered \
- sub-qmlmodels-make_first-ordered \
- sub-qmldevtools-make_first-ordered \
- sub-qmlworkerscript-make_first-ordered
- # We don't use particles, but the import target (which generates the qtquick2plugin.a) require
- # the particle module to be built
- $(MAKE) -C $< -C src \
- INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)" \
- sub-particles-make_first-ordered
- $(MAKE) -C $< -C src \
- INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)" \
- sub-quick-install_subtargets \
- sub-qml-install_subtargets \
- sub-quickwidgets-install_subtargets \
- sub-imports-install_subtargets \
- sub-qmlmodels-install_subtargets \
- sub-qmlworkerscript-install_subtargets \
- sub-quickshapes-install_subtargets
- cd $</tools && $(PREFIX)/lib/qt5/bin/qmake -o Makefile tools.pro
- $(MAKE) -C $< -C tools \
- INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)" \
- sub-qmlcachegen-install_subtargets
+ $(MAKE) -C $<
+ $(MAKE) -C $< install
touch $@
=====================================
contrib/src/qtgraphicaleffects/rules.mak
=====================================
@@ -27,5 +27,5 @@ qtgraphicaleffects: qtgraphicaleffects-everywhere-src-$(QTGE_VERSION).tar.xz .su
$(call qmake_toolchain, $<)
cd $< && $(PREFIX)/lib/qt5/bin/qmake
$(MAKE) -C $<
- $(MAKE) -C $< install INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)"
+ $(MAKE) -C $< install
touch $@
=====================================
contrib/src/qtquickcontrols2/rules.mak
=====================================
@@ -34,11 +34,10 @@ QUICK_CONTROL_CONFIG := \
$(call qmake_toolchain, $<)
cd $< && $(PREFIX)/lib/qt5/bin/qmake -- $(QUICK_CONTROL_CONFIG)
# Make && Install libraries
- $(MAKE) -C $< sub-src-qmake_all
+ $(MAKE) -C $<
ifndef HAVE_CROSS_COMPILE
cd $<; for i in QtQuickControls2 QtQuickTemplates2; do \
sed -i -e 's,"../../../../../src,"../src,g' include/$$i/$(QTQC2_VERSION)/$$i/private/*.h; done
endif
- $(MAKE) -C $< install_subtargets \
- INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)"
+ $(MAKE) -C $< install
touch $@
=====================================
contrib/src/qtsvg/rules.mak
=====================================
@@ -28,7 +28,5 @@ qtsvg: qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz .sum-qtsvg
cd $< && $(PREFIX)/lib/qt5/bin/qmake
# Make && Install libraries
$(MAKE) -C $<
- $(MAKE) -C $< -C src sub-plugins-install_subtargets \
- INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)" \
- sub-svg-install_subtargets
+ $(MAKE) -C $< install
touch $@
=====================================
contrib/src/qtwayland/rules.mak
=====================================
@@ -25,7 +25,5 @@ qtwayland: qtwayland-$(QTWAYLAND_VERSION).tar.xz .sum-qtwayland
cd $< && $(PREFIX)/lib/qt5/bin/qmake
# Make && Install libraries
$(MAKE) -C $<
- $(MAKE) -C $< -C src \
- INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)" \
- sub-plugins-install_subtargets
+ $(MAKE) -C $< install
touch $@
=====================================
contrib/src/qtx11extras/rules.mak
=====================================
@@ -21,5 +21,5 @@ qtx11extras: qtx11extras-$(QTX11_VERSION).tar.xz .sum-qtx11extras
cd $< && $(PREFIX)/lib/qt5/bin/qmake
# Make && Install libraries
$(MAKE) -C $<
- $(MAKE) -C $< install INSTALL_FILE="$(QT_QINSTALL)" VLC_PREFIX="$(PREFIX)"
+ $(MAKE) -C $< install
touch $@
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6756cc92132f878aee547fbf51a3b508bf5aadba...3c12a797b8e44f56852a6cda5d65e1d8ef698228
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6756cc92132f878aee547fbf51a3b508bf5aadba...3c12a797b8e44f56852a6cda5d65e1d8ef698228
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list