discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Schedule for GNU Radio 3.7.9 release - abi-compliance


From: Maitland Bottoms
Subject: [Discuss-gnuradio] Schedule for GNU Radio 3.7.9 release - abi-compliance-checker
Date: Tue, 1 Dec 2015 23:56:46 -0500

Hi,

I played a bit with the abi-compliance-checker which resulted in the attached 
patch.

Alas, it complained a bit on gr-uhd - perhaps unable to figure out uhd from
the Ettus UHD headers and uhd from gnuradio headers. So I punted, and told
abi-compliance-checker to skip include/gnuradio/uhd paths[1].

Someone with well honed C++ skills (or want to hone their skills) might
want to take a look at that.

The attached make-acc-happy patch applies to both master and maint right now.
Might be a nice goal to have GNU Radio 3.7.9 play well with 
abi-compliance-checker.

-Maitland

P.S.
This is one of the patches I add to gnuradio in making the Debian packages:
https://sources.debian.net/src/gnuradio/3.7.8.1-2/debian/patches/
https://sources.debian.net/src/gnuradio/3.7.8.1-2/debian/patches/make-acc-happy/

Also part of making abi-compliance-checker was fixing up the codec2 code:
https://sources.debian.net/src/gnuradio/3.7.8.1-2/debian/patches/codec2-embedding-fixups/

[1]Here's the config for abi-compliance-checker used in Debian packaging:
https://sources.debian.net/src/gnuradio/3.7.8.1-2/debian/gnuradio-dev.acc/

--- a/gnuradio-runtime/include/gnuradio/sys_pri.h
+++ b/gnuradio-runtime/include/gnuradio/sys_pri.h
@@ -23,7 +23,7 @@
 #define INCLUDED_GNURADIO_SYS_PRI_H
 
 #include <gnuradio/api.h>
-#include <realtime.h>
+#include <gnuradio/realtime.h>
 
 /*
  * A single place to define real-time priorities used by the system itself
@@ -31,10 +31,10 @@
 namespace gr {
 
   struct GR_RUNTIME_API sys_pri {
-    static rt_sched_param python();              // python code
-    static rt_sched_param normal();              // normal blocks
-    static rt_sched_param gcell_event_handler();
-    static rt_sched_param usrp2_backend();       // thread that services the 
ethernet
+    static struct GR_RUNTIME_API rt_sched_param python();                // 
python code
+    static struct GR_RUNTIME_API rt_sched_param normal();                // 
normal blocks
+    static struct GR_RUNTIME_API rt_sched_param gcell_event_handler();
+    static struct GR_RUNTIME_API rt_sched_param usrp2_backend();         // 
thread that services the ethernet
   };
 
 } /* namespace gr */
--- a/gnuradio-runtime/include/gnuradio/py_feval.h
+++ b/gnuradio-runtime/include/gnuradio/py_feval.h
@@ -23,6 +23,7 @@
 #ifndef INCLUDED_GR_PY_FEVAL_H
 #define INCLUDED_GR_PY_FEVAL_H
 
+#include <Python.h>
 #include <pmt/pmt.h>
 #include <gnuradio/feval.h>
 
>From d3bdf1d6ddac7d4d65a2b9fbc9600027e92f28ad Mon Sep 17 00:00:00 2001
From: "A. Maitland Bottoms" <address@hidden>
Date: Wed, 11 Nov 2015 10:50:22 -0500
Subject: [PATCH] codec2-embedding-fixup

---
 gr-vocoder/gnuradio-vocoder.pc.in              |  2 +-
 gr-vocoder/include/gnuradio/vocoder/codec2.h   |  2 +-
 gr-vocoder/lib/CMakeLists.txt                  |  7 +++++++
 gr-vocoder/swig/CMakeLists.txt                 |  1 +
 4 files changed

diff --git a/gr-vocoder/gnuradio-vocoder.pc.in 
b/gr-vocoder/gnuradio-vocoder.pc.in
index c5c860d..f937319 100644
--- a/gr-vocoder/gnuradio-vocoder.pc.in
+++ b/gr-vocoder/gnuradio-vocoder.pc.in
@@ -8,4 +8,4 @@ Description: GNU Radio blocks implementing voice codecs
 Requires: gnuradio-runtime
 Version: @LIBVER@
 Libs: -L${libdir} -lgnuradio-vocoder
-Cflags: -I${includedir}
+Cflags: -I${includedir} @EMBEDDED_CODEC2_INCLUDE@
diff --git a/gr-vocoder/include/gnuradio/vocoder/codec2.h 
b/gr-vocoder/include/gnuradio/vocoder/codec2.h
index a3c2225..871903f 100644
--- a/gr-vocoder/include/gnuradio/vocoder/codec2.h
+++ b/gr-vocoder/include/gnuradio/vocoder/codec2.h
@@ -26,7 +26,7 @@
 #include <gnuradio/vocoder/api.h>
 
 extern "C" {
-#include "../lib/codec2/codec2.h"
+#include <codec2/codec2.h>
 }
 
 namespace gr {
diff --git a/gr-vocoder/lib/CMakeLists.txt b/gr-vocoder/lib/CMakeLists.txt
index a347cbf..7e813de 100644
--- a/gr-vocoder/lib/CMakeLists.txt
+++ b/gr-vocoder/lib/CMakeLists.txt
@@ -140,6 +140,9 @@ else (NOT DEFINED GR_USE_SYSTEM_LIBCODEC2)
  else (GR_USE_SYSTEM_LIBCODEC2)
     set(GR_USE_LOCAL_LIBCODEC2 TRUE)
     message(STATUS "Using gnuradio local copy of libcodec2.")
+    include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+    set(EMBEDDED_CODEC2_INCLUDE "-I\${includedir}/gnuradio/vocoder" 
PARENT_SCOPE)
+    set(EMBEDDED_CODEC2_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/gr-vocoder/lib 
PARENT_SCOPE)
  endif (GR_USE_SYSTEM_LIBCODEC2)
 endif (NOT DEFINED GR_USE_SYSTEM_LIBCODEC2)
 
@@ -151,6 +154,7 @@ mark_as_advanced(LIBCODEC2_INCLUDE_DIR LIBCODEC2_LIBRARIES)
 ########################################################################
 include_directories(
     ${GR_VOCODER_INCLUDE_DIRS}
+    ${EMBEDDED_CODEC2_INCLUDE_DIRS}
     ${GNURADIO_RUNTIME_INCLUDE_DIRS}
     ${LOG4CXX_INCLUDE_DIRS}
     ${Boost_INCLUDE_DIRS}
@@ -210,6 +214,9 @@ GR_INCLUDE_SUBDIRECTORY(g7xx)
 
 if(GR_USE_LOCAL_LIBCODEC2)
  GR_INCLUDE_SUBDIRECTORY(codec2)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/codec2/codec2.h
+   DESTINATION ${GR_INCLUDE_DIR}/gnuradio/vocoder/codec2/
+   COMPONENT "vocoder_devel")
 endif(GR_USE_LOCAL_LIBCODEC2)
 
 if(GR_USE_LOCAL_LIBGSM)
diff --git a/gr-vocoder/swig/CMakeLists.txt b/gr-vocoder/swig/CMakeLists.txt
index 2662396..4e15442 100644
--- a/gr-vocoder/swig/CMakeLists.txt
+++ b/gr-vocoder/swig/CMakeLists.txt
@@ -25,6 +25,7 @@ include(GrSwig)
 
 set(GR_SWIG_INCLUDE_DIRS
     ${GR_VOCODER_INCLUDE_DIRS}
+    ${EMBEDDED_CODEC2_INCLUDE_DIRS}
     ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS}
     ${Boost_INCLUDE_DIRS}
 )
-- 
2.1.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]