libiio.mk 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. ################################################################################
  2. #
  3. # libiio
  4. #
  5. ################################################################################
  6. LIBIIO_VERSION = 0.19
  7. LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION))
  8. LIBIIO_INSTALL_STAGING = YES
  9. LIBIIO_LICENSE = LGPL-2.1+
  10. LIBIIO_LICENSE_FILES = COPYING.txt
  11. LIBIIO_CONF_OPTS = -DENABLE_IPV6=ON \
  12. -DWITH_LOCAL_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_LOCAL_BACKEND),ON,OFF) \
  13. -DWITH_NETWORK_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_NETWORK_BACKEND),ON,OFF) \
  14. -DWITH_MATLAB_BINDINGS_API=OFF \
  15. -DMATLAB_BINDINGS=OFF \
  16. -DINSTALL_UDEV_RULE=$(if $(BR2_PACKAGE_HAS_UDEV),ON,OFF) \
  17. -DWITH_TESTS=$(if $(BR2_PACKAGE_LIBIIO_TESTS),ON,OFF) \
  18. -DWITH_DOC=OFF
  19. ifeq ($(BR2_PACKAGE_LIBIIO_XML_BACKEND),y)
  20. LIBIIO_DEPENDENCIES += libxml2
  21. LIBIIO_CONF_OPTS += -DWITH_XML_BACKEND=ON
  22. else
  23. LIBIIO_CONF_OPTS += -DWITH_XML_BACKEND=OFF
  24. endif
  25. ifeq ($(BR2_PACKAGE_LIBIIO_USB_BACKEND),y)
  26. LIBIIO_DEPENDENCIES += libusb
  27. LIBIIO_CONF_OPTS += -DWITH_USB_BACKEND=ON
  28. else
  29. LIBIIO_CONF_OPTS += -DWITH_USB_BACKEND=OFF
  30. endif
  31. ifeq ($(BR2_PACKAGE_LIBIIO_SERIAL_BACKEND),y)
  32. LIBIIO_DEPENDENCIES += libserialport
  33. LIBIIO_CONF_OPTS += -DWITH_SERIAL_BACKEND=ON
  34. else
  35. LIBIIO_CONF_OPTS += -DWITH_SERIAL_BACKEND=OFF
  36. endif
  37. ifeq ($(BR2_PACKAGE_LIBIIO_IIOD),y)
  38. LIBIIO_DEPENDENCIES += host-flex host-bison
  39. LIBIIO_CONF_OPTS += -DWITH_IIOD=ON
  40. else
  41. LIBIIO_CONF_OPTS += -DWITH_IIOD=OFF
  42. endif
  43. ifeq ($(BR2_PACKAGE_LIBIIO_IIOD_USBD),y)
  44. LIBIIO_DEPENDENCIES += libaio
  45. LIBIIO_CONF_OPTS += -DWITH_IIOD_USBD=ON
  46. else
  47. LIBIIO_CONF_OPTS += -DWITH_IIOD_USBD=OFF
  48. endif
  49. # Avahi support in libiio requires avahi-client, which needs avahi-daemon and dbus
  50. ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy)
  51. LIBIIO_DEPENDENCIES += avahi
  52. endif
  53. ifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON),y)
  54. ifeq ($(BR2_PACKAGE_PYTHON),y)
  55. LIBIIO_DEPENDENCIES += python
  56. else ifeq ($(BR2_PACKAGE_PYTHON3),y)
  57. LIBIIO_DEPENDENCIES += python3
  58. endif
  59. LIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=ON
  60. else
  61. LIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=OFF
  62. endif
  63. ifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_CSHARP),y)
  64. define LIBIIO_INSTALL_CSHARP_BINDINGS_TO_TARGET
  65. $(HOST_DIR)/bin/gacutil -root $(TARGET_DIR)/usr/lib -i \
  66. $(TARGET_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll
  67. endef
  68. define LIBIIO_INSTALL_CSHARP_BINDINGS_TO_STAGING
  69. $(HOST_DIR)/bin/gacutil -root $(STAGING_DIR)/usr/lib -i \
  70. $(STAGING_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll
  71. endef
  72. LIBIIO_POST_INSTALL_TARGET_HOOKS += LIBIIO_INSTALL_CSHARP_BINDINGS_TO_TARGET
  73. LIBIIO_POST_INSTALL_STAGING_HOOKS += LIBIIO_INSTALL_CSHARP_BINDINGS_TO_STAGING
  74. LIBIIO_DEPENDENCIES += mono
  75. LIBIIO_CONF_OPTS += -DCSHARP_BINDINGS=ON
  76. else
  77. LIBIIO_CONF_OPTS += -DCSHARP_BINDINGS=OFF
  78. endif
  79. ifeq ($(BR2_PACKAGE_LIBIIO_IIOD),y)
  80. define LIBIIO_INSTALL_INIT_SYSV
  81. $(INSTALL) -D -m 0755 package/libiio/S99iiod \
  82. $(TARGET_DIR)/etc/init.d/S99iiod
  83. endef
  84. endif
  85. $(eval $(cmake-package))