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