qextserialport: fix static build

By default, qextserialport will attempt to build a shared library.
qesp_static has to be set in CONFIG to build static. Note that
static+shared is not supported, in that case we just build shared.

The install target commands also have to be gated in that case,
because the *.so files don't exist. For completeness we both set
QEXTSERIALPORT_INSTALL_STAGING to NO and don't define
QEXTSERIALPORT_INSTALL_TARGET_CMDS for static builds, although one
of them would be sufficient.

Fixes:
http://autobuild.buildroot.net/results/c9233ad71fd60d0e6a85731a8bd4e598bd84947a

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Arnout Vandecappelle 2016-11-20 23:13:29 +01:00 committed by Thomas Petazzoni
parent 8ad8e9917f
commit f09b33a0ab

View File

@ -10,6 +10,10 @@ QEXTSERIALPORT_LICENSE = MIT
QEXTSERIALPORT_LICENSE_FILES = LICENSE.md
QEXTSERIALPORT_INSTALL_STAGING = YES
ifeq ($(BR2_STATIC_LIBS),y)
QEXTSERIALPORT_CONF_OPTS += CONFIG+=qesp_static
endif
ifeq ($(BR2_PACKAGE_QT),y)
QEXTSERIALPORT_DEPENDENCIES += qt
QEXTSERIALPORT_QMAKE = $(QT_QMAKE)
@ -19,7 +23,7 @@ QEXTSERIALPORT_QMAKE = $(QT5_QMAKE)
endif
define QEXTSERIALPORT_CONFIGURE_CMDS
cd $(@D); $(TARGET_MAKE_ENV) $(QEXTSERIALPORT_QMAKE)
cd $(@D); $(TARGET_MAKE_ENV) $(QEXTSERIALPORT_QMAKE) $(QEXTSERIALPORT_CONF_OPTS)
endef
define QEXTSERIALPORT_BUILD_CMDS
@ -32,8 +36,12 @@ define QEXTSERIALPORT_INSTALL_STAGING_CMDS
cp $(@D)/qextserialport.pc $(STAGING_DIR)/usr/lib/pkgconfig/
endef
ifeq ($(BR2_STATIC_LIBS),y)
QEXTSERIALPORT_INSTALL_STAGING = NO
else
define QEXTSERIALPORT_INSTALL_TARGET_CMDS
cp -a $(@D)/*.so.* $(TARGET_DIR)/usr/lib
endef
endif
$(eval $(generic-package))