package/qt5/qt5base: fix libatomic handling to not affect host builds
authorQuentin Schulz <quentin.schulz@theobroma-systems.com>
Fri, 6 Aug 2021 14:38:39 +0000 (16:38 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 8 Aug 2021 20:35:55 +0000 (22:35 +0200)
qt5declarative builds qmltyperegistrar for the host as part of its build
process.
When building qt target packages (which is the case for qt5declarative),
-spec devices/linux-buildroot-g++ is passed to qmake in QT5_QMAKE
variable and this spec currently has -latomic in its LIBS.

This -latomic makes it to the build of the host build of
qmltyperegistrar which is not useful.

This was discovered on Fedora 34 where libatomic is not pulled with gcc
package, therefore was missing on the host machine.

This makes sure that -latomic is not added for host build of qt
packages.

Fixes: 7d286be4f9 ("package/qt5base: link with -latomic when needed")
Cc: Quentin Schulz <foss@0leil.net>
Suggested-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/qt5/qt5base/qt5base.mk

index 8b55aa3098e5bf97131e296d16c852ff98ad77c6..9da3de468a0f004a8031dbaf09fb375794d1cd75 100644 (file)
@@ -277,7 +277,7 @@ QT5BASE_ARCH_CONFIG_FILE = $(@D)/mkspecs/devices/linux-buildroot-g++/arch.conf
 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
 # Qt 5.8 needs atomics, which on various architectures are in -latomic
 define QT5BASE_CONFIGURE_ARCH_CONFIG
-       printf 'LIBS += -latomic\n' >$(QT5BASE_ARCH_CONFIG_FILE)
+       printf '!host_build { \n LIBS += -latomic\n }' >$(QT5BASE_ARCH_CONFIG_FILE)
 endef
 endif