From 9cf2364d6837f14dfd19c45e68281babd44f27d1 Mon Sep 17 00:00:00 2001 From: Steve Lhomme Date: Tue, 28 May 2024 13:49:01 +0200 Subject: [PATCH] contrib: qt: centralize the decision to use system or contrib tools We cannot mix system tools and tools in contribs because qtpaths6 will only provide one of those. So either we build all of them, or we build none of them. --- contrib/src/main.mak | 18 ++++++++++++++++++ contrib/src/qt/rules.mak | 2 +- contrib/src/qtdeclarative/rules.mak | 2 +- contrib/src/qtshadertools/rules.mak | 2 +- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/contrib/src/main.mak b/contrib/src/main.mak index 2e7f30e169..ae63464dc7 100644 --- a/contrib/src/main.mak +++ b/contrib/src/main.mak @@ -543,7 +543,25 @@ MESONBUILD = meson compile -C $(BUILD_DIR) $(MESON_BUILD) && meson install -C $( # shared Qt config ifdef HAVE_CROSS_COMPILE +QT_LIBEXECS := $(shell qmake6 -query QT_HOST_LIBEXECS) +QT_BINS := $(shell qmake6 -query QT_HOST_BINS) +else +QT_LIBEXECS := $(shell qmake6 -query QT_INSTALL_LIBEXECS):$(shell qmake6 -query QT_HOST_LIBEXECS) +QT_BINS := $(shell qmake6 -query QT_INSTALL_BINS):$(shell qmake6 -query QT_HOST_BINS) +endif + ifeq ($(call system_tool_majmin, qmake6 -query QT_VERSION),$(QTBASE_VERSION_MAJOR)) +ifeq ($(call system_tool_majmin, PATH="${QT_LIBEXECS}" moc --version),$(QTBASE_VERSION_MAJOR)) +ifeq ($(call system_tool_majmin, PATH="${QT_BINS}" qsb --version),$(QTBASE_VERSION_MAJOR)) +ifeq ($(call system_tool_majmin, PATH="${QT_LIBEXECS}" qmlcachegen --version),$(QTBASE_VERSION_MAJOR)) +QT_USES_SYSTEM_TOOLS = 1 +endif +endif +endif +endif + +ifdef HAVE_CROSS_COMPILE +ifdef QT_USES_SYSTEM_TOOLS # using system Qt native tools QT_HOST_PREFIX := $(shell PATH="${SYSTEM_PATH}" qmake6 -query QT_HOST_PREFIX) QT_HOST_LIBS := $(shell PATH="${SYSTEM_PATH}" qmake6 -query QT_HOST_LIBS) diff --git a/contrib/src/qt/rules.mak b/contrib/src/qt/rules.mak index e0222d355a..bc555b9f8a 100644 --- a/contrib/src/qt/rules.mak +++ b/contrib/src/qt/rules.mak @@ -28,7 +28,7 @@ PKGS_FOUND += qt endif ifndef HAVE_CROSS_COMPILE PKGS_FOUND += qt-tools -else ifeq ($(call system_tool_majmin, moc --version),$(QTBASE_VERSION_MAJOR)) +else ifdef QT_USES_SYSTEM_TOOLS PKGS_FOUND += qt-tools endif diff --git a/contrib/src/qtdeclarative/rules.mak b/contrib/src/qtdeclarative/rules.mak index c52d4c58dd..5753346bf6 100644 --- a/contrib/src/qtdeclarative/rules.mak +++ b/contrib/src/qtdeclarative/rules.mak @@ -20,7 +20,7 @@ PKGS_FOUND += qtdeclarative endif ifndef HAVE_CROSS_COMPILE PKGS_FOUND += qtdeclarative-tools -else ifeq ($(call system_tool_majmin, qmlcachegen --version),$(QTBASE_VERSION_MAJOR)) +else ifdef QT_USES_SYSTEM_TOOLS PKGS_FOUND += qtdeclarative-tools endif diff --git a/contrib/src/qtshadertools/rules.mak b/contrib/src/qtshadertools/rules.mak index 4564aaf8b2..493e564b0c 100644 --- a/contrib/src/qtshadertools/rules.mak +++ b/contrib/src/qtshadertools/rules.mak @@ -15,7 +15,7 @@ PKGS_TOOLS += qtshadertools-tools endif PKGS_ALL += qtshadertools-tools -ifeq ($(call system_tool_majmin, qsb --version),$(QTBASE_VERSION_MAJOR)) +ifdef QT_USES_SYSTEM_TOOLS PKGS_FOUND += qtshadertools-tools endif