xref: /OK3568_Linux_fs/buildroot/package/gnuradio/gnuradio.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# gnuradio
4#
5################################################################################
6
7GNURADIO_VERSION = 3.8.2.0
8GNURADIO_SITE = https://github.com/gnuradio/gnuradio/releases/download/v$(GNURADIO_VERSION)
9GNURADIO_LICENSE = GPL-3.0+
10GNURADIO_LICENSE_FILES = COPYING
11
12GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO
13
14# needed to determine site-packages path
15ifeq ($(BR2_PACKAGE_PYTHON),y)
16GNURADIO_PYVER = $(PYTHON_VERSION_MAJOR)
17else ifeq ($(BR2_PACKAGE_PYTHON3),y)
18GNURADIO_PYVER = $(PYTHON3_VERSION_MAJOR)
19endif
20
21# host-python-mako and host-python-six are needed for volk to compile
22GNURADIO_DEPENDENCIES = \
23	$(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \
24	host-python-mako \
25	host-python-six \
26	host-swig \
27	boost \
28	log4cpp \
29	gmp
30
31GNURADIO_CONF_OPTS = \
32	-DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \
33	-DENABLE_DEFAULT=OFF \
34	-DENABLE_VOLK=ON \
35	-DENABLE_GNURADIO_RUNTIME=ON \
36	-DENABLE_TESTING=OFF \
37	-DXMLTO_EXECUTABLE=NOTFOUND
38
39# For third-party blocks, the gnuradio libraries are mandatory at
40# compile time.
41GNURADIO_INSTALL_STAGING = YES
42
43ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
44GNURADIO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
45endif
46
47ifeq ($(BR2_PACKAGE_ORC),y)
48GNURADIO_DEPENDENCIES += orc
49GNURADIO_CONF_OPTS += -DENABLE_ORC=ON
50else
51GNURADIO_CONF_OPTS += -DENABLE_ORC=OFF
52endif
53
54ifeq ($(BR2_PACKAGE_GNURADIO_ANALOG),y)
55GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=ON
56else
57GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=OFF
58endif
59
60ifeq ($(BR2_PACKAGE_GNURADIO_AUDIO),y)
61ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
62GNURADIO_DEPENDENCIES += alsa-lib
63endif
64ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
65GNURADIO_DEPENDENCIES += portaudio
66endif
67GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=ON
68else
69GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=OFF
70endif
71
72ifeq ($(BR2_PACKAGE_GNURADIO_BLOCKS),y)
73GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=ON
74else
75GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=OFF
76endif
77
78ifeq ($(BR2_PACKAGE_GNURADIO_CHANNELS),y)
79GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=ON
80else
81GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=OFF
82endif
83
84ifeq ($(BR2_PACKAGE_GNURADIO_CTRLPORT),y)
85GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=ON
86else
87GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=OFF
88endif
89
90ifeq ($(BR2_PACKAGE_GNURADIO_DIGITAL),y)
91GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=ON
92else
93GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=OFF
94endif
95
96ifeq ($(BR2_PACKAGE_GNURADIO_DTV),y)
97GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=ON
98else
99GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=OFF
100endif
101
102ifeq ($(BR2_PACKAGE_GNURADIO_FEC),y)
103GNURADIO_DEPENDENCIES += gsl
104GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=ON
105else
106GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF
107endif
108
109ifeq ($(BR2_PACKAGE_GNURADIO_FFT),y)
110GNURADIO_DEPENDENCIES += fftw-single
111GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=ON
112else
113GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=OFF
114endif
115
116ifeq ($(BR2_PACKAGE_GNURADIO_FILTER),y)
117GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=ON
118else
119GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF
120endif
121
122ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
123GNURADIO_DEPENDENCIES += python3
124GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
125# mandatory to install python modules in site-packages and to use
126# correct path for python libraries
127GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \
128	-DGR_PYTHON_DIR=lib/python$(GNURADIO_PYVER)/site-packages
129else
130GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF
131endif
132
133ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y)
134GNURADIO_DEPENDENCIES += qt5base python-pyqt5 qwt
135GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON
136else
137GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=OFF
138endif
139
140ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y)
141GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=ON
142else
143GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=OFF
144endif
145
146ifeq ($(BR2_PACKAGE_GNURADIO_UHD),y)
147GNURADIO_DEPENDENCIES += uhd
148GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=ON
149else
150GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=OFF
151endif
152
153ifeq ($(BR2_PACKAGE_GNURADIO_UTILS),y)
154GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=ON
155else
156GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=OFF
157endif
158
159ifeq ($(BR2_PACKAGE_GNURADIO_ZEROMQ),y)
160GNURADIO_DEPENDENCIES += cppzmq
161ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
162GNURADIO_DEPENDENCIES += python-pyzmq
163endif
164GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=ON
165else
166GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=OFF
167endif
168
169$(eval $(cmake-package))
170