Fix issue caused by pkg-config stripping -I/usr/include from --cflags
authorjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>
Mon, 3 Nov 2008 20:35:04 +0000 (20:35 +0000)
committerjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>
Mon, 3 Nov 2008 20:35:04 +0000 (20:35 +0000)
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9920 221aa14e-8319-0410-a670-987f0aec2ac5

gnuradio-core/src/lib/runtime/gr_realtime.i
gruel/src/include/gruel/realtime.h

index e111f1341c184d787b68e5ee8ba77081607fb388..8f39625b410630c9ebd0dc6d3598d44456eccf7a 100644 (file)
@@ -1,4 +1,33 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2008 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.
+ */
+
 %rename(enable_realtime_scheduling) gruel::enable_realtime_scheduling;
 
-%include <gruel/realtime.h>
+// NOTE: This is duplicated from gruel/src/include/gruel/gr_realtime.h,
+//       and must be kept in sync with it.  This is the least evil workaround
+//       for allowing 3rd party code builds to work when GNU Radio is
+//       installed from binary packages into the standard system directories.
+//       Otherwise, they can't find #include <gruel/gr_realtime.h>, since
+//       pkg-config strips -I/usr/include from the --cflags path.
 
+typedef gruel::rt_status_t gr_rt_status_t;
+gr_rt_status_t gr_enable_realtime_scheduling();
index 8beec26d646e28836865380ac9e34af1609cca0d..d110ec956f2572322b2666c2f3365336726aeba4 100644 (file)
@@ -84,6 +84,9 @@ namespace gruel {
    * an non-blocking infinite loop and you enable realtime scheduling,
    * it's possible to hang the system.
    */
+
+  // NOTE: If you change this, you need to change the code in 
+  // gnuradio-core/src/lib/runtime/gr_realtime.i, see note there.
   rt_status_t
   enable_realtime_scheduling(rt_sched_param = rt_sched_param());