summaryrefslogtreecommitdiff
path: root/package/azure-iot-sdk-c
diff options
context:
space:
mode:
authorAndré Hentschel <nerv@dawncrow.de>2017-06-22 17:11:30 +0200
committerPeter Korsgaard <peter@korsgaard.com>2017-07-02 23:14:29 +0200
commit2d837933e55216dc31a2206b063689cfd04a4c01 (patch)
tree7611aa481bb33426f3636e1d1a56fc60744cc096 /package/azure-iot-sdk-c
parent82094f66909be77605436e6dee1fe874ada981ac (diff)
azure-iot-sdk-c: New package
Despite newer versions being available, this patch creates a package for version 2017-05-05, because newer version have issues that need to be addressed. Still, the projects install target installs the wrong files, so custom commands are needed for staging_install and target_install. Signed-off-by: André Hentschel <nerv@dawncrow.de> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/azure-iot-sdk-c')
-rw-r--r--package/azure-iot-sdk-c/Config.in16
-rw-r--r--package/azure-iot-sdk-c/azure-iot-sdk-c.mk51
2 files changed, 67 insertions, 0 deletions
diff --git a/package/azure-iot-sdk-c/Config.in b/package/azure-iot-sdk-c/Config.in
new file mode 100644
index 0000000000..9fb956ae0d
--- /dev/null
+++ b/package/azure-iot-sdk-c/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_AZURE_IOT_SDK_C
+ bool "azure-iot-sdk-c"
+ depends on BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_LIBCURL
+ select BR2_PACKAGE_LIBXML2
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+ help
+ Microsoft Azure IoT Hub device SDK for C is used
+ to connect devices running C code to Azure IoT Hub.
+
+ https://docs.microsoft.com/nl-nl/azure/iot-hub/iot-hub-device-sdk-c-intro
+
+comment "azure-iot-sdk-c needs a toolchain w/ C++"
+ depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk
new file mode 100644
index 0000000000..dbdef3e889
--- /dev/null
+++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk
@@ -0,0 +1,51 @@
+################################################################################
+#
+# azure-iot-sdk-c
+#
+################################################################################
+
+AZURE_IOT_SDK_C_VERSION = 2017-05-05
+AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c
+AZURE_IOT_SDK_C_SITE_METHOD = git
+AZURE_IOT_SDK_C_GIT_SUBMODULES = YES
+AZURE_IOT_SDK_C_LICENSE = MIT
+AZURE_IOT_SDK_C_LICENSE_FILES = LICENSE
+AZURE_IOT_SDK_C_INSTALL_STAGING = YES
+AZURE_IOT_SDK_C_DEPENDENCIES = libxml2 openssl libcurl util-linux
+AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON
+
+# The project only supports building one kind of library.
+# Further the install target installs the wrong files, so we do it here:
+ifeq ($(BR2_STATIC_LIBS),y)
+AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.a c-utility/libaziotsharedutil.a \
+ iothub_client/libiothub_client.a iothub_client/libiothub_client_mqtt_ws_transport.a \
+ iothub_client/libiothub_client_amqp_ws_transport.a \
+ iothub_client/libiothub_client_http_transport.a \
+ iothub_client/libiothub_client_amqp_transport.a \
+ iothub_client/libiothub_client_mqtt_transport.a \
+ iothub_service_client/libiothub_service_client.a serializer/libserializer.a umqtt/libumqtt.a
+else
+AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.so c-utility/libaziotsharedutil.so \
+ iothub_client/libiothub_client.so iothub_client/libiothub_client_mqtt_ws_transport.so \
+ iothub_client/libiothub_client_amqp_ws_transport.so \
+ iothub_client/libiothub_client_http_transport.so \
+ iothub_client/libiothub_client_amqp_transport.so \
+ iothub_client/libiothub_client_mqtt_transport.so \
+ iothub_service_client/libiothub_service_client.so serializer/libserializer.so umqtt/libumqtt.so
+endif
+
+define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS
+ $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \
+ $(INSTALL) -D -m 0755 $(@D)/$(l) $(STAGING_DIR)/usr/lib/
+ )
+ cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/
+ cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/
+endef
+
+define AZURE_IOT_SDK_C_INSTALL_TARGET_CMDS
+ $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \
+ $(INSTALL) -D -m 0755 $(@D)/$(l) $(TARGET_DIR)/usr/lib/
+ )
+endef
+
+$(eval $(cmake-package))