libqmi: add optional features
authorAleksander Morgado <aleksander@aleksander.es>
Wed, 6 Sep 2017 21:28:34 +0000 (23:28 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 6 Sep 2017 21:48:24 +0000 (23:48 +0200)
The libqmi library and tools come with several optional features that
may be enabled or disabled during build.

This patch adds support to automatically enable or disable them based
on the presence of the required dependencies for each:
 * QMI-over-MBIM is enabled if libmbim is selected.
 * udev support in qmi-firmware-update is enabled if libgudev is
   selected.
 * MM runtime check in qmi-firmware-update is enabled if ModemManager
   is selected (but we don't build-depend on it, the runtime check is
   done using plain glib2 DBus operations).

Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/libqmi/libqmi.mk

index 917265f4b6ef1ec61c0a26760617003bba5cb941..3a3d079a061d489e9ee4d44e40fb9542fd4e0b9b 100644 (file)
@@ -15,7 +15,33 @@ LIBQMI_AUTORECONF = YES
 
 LIBQMI_DEPENDENCIES = libglib2
 
-# we don't want -Werror and disable gudev Gobject bindings
-LIBQMI_CONF_OPTS = --enable-more-warnings=no --without-udev
+# we don't want -Werror
+LIBQMI_CONF_OPTS = --enable-more-warnings=no
+
+# if libgudev available, request udev support for a better
+# qmi-firmware-update experience
+ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
+LIBQMI_DEPENDENCIES += libgudev
+LIBQMI_CONF_OPTS += --with-udev
+else
+LIBQMI_CONF_OPTS += --without-udev
+endif
+
+# if libmbim available, request QMI-over-MBIM support
+ifeq ($(BR2_PACKAGE_LIBMBIM),y)
+LIBQMI_DEPENDENCIES += libmbim
+LIBQMI_CONF_OPTS += --enable-mbim-qmux
+else
+LIBQMI_CONF_OPTS += --disable-mbim-qmux
+endif
+
+# if ModemManager available, enable MM runtime check in
+# qmi-firmware-update (note that we don't need to build-depend on
+# anything else)
+ifeq ($(BR2_PACKAGE_MODEM_MANAGER),y)
+LIBQMI_CONF_OPTS += --enable-mm-runtime-check
+else
+LIBQMI_CONF_OPTS += --disable-mm-runtime-check
+endif
 
 $(eval $(autotools-package))