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