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