1comment "uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 5"
2	depends on BR2_USE_MMU
3	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
4	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
5		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \
6		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
7
8comment "uhd needs a toolchain not affected by GCC bug 64735"
9	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
10
11config BR2_PACKAGE_UHD
12	bool "uhd"
13	depends on BR2_INSTALL_LIBSTDCPP
14	depends on !BR2_STATIC_LIBS
15	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
16	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
17	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
18	depends on BR2_USE_MMU # use fork()
19	depends on BR2_USE_WCHAR # boost
20	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # boost-math
21	select BR2_PACKAGE_BOOST
22	select BR2_PACKAGE_BOOST_ATOMIC
23	select BR2_PACKAGE_BOOST_CHRONO
24	select BR2_PACKAGE_BOOST_DATE_TIME
25	select BR2_PACKAGE_BOOST_FILESYSTEM
26	select BR2_PACKAGE_BOOST_MATH
27	select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
28	select BR2_PACKAGE_BOOST_SERIALIZATION
29	select BR2_PACKAGE_BOOST_SYSTEM
30	select BR2_PACKAGE_BOOST_THREAD
31	help
32	  Universal Software Radio Peripheral (USRP) Hardware Driver
33
34	  https://kb.etthus.com
35
36if BR2_PACKAGE_UHD
37
38config BR2_PACKAGE_UHD_B100
39	bool "b100 support"
40	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
41	select BR2_PACKAGE_UHD_USB
42	help
43	  enable B100 support
44
45comment "B100 support needs a toolchain w/ gcc >= 4.9"
46	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
47
48config BR2_PACKAGE_UHD_B200
49	bool "b200 support"
50	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
51	select BR2_PACKAGE_UHD_USB
52	help
53	  enable B200 support
54
55comment "B200 support needs a toolchain w/ gcc >= 4.9"
56	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
57
58config BR2_PACKAGE_UHD_E300
59	bool "E300 support"
60	select BR2_PACKAGE_UHD_MPMD
61	help
62	  enable E300 support
63
64config BR2_PACKAGE_UHD_E320
65	bool "E320 support"
66	select BR2_PACKAGE_UHD_MPMD
67	help
68	  enable E320 support
69
70config BR2_PACKAGE_UHD_EXAMPLES
71	bool "uhd-examples"
72	help
73	  Examples
74
75config BR2_PACKAGE_UHD_MPMD
76	bool "MPMD support"
77	help
78	  enable MPMD support
79
80config BR2_PACKAGE_UHD_N300
81	bool "N300 support"
82	select BR2_PACKAGE_UHD_MPMD
83	help
84	  enable N300 support
85
86config BR2_PACKAGE_UHD_N320
87	bool "N320 support"
88	select BR2_PACKAGE_UHD_MPMD
89	help
90	  enable N320 support
91
92config BR2_PACKAGE_UHD_OCTOCLOCK
93	bool "OctoClock support"
94	help
95	  enable OctoClock support
96
97comment "uhd python API needs python3 and a glibc or musl toolchain w/ gcc >= 9, host gcc >= 9"
98	depends on !BR2_PACKAGE_PYTHON3
99	depends on !BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
100	depends on !BR2_HOST_GCC_AT_LEAST_9 || \
101		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
102		!(BR2_TOOLCHAIN_USES_GLIBC && BR2_TOOLCHAIN_USES_MUSL) # python-numpy
103
104config BR2_PACKAGE_UHD_PYTHON
105	bool "python API support"
106	depends on BR2_PACKAGE_PYTHON3
107	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
108	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
109	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
110	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
111	select BR2_PACKAGE_PYTHON_NUMPY
112	select BR2_PACKAGE_PYTHON_REQUESTS
113	help
114	  enable python API support
115
116config BR2_PACKAGE_UHD_USB
117	bool "USB support"
118	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
119	select BR2_PACKAGE_LIBUSB
120	help
121	  enable UHD USB support
122
123comment "USB support needs a toolchain w/ gcc >= 4.9"
124	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
125
126config BR2_PACKAGE_UHD_USRP1
127	bool "USRP1 support"
128	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
129	select BR2_PACKAGE_UHD_USB
130	help
131	  enable USRP1 support
132
133comment "USRP1 support needs a toolchain w/ gcc >= 4.9"
134	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
135
136config BR2_PACKAGE_UHD_USRP2
137	bool "USRP2 support"
138	help
139	  enable USRP2 support
140
141comment "uhd utils depends on python API support"
142	depends on !BR2_PACKAGE_UHD_PYTHON
143
144config BR2_PACKAGE_UHD_UTILS
145	bool "uhd-utils"
146	depends on BR2_PACKAGE_UHD_PYTHON
147	select BR2_PACKAGE_PYTHON_SIX
148	help
149	  uhd-utils
150
151config BR2_PACKAGE_UHD_X300
152	bool "X300 support"
153	help
154	  enable X300 support
155
156endif
157