package/kmsxx: don't install static libraries when BR2_SHARED_STATIC_LIBS=y
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 10 Jan 2018 21:19:14 +0000 (22:19 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 10 Jan 2018 21:19:14 +0000 (22:19 +0100)
The kmsxx build system can only build either shared libraries *or*
static libraries, not both. Therefore, the build currently fails when
BR2_SHARED_STATIC_LIBS=y because we try to install the static
libraries, that haven't been built.

We fix this by not installing the static libraries when
BR2_SHARED_STATIC_LIBS=y, making BR2_SHARED_STATIC_LIBS=y essentially
the same as BR2_SHARED_LIBS=y for this package.

Fixes bug #10331.

Reported-by: Frederic MATHIEU <frederic.mathieu@dualis.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/kmsxx/kmsxx.mk

index 5c4a0c1c99d12e49f37a02c8be0dd6c49f941379..dc0f8c17dce3b81385cbdba3026c2c75ff1dc5c4 100644 (file)
@@ -44,12 +44,15 @@ define KMSXX_INSTALL_TARGET_CMDS
        $(KMSXX_INSTALL_TARGET_TESTS)
 endef
 
+# kmsxx only builds shared or static libraries, so when
+# BR2_SHARED_STATIC_LIBS=y, we don't have any static library to
+# install
 define KMSXX_INSTALL_STAGING_CMDS
        $(foreach l,$(KMSXX_LIBS),\
                $(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),
                        $(INSTALL) -D -m 0755 $(@D)/lib/lib$(l).so \
                                $(STAGING_DIR)/usr/lib/lib$(l).so)
-               $(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),
+               $(if $(BR2_STATIC_LIBS),
                        $(INSTALL) -D -m 0755 $(@D)/lib/lib$(l).a \
                                $(STAGING_DIR)/usr/lib/lib$(l).a)
                mkdir -p $(STAGING_DIR)/usr/include/$(l)