xref: /OK3568_Linux_fs/buildroot/package/uhd/uhd.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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