[Buildroot] [PATCH v2 01/13] qt5base: Do not build shared libs if BR2_STATIC_LIBS is chosen
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Thu Mar 14 10:07:46 UTC 2019
Hello,
On Thu, 14 Mar 2019 10:40:12 +0100
Andreas Naumann <anaumann at ultratronik.de> wrote:
> Traditionlly we configured qt5 to always build shared libraries. This resulted
Typo: traditionally
> in many conditionals when setting buildroot to static-libs only, because each
> module's target install had to be guarded.
> So to avoid this and simplify target install in a subsequent commit, configure
> qt to build (and install) only the type of libs which the buildroot defconfig
> is set to.
> Unfortunately it seems that Qt does not support building both dynamic and static
> libs at the same time, so we still set it shared if buildroot asks for both.
>
> Signed-off-by: Andreas Naumann <anaumann at ultratronik.de>
> ---
> package/qt5/qt5base/qt5base.mk | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index e7f6e658f1..a0492418be 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -24,8 +24,15 @@ QT5BASE_CONFIGURE_OPTS += \
> -no-iconv \
> -system-zlib \
> -system-pcre \
> - -no-pch \
> - -shared
> + -no-pch
> +
> +ifeq ($(BR2_SHARED_LIBS),y)
> +QT5BASE_CONFIGURE_OPTS += -shared -no-static
> +else ifeq ($(BR2_STATIC_LIBS),y)
> +QT5BASE_CONFIGURE_OPTS += -no-shared -static
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +QT5BASE_CONFIGURE_OPTS += -shared
Is there any difference between "-shared -no-static" and just
"-shared" ?
IOW, if Qt doesn't support building both shared and static, then we
should probably do:
ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
QT5BASE_CONFIGURE_OPTS += -shared -no-static
else
QT5BASE_CONFIGURE_OPTS += -no-shared -static
endif
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list