1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# libiio 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunLIBIIO_VERSION = 0.23 8*4882a593SmuzhiyunLIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION)) 9*4882a593SmuzhiyunLIBIIO_INSTALL_STAGING = YES 10*4882a593SmuzhiyunLIBIIO_LICENSE = LGPL-2.1+ 11*4882a593SmuzhiyunLIBIIO_LICENSE_FILES = COPYING.txt 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunLIBIIO_CONF_OPTS = -DENABLE_IPV6=ON \ 14*4882a593Smuzhiyun -DWITH_LOCAL_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_LOCAL_BACKEND),ON,OFF) \ 15*4882a593Smuzhiyun -DWITH_NETWORK_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_NETWORK_BACKEND),ON,OFF) \ 16*4882a593Smuzhiyun -DINSTALL_UDEV_RULE=$(if $(BR2_PACKAGE_HAS_UDEV),ON,OFF) \ 17*4882a593Smuzhiyun -DWITH_TESTS=$(if $(BR2_PACKAGE_LIBIIO_TESTS),ON,OFF) \ 18*4882a593Smuzhiyun -DWITH_DOC=OFF 19*4882a593Smuzhiyun 20*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) 21*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DNO_THREADS=OFF 22*4882a593Smuzhiyunelse 23*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DNO_THREADS=ON 24*4882a593Smuzhiyunendif 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_XML_BACKEND),y) 27*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += libxml2 28*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_XML_BACKEND=ON 29*4882a593Smuzhiyunelse 30*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_XML_BACKEND=OFF 31*4882a593Smuzhiyunendif 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_USB_BACKEND),y) 34*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += libusb 35*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_USB_BACKEND=ON 36*4882a593Smuzhiyunelse 37*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_USB_BACKEND=OFF 38*4882a593Smuzhiyunendif 39*4882a593Smuzhiyun 40*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_SERIAL_BACKEND),y) 41*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += libserialport 42*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_SERIAL_BACKEND=ON 43*4882a593Smuzhiyunelse 44*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_SERIAL_BACKEND=OFF 45*4882a593Smuzhiyunendif 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_IIOD),y) 48*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += host-flex host-bison 49*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_IIOD=ON 50*4882a593Smuzhiyunelse 51*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_IIOD=OFF 52*4882a593Smuzhiyunendif 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_IIOD_USBD),y) 55*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += libaio 56*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_IIOD_USBD=ON 57*4882a593Smuzhiyunelse 58*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_IIOD_USBD=OFF 59*4882a593Smuzhiyunendif 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBAIO),y) 62*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += libaio 63*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_AIO=ON 64*4882a593Smuzhiyunelse 65*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DWITH_AIO=OFF 66*4882a593Smuzhiyunendif 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun# Avahi support in libiio requires avahi-client, which needs avahi-daemon and dbus 69*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) 70*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += avahi 71*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DHAVE_DNS_SD=ON 72*4882a593Smuzhiyunelse 73*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DHAVE_DNS_SD=OFF 74*4882a593Smuzhiyunendif 75*4882a593Smuzhiyun 76*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON),y) 77*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PYTHON),y) 78*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += host-python-setuptools python 79*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_PYTHON3),y) 80*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += host-python-setuptools python3 81*4882a593Smuzhiyunendif 82*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=ON 83*4882a593Smuzhiyunelse 84*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=OFF 85*4882a593Smuzhiyunendif 86*4882a593Smuzhiyun 87*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_CSHARP),y) 88*4882a593Smuzhiyundefine LIBIIO_INSTALL_CSHARP_BINDINGS_TO_TARGET 89*4882a593Smuzhiyun $(HOST_DIR)/bin/gacutil -root $(TARGET_DIR)/usr/lib -i \ 90*4882a593Smuzhiyun $(TARGET_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll 91*4882a593Smuzhiyunendef 92*4882a593Smuzhiyundefine LIBIIO_INSTALL_CSHARP_BINDINGS_TO_STAGING 93*4882a593Smuzhiyun $(HOST_DIR)/bin/gacutil -root $(STAGING_DIR)/usr/lib -i \ 94*4882a593Smuzhiyun $(STAGING_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll 95*4882a593Smuzhiyunendef 96*4882a593SmuzhiyunLIBIIO_POST_INSTALL_TARGET_HOOKS += LIBIIO_INSTALL_CSHARP_BINDINGS_TO_TARGET 97*4882a593SmuzhiyunLIBIIO_POST_INSTALL_STAGING_HOOKS += LIBIIO_INSTALL_CSHARP_BINDINGS_TO_STAGING 98*4882a593SmuzhiyunLIBIIO_DEPENDENCIES += mono 99*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DCSHARP_BINDINGS=ON 100*4882a593Smuzhiyunelse 101*4882a593SmuzhiyunLIBIIO_CONF_OPTS += -DCSHARP_BINDINGS=OFF 102*4882a593Smuzhiyunendif 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIIO_IIOD),y) 105*4882a593Smuzhiyundefine LIBIIO_INSTALL_INIT_SYSV 106*4882a593Smuzhiyun $(INSTALL) -D -m 0755 package/libiio/S99iiod \ 107*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S99iiod 108*4882a593Smuzhiyunendef 109*4882a593Smuzhiyunendif 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun$(eval $(cmake-package)) 112