summaryrefslogtreecommitdiff
blob: b7683f38b683ee7e79d3a3ec10ecf4e9feae84bf (plain)
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
From c9809ac05224ccf3a7fce1dda8c7eddedbbf3a56 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ch=C3=AD-Thanh=20Christopher=20Nguy=E1=BB=85n?=
 <chithanh@gentoo.org>
Date: Wed, 5 Feb 2014 03:21:37 +0100
Subject: [PATCH] gsm-receiver: build against gnuradio-3.7

This is the result of blindly following
http://gnuradio.org/redmine/projects/gnuradio/wiki/Move_3-6_to_3-7
The result builds, but it may or may not work.
---
 gsm-receiver/Makefile.common                       |  7 ++--
 gsm-receiver/config/Makefile.am                    |  2 +-
 .../config/gr_libgnuradio_core_extra_ldflags.m4    | 40 ----------------------
 .../config/gr_libgnuradio_runtime_extra_ldflags.m4 | 40 ++++++++++++++++++++++
 gsm-receiver/config/gr_standalone.m4               |  5 ++-
 gsm-receiver/gsm-receiver.pc.in                    |  2 +-
 gsm-receiver/src/lib/gsm.i                         | 15 ++++++--
 gsm-receiver/src/lib/gsm_receiver_cf.cc            | 16 ++++-----
 gsm-receiver/src/lib/gsm_receiver_cf.h             | 18 +++++-----
 9 files changed, 76 insertions(+), 69 deletions(-)
 delete mode 100644 gsm-receiver/config/gr_libgnuradio_core_extra_ldflags.m4
 create mode 100644 gsm-receiver/config/gr_libgnuradio_runtime_extra_ldflags.m4

diff --git a/gsm-receiver/Makefile.common b/gsm-receiver/Makefile.common
index b5dcb2e..0592f70 100644
--- a/gsm-receiver/Makefile.common
+++ b/gsm-receiver/Makefile.common
@@ -28,7 +28,7 @@ AM_CPPFLAGS = \
 	$(STD_DEFINES_AND_INCLUDES) \
 	$(PYTHON_CPPFLAGS) \
 	$(CPPUNIT_INCLUDES) \
-	$(GNURADIO_CORE_CPPFLAGS)
+	$(GNURADIO_RUNTIME_CPPFLAGS)
 
 #!! remove this
 TCH_DECODER_INCLUDEDIR = $(top_srcdir)/src/lib/decoder/openbtsstuff
@@ -36,9 +36,8 @@ TCH_DECODER_INCLUDEDIR = $(top_srcdir)/src/lib/decoder/openbtsstuff
 STD_DEFINES_AND_INCLUDES = \
 	-I$(DECODER_INCLUDEDIR) \
 	-I$(MAIN_INCLUDEDIR) \
-	-I$(GNURADIO_CORE_INCLUDEDIR) \
-	-I$(GNURADIO_CORE_INCLUDEDIR)/swig \
-	-I$(GRUEL_INCLUDEDIR)/gruel/swig \
+	-I$(GNURADIO_RUNTIME_INCLUDEDIR) \
+	-I$(GNURADIO_RUNTIME_INCLUDEDIR)/gnuradio/swig \
 	$(LIBOSMOCORE_CFLAGS)  \
 	-I$(TCH_DECODER_INCLUDEDIR)
 
diff --git a/gsm-receiver/config/Makefile.am b/gsm-receiver/config/Makefile.am
index 5858d22..1fdc0e5 100644
--- a/gsm-receiver/config/Makefile.am
+++ b/gsm-receiver/config/Makefile.am
@@ -51,7 +51,7 @@ m4macros = \
 	gr_fortran.m4 \
 	gr_gprof.m4 \
 	gr_lib64.m4 \
-	gr_libgnuradio_core_extra_ldflags.m4 \
+	gr_libgnuradio_runtime_extra_ldflags.m4 \
 	gr_no_undefined.m4 \
 	gr_omnithread.m4 \
 	gr_pwin32.m4 \
diff --git a/gsm-receiver/config/gr_libgnuradio_core_extra_ldflags.m4 b/gsm-receiver/config/gr_libgnuradio_core_extra_ldflags.m4
deleted file mode 100644
index 43f872c..0000000
--- a/gsm-receiver/config/gr_libgnuradio_core_extra_ldflags.m4
+++ /dev/null
@@ -1,40 +0,0 @@
-# Check for (MinGW)win32 extra ld options.             -*- Autoconf -*-
-
-# Copyright 2003,2004,2005 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-dnl
-AC_DEFUN([GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS], [
-AC_REQUIRE([AC_PROG_LD])
-# on Mingw32 extra LDFLAGS are required to ease global variable linking
-LIBGNURADIO_CORE_EXTRA_LDFLAGS=""
-
-AC_MSG_CHECKING([whether $LD accepts --enable-runtime-pseudo-reloc])
-if ${LD} --enable-runtime-pseudo-reloc --version >/dev/null 2>&1
-then
-        # libtool requires the quotes
-        LIBGNURADIO_CORE_EXTRA_LDFLAGS="\"-Wl,--enable-runtime-pseudo-reloc\""
-        AC_MSG_RESULT(yes)
-else
-        AC_MSG_RESULT(no)
-fi
-
-AC_SUBST(LIBGNURADIO_CORE_EXTRA_LDFLAGS)
-
-])
diff --git a/gsm-receiver/config/gr_libgnuradio_runtime_extra_ldflags.m4 b/gsm-receiver/config/gr_libgnuradio_runtime_extra_ldflags.m4
new file mode 100644
index 0000000..92e8c97
--- /dev/null
+++ b/gsm-receiver/config/gr_libgnuradio_runtime_extra_ldflags.m4
@@ -0,0 +1,40 @@
+# Check for (MinGW)win32 extra ld options.             -*- Autoconf -*-
+
+# Copyright 2003,2004,2005 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+
+dnl
+AC_DEFUN([GR_LIBGNURADIO_RUNTIME_EXTRA_LDFLAGS], [
+AC_REQUIRE([AC_PROG_LD])
+# on Mingw32 extra LDFLAGS are required to ease global variable linking
+LIBGNURADIO_RUNTIME_EXTRA_LDFLAGS=""
+
+AC_MSG_CHECKING([whether $LD accepts --enable-runtime-pseudo-reloc])
+if ${LD} --enable-runtime-pseudo-reloc --version >/dev/null 2>&1
+then
+        # libtool requires the quotes
+        LIBGNURADIO_RUNTIME_EXTRA_LDFLAGS="\"-Wl,--enable-runtime-pseudo-reloc\""
+        AC_MSG_RESULT(yes)
+else
+        AC_MSG_RESULT(no)
+fi
+
+AC_SUBST(LIBGNURADIO_RUNTIME_EXTRA_LDFLAGS)
+
+])
diff --git a/gsm-receiver/config/gr_standalone.m4 b/gsm-receiver/config/gr_standalone.m4
index 4e097d2..14f286c 100644
--- a/gsm-receiver/config/gr_standalone.m4
+++ b/gsm-receiver/config/gr_standalone.m4
@@ -114,7 +114,6 @@ m4_define([GR_STANDALONE],
   AC_CHECK_PROG([XMLTO],[xmlto],[yes],[])
   AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes])
 
-  PKG_CHECK_MODULES(GNURADIO_CORE, gnuradio-core >= 3)
-  LIBS="$LIBS $GNURADIO_CORE_LIBS"
-  PKG_CHECK_MODULES(GRUEL, gruel >= 3)
+  PKG_CHECK_MODULES(GNURADIO_RUNTIME, gnuradio-runtime >= 3)
+  LIBS="$LIBS $GNURADIO_RUNTIME_LIBS"
 ])
diff --git a/gsm-receiver/gsm-receiver.pc.in b/gsm-receiver/gsm-receiver.pc.in
index 0a18d4b..9ceca56 100644
--- a/gsm-receiver/gsm-receiver.pc.in
+++ b/gsm-receiver/gsm-receiver.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: gsm-receiver
 Description: The GSM receiver block which does FCCH burst search, sch decoding and normal burst demodulation
-Requires: gnuradio-core
+Requires: gnuradio-runtime
 Version: @VERSION@
 Libs: -L${libdir} -lgsm-receiver
 Cflags: -I${includedir}
diff --git a/gsm-receiver/src/lib/gsm.i b/gsm-receiver/src/lib/gsm.i
index b3c1d81..3f58e16 100644
--- a/gsm-receiver/src/lib/gsm.i
+++ b/gsm-receiver/src/lib/gsm.i
@@ -37,18 +37,27 @@
 #include "gsm_receiver_cf.h"
 #include <stdexcept>
 /* #include "gsm_constants.h" */
+#include <gnuradio/block.h>
+#include <gnuradio/sync_block.h>
+#include <gnuradio/sync_decimator.h>
+#include <gnuradio/sync_interpolator.h>
+#include <gnuradio/tagged_stream_block.h>
+#include <gnuradio/block_gateway.h>
+#include <gnuradio/feval.h>
+#include <gnuradio/py_feval.h>
+#include <gnuradio/high_res_timer.h>
 %}
 
 // ----------------------------------------------------------------
 
 GR_SWIG_BLOCK_MAGIC(gsm,receiver_cf);
 
-gsm_receiver_cf_sptr gsm_make_receiver_cf ( gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration);
+gsm_receiver_cf_sptr gsm_make_receiver_cf ( gr::feval_dd *tuner, gr::feval_dd *synchronizer, int osr, std::string key, std::string configuration);
 
-class gsm_receiver_cf : public gr_block
+class gsm_receiver_cf : public gr::block
 {
 private:
-  gsm_receiver_cf ( gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr);
+  gsm_receiver_cf ( gr::feval_dd *tuner, gr::feval_dd *synchronizer, int osr);
 };
 
 // ----------------------------------------------------------------
diff --git a/gsm-receiver/src/lib/gsm_receiver_cf.cc b/gsm-receiver/src/lib/gsm_receiver_cf.cc
index b4e7a69..6bfdf5d 100644
--- a/gsm-receiver/src/lib/gsm_receiver_cf.cc
+++ b/gsm-receiver/src/lib/gsm_receiver_cf.cc
@@ -24,8 +24,8 @@
 #include "config.h"
 #endif
 
-#include <gr_io_signature.h>
-#include <gr_math.h>
+#include <gnuradio/io_signature.h>
+#include <gnuradio/math.h>
 #include <math.h>
 #include <Assert.h>
 #include <boost/circular_buffer.hpp>
@@ -289,7 +289,7 @@ typedef std::vector<float> vector_float;
 typedef boost::circular_buffer<float> circular_buffer_float;
 
 gsm_receiver_cf_sptr
-gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration)
+gsm_make_receiver_cf(gr::feval_dd *tuner, gr::feval_dd *synchronizer, int osr, std::string key, std::string configuration)
 {
   return gsm_receiver_cf_sptr(new gsm_receiver_cf(tuner, synchronizer, osr, key, configuration));
 }
@@ -302,10 +302,10 @@ static const int MAX_OUT = 1; // maximum number of output streams
 /*
  * The private constructor
  */
-gsm_receiver_cf::gsm_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration)
-    : gr_block("gsm_receiver",
-               gr_make_io_signature(MIN_IN, MAX_IN, sizeof(gr_complex)),
-               gr_make_io_signature(MIN_OUT, MAX_OUT, 142 * sizeof(float))),
+gsm_receiver_cf::gsm_receiver_cf(gr::feval_dd *tuner, gr::feval_dd *synchronizer, int osr, std::string key, std::string configuration)
+    : gr::block("gsm_receiver",
+               gr::io_signature::make(MIN_IN, MAX_IN, sizeof(gr_complex)),
+               gr::io_signature::make(MIN_OUT, MAX_OUT, 142 * sizeof(float))),
     d_OSR(osr),
     d_chan_imp_length(CHAN_IMP_RESP_LENGTH),
     d_tuner(tuner),
@@ -751,7 +751,7 @@ void gsm_receiver_cf::set_frequency(double freq_offset)
 inline float gsm_receiver_cf::compute_phase_diff(gr_complex val1, gr_complex val2)
 {
   gr_complex conjprod = val1 * conj(val2);
-  return gr_fast_atan2f(imag(conjprod), real(conjprod));
+  return gr::fast_atan2f(imag(conjprod), real(conjprod));
 }
 
 bool gsm_receiver_cf::reach_sch_burst(const int nitems)
diff --git a/gsm-receiver/src/lib/gsm_receiver_cf.h b/gsm-receiver/src/lib/gsm_receiver_cf.h
index 039a774..3478585 100644
--- a/gsm-receiver/src/lib/gsm_receiver_cf.h
+++ b/gsm-receiver/src/lib/gsm_receiver_cf.h
@@ -24,9 +24,9 @@
 
 #include <vector>
 #include <list>
-#include <gr_block.h>
-#include <gr_complex.h>
-#include <gr_feval.h>
+#include <gnuradio/block.h>
+#include <gnuradio/gr_complex.h>
+#include <gnuradio/feval.h>
 #include <gsm_constants.h>
 #include <gsm_receiver_config.h>
 
@@ -42,7 +42,7 @@ class gsm_receiver_cf;
 typedef boost::shared_ptr<gsm_receiver_cf> gsm_receiver_cf_sptr;
 typedef std::vector<gr_complex> vector_complex;
 
-gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration);
+gsm_receiver_cf_sptr gsm_make_receiver_cf(gr::feval_dd *tuner, gr::feval_dd *synchronizer, int osr, std::string key, std::string configuration);
 
 /** GSM Receiver GNU Radio block
  *
@@ -52,7 +52,7 @@ gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synch
  * \ingroup block
  */
 
-class gsm_receiver_cf : public gr_block
+class gsm_receiver_cf : public gr::block
 {
   private:
     std::map<char,int> d_hex_to_int;
@@ -76,8 +76,8 @@ class gsm_receiver_cf : public gr_block
     gr_complex d_sch_training_seq[N_SYNC_BITS]; ///<encoded training sequence of a SCH burst
     gr_complex d_norm_training_seq[TRAIN_SEQ_NUM][N_TRAIN_BITS]; ///<encoded training sequences of a normal bursts and dummy bursts
 
-    gr_feval_dd *d_tuner; ///<callback to a python object which is used for frequency tunning
-    gr_feval_dd *d_synchronizer; ///<callback to a python object which is used to correct offset of USRP's internal clock
+    gr::feval_dd *d_tuner; ///<callback to a python object which is used for frequency tunning
+    gr::feval_dd *d_synchronizer; ///<callback to a python object which is used to correct offset of USRP's internal clock
 
     /** Countes samples consumed by the receiver
      *
@@ -120,8 +120,8 @@ class gsm_receiver_cf : public gr_block
     // GSM Stack
     GS_CTX d_gs_ctx;//TODO: remove it! it'a not right place for a decoder
 
-    friend gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration);
-    gsm_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration);
+    friend gsm_receiver_cf_sptr gsm_make_receiver_cf(gr::feval_dd *tuner, gr::feval_dd *synchronizer, int osr, std::string key, std::string configuration);
+    gsm_receiver_cf(gr::feval_dd *tuner, gr::feval_dd *synchronizer, int osr, std::string key, std::string configuration);
 
     /** Function whis is used to search a FCCH burst and to compute frequency offset before
      * "synchronized" state of the receiver
-- 
1.8.3.2