1################################################################################ 2# 3# uhd 4# 5################################################################################ 6 7UHD_VERSION = 3.15.0.0 8UHD_SITE = $(call github,EttusResearch,uhd,v$(UHD_VERSION)) 9UHD_LICENSE = GPL-3.0+ 10UHD_LICENSE_FILES = LICENSE.md host/LICENSE 11 12UHD_SUPPORTS_IN_SOURCE_BUILD = NO 13UHD_SUBDIR = host 14UHD_INSTALL_STAGING = YES 15 16UHD_DEPENDENCIES = \ 17 boost \ 18 $(if $(BR2_PACKAGE_PYTHON),host-python,host-python3) \ 19 host-python-mako 20 21UHD_CONF_OPTS = \ 22 -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \ 23 -DRUNTIME_PYTHON_EXECUTABLE=/usr/bin/python \ 24 -DENABLE_C_API=ON \ 25 -DENABLE_DOXYGEN=OFF \ 26 -DENABLE_DPDK=OFF \ 27 -DENABLE_LIBUHD=ON \ 28 -DENABLE_MANUAL=OFF \ 29 -DENABLE_MAN_PAGES=OFF \ 30 -DENABLE_TESTS=OFF 31 32# As soon as architecture is ARM, uhd will try to use NEON. 33# But not all ARM cores have NEON support. 34# When CPU support NEON -mfpu=neon must be added to CXX_FLAGS 35ifeq ($(BR2_ARM_CPU_HAS_NEON),y) 36UHD_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -mfpu=neon" 37UHD_CONF_OPTS += -DNEON_SIMD_ENABLE=ON 38else 39UHD_CONF_OPTS += -Dhave_mfpu_neon=0 40UHD_CONF_OPTS += -DNEON_SIMD_ENABLE=OFF 41endif 42 43ifeq ($(BR2_PACKAGE_ORC),y) 44UHD_DEPENDENCIES += orc 45endif 46 47ifeq ($(BR2_PACKAGE_UHD_B100),y) 48UHD_CONF_OPTS += -DENABLE_B100=ON 49else 50UHD_CONF_OPTS += -DENABLE_B100=OFF 51endif 52 53ifeq ($(BR2_PACKAGE_UHD_B200),y) 54UHD_CONF_OPTS += -DENABLE_B200=ON 55else 56UHD_CONF_OPTS += -DENABLE_B200=OFF 57endif 58 59ifeq ($(BR2_PACKAGE_UHD_E300),y) 60UHD_CONF_OPTS += -DENABLE_E300=ON 61else 62UHD_CONF_OPTS += -DENABLE_E300=OFF 63endif 64 65ifeq ($(BR2_PACKAGE_UHD_E320),y) 66UHD_CONF_OPTS += -DENABLE_E320=ON 67else 68UHD_CONF_OPTS += -DENABLE_E320=OFF 69endif 70 71ifeq ($(BR2_PACKAGE_UHD_EXAMPLES),y) 72UHD_CONF_OPTS += -DENABLE_EXAMPLES=ON 73else 74UHD_CONF_OPTS += -DENABLE_EXAMPLES=OFF 75endif 76 77ifeq ($(BR2_PACKAGE_UHD_MPMD),y) 78UHD_CONF_OPTS += -DENABLE_MPMD=ON 79else 80UHD_CONF_OPTS += -DENABLE_MPMD=OFF 81endif 82 83ifeq ($(BR2_PACKAGE_UHD_N230),y) 84UHD_CONF_OPTS += -DENABLE_N230=ON 85else 86UHD_CONF_OPTS += -DENABLE_N230=OFF 87endif 88 89ifeq ($(BR2_PACKAGE_UHD_N300),y) 90UHD_CONF_OPTS += -DENABLE_N300=ON 91else 92UHD_CONF_OPTS += -DENABLE_N300=OFF 93endif 94 95ifeq ($(BR2_PACKAGE_UHD_N320),y) 96UHD_CONF_OPTS += -DENABLE_N320=ON 97else 98UHD_CONF_OPTS += -DENABLE_N320=OFF 99endif 100 101ifeq ($(BR2_PACKAGE_UHD_OCTOCLOCK),y) 102UHD_CONF_OPTS += -DENABLE_OCTOCLOCK=ON 103else 104UHD_CONF_OPTS += -DENABLE_OCTOCLOCK=OFF 105endif 106 107ifeq ($(BR2_PACKAGE_UHD_RFNOC),y) 108UHD_CONF_OPTS += -DENABLE_RFNOC=ON 109else 110UHD_CONF_OPTS += -DENABLE_RFNOC=OFF 111endif 112 113ifeq ($(BR2_PACKAGE_UHD_PYTHON),y) 114UHD_DEPENDENCIES += host-python-numpy host-python-requests \ 115 python-numpy python-requests 116UHD_CONF_OPTS += -DENABLE_PYTHON_API=ON 117else 118UHD_CONF_OPTS += -DENABLE_PYTHON_API=OFF 119endif 120 121ifeq ($(BR2_PACKAGE_UHD_USB),y) 122UHD_DEPENDENCIES += libusb 123UHD_CONF_OPTS += -DENABLE_USB=ON 124else 125UHD_CONF_OPTS += -DENABLE_USB=OFF 126endif 127 128ifeq ($(BR2_PACKAGE_UHD_USRP1),y) 129UHD_CONF_OPTS += -DENABLE_USRP1=ON 130else 131UHD_CONF_OPTS += -DENABLE_USRP1=OFF 132endif 133 134ifeq ($(BR2_PACKAGE_UHD_USRP2),y) 135UHD_CONF_OPTS += -DENABLE_USRP2=ON 136else 137UHD_CONF_OPTS += -DENABLE_USRP2=OFF 138endif 139 140ifeq ($(BR2_PACKAGE_UHD_UTILS),y) 141UHD_DEPENDENCIES += python-six 142UHD_CONF_OPTS += -DENABLE_UTILS=ON 143else 144UHD_CONF_OPTS += -DENABLE_UTILS=OFF 145endif 146 147ifeq ($(BR2_PACKAGE_UHD_X300),y) 148UHD_CONF_OPTS += -DENABLE_X300=ON 149else 150UHD_CONF_OPTS += -DENABLE_X300=OFF 151endif 152 153$(eval $(cmake-package)) 154