summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Blum2012-09-18 16:03:55 -0700
committerJosh Blum2012-09-18 16:03:55 -0700
commit541b5adccdc915b5deb200c240aaf77847dea027 (patch)
treed4c8a81055760037a76a703b7baa2e83750ef4e1
parent4d6d5b216f86e976322fb4fed800c756fdef4315 (diff)
downloadsandhi-541b5adccdc915b5deb200c240aaf77847dea027.tar.gz
sandhi-541b5adccdc915b5deb200c240aaf77847dea027.tar.bz2
sandhi-541b5adccdc915b5deb200c240aaf77847dea027.zip
bring in theron and tsbe as submodules
-rw-r--r--.gitmodules6
-rw-r--r--README.txt2
-rw-r--r--TODO.txt15
m---------Theron0
-rw-r--r--lib/CMakeLists.txt63
m---------tsbe0
6 files changed, 47 insertions, 39 deletions
diff --git a/.gitmodules b/.gitmodules
index 9302c04..c68e8a6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,3 +4,9 @@
[submodule "numanuma"]
path = numanuma
url = https://github.com/guruofquality/numanuma.git
+[submodule "tsbe"]
+ path = tsbe
+ url = https://github.com/guruofquality/tsbe.git
+[submodule "Theron"]
+ path = Theron
+ url = https://github.com/guruofquality/Theron.git
diff --git a/README.txt b/README.txt
index a627da2..25d423c 100644
--- a/README.txt
+++ b/README.txt
@@ -8,8 +8,8 @@ https://github.com/guruofquality/gras/wiki
------------------------------------------------------------------------
-- Prerequisites
------------------------------------------------------------------------
-* https://github.com/guruofquality/tsbe
* standard gnuradio prereqs
+* libnuma (linux only)
------------------------------------------------------------------------
-- Get the source code
diff --git a/TODO.txt b/TODO.txt
index 3e14dd0..628d3b2 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -12,24 +12,15 @@
* add hooks to specify input reserve
** automatically calculate from output multiple and rel rate
-* gr stream mux is on drugs
-
* handle calculating noutputitems using ninputs as a constraint
-* allocation
-** hooks for advanced allocation
-** override the default allocator (output token, recommended bytes)
-
* python wrapper for block will come from grextras
-* bring in numanuma
-** thread prio
-** thread affinity
-
* track memcpys for block usage stats
* runtime history, input/output multiple change?
** resend the hint to the allocator and possibly re-allocate
+** should only do this on topology commit?
* determine when outputs should be flushed, or continual filling
@@ -37,3 +28,7 @@
** set this before creating blocks to give them an affinity
* put this todo into wiki format checklist
+
+* more thread safety
+** all element internals should be accessed via message
+and not directly from block::<method>
diff --git a/Theron b/Theron
new file mode 160000
+Subproject c6388f54e6ce75495ffd14d3aa6f24a66bb2545
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 1cea8c8..fd24ccd 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -9,6 +9,39 @@ set(GRAS_BINARY_DIR ${CMAKE_BINARY_DIR}/gruel/src)
set(RUNTIME_SOURCE_DIR ${CMAKE_SOURCE_DIR}/gnuradio-core/src/lib/runtime)
########################################################################
+# Setup TSBE
+########################################################################
+include_directories(${GRAS_SOURCE_DIR}/tsbe/include)
+include_directories(${GRAS_SOURCE_DIR}/tsbe/lib)
+
+file(GLOB tsbe_sources
+ "${GRAS_SOURCE_DIR}/tsbe/lib/*.cpp"
+)
+
+list(APPEND gnuradio_core_sources ${tsbe_sources})
+
+########################################################################
+# Setup Theron
+########################################################################
+include_directories(${GRAS_SOURCE_DIR}/Theron/Include)
+include_directories(${GRAS_SOURCE_DIR}/Theron/Include/External)
+
+if(MSVC)
+ include_directories(${GRAS_SOURCE_DIR}/Theron/Include/External/Standard)
+endif(MSVC)
+
+if (NOT WIN32) #not on windows? tell theron headers to use boost
+ add_definitions(-DTHERON_USE_BOOST_THREADS)
+endif()
+
+file(GLOB theron_sources
+ "${GRAS_SOURCE_DIR}/Theron/Theron/*.cpp"
+ "${GRAS_SOURCE_DIR}/Theron/Source/*.cpp"
+)
+
+list(APPEND gnuradio_core_sources ${theron_sources})
+
+########################################################################
# Setup NumaNuma
########################################################################
list(APPEND CMAKE_MODULE_PATH ${GRAS_SOURCE_DIR}/numanuma/cmake)
@@ -18,6 +51,8 @@ if(NOT NUMANUMA_FOUND)
message(FATAL_ERROR "numanuma dependencies not met!")
endif()
+list(APPEND gnuradio_core_libs ${NUMANUMA_LIBRARIES})
+
########################################################################
# Append gnuradio-core library sources
########################################################################
@@ -82,34 +117,6 @@ foreach(header ${test_headers})
execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${header} ${GRAS_BINARY_DIR}/include)
endforeach(header)
-
-########################################################################
-# Find TSBE and add to libs
-########################################################################
-FIND_PATH(
- TSBE_INCLUDE_DIRS
- NAMES tsbe/config.hpp
- PATHS /usr/local/include
- /usr/include
-)
-
-FIND_LIBRARY(
- TSBE_LIBRARIES
- NAMES tsbe
- PATHS /usr/local/lib
- /usr/lib
- /usr/lib64
-)
-
-include_directories(${TSBE_INCLUDE_DIRS})
-link_directories(${TSBE_LIBRARY_DIRS})
-
-list(APPEND gnuradio_core_libs
- ${TSBE_LIBRARIES}
-)
-
-list(APPEND gnuradio_core_libs ${NUMANUMA_LIBRARIES})
-
########################################################################
# Install runtime headers
########################################################################
diff --git a/tsbe b/tsbe
new file mode 160000
+Subproject cfbc0dd4672d77581c3dd072fd23213d5f0b73b