From 541b5adccdc915b5deb200c240aaf77847dea027 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 18 Sep 2012 16:03:55 -0700 Subject: bring in theron and tsbe as submodules --- .gitmodules | 6 ++++++ README.txt | 2 +- TODO.txt | 15 +++++-------- Theron | 1 + lib/CMakeLists.txt | 63 ++++++++++++++++++++++++++++++------------------------ tsbe | 1 + 6 files changed, 49 insertions(+), 39 deletions(-) create mode 160000 Theron create mode 160000 tsbe 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:: diff --git a/Theron b/Theron new file mode 160000 index 0000000..c6388f5 --- /dev/null +++ b/Theron @@ -0,0 +1 @@ +Subproject commit c6388f54e6ce75495ffd14d3aa6f24a66bb2545f diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 1cea8c8..fd24ccd 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -8,6 +8,39 @@ set(GRAS_SOURCE_DIR ${CMAKE_SOURCE_DIR}/../) 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 ######################################################################## @@ -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 index 0000000..cfbc0dd --- /dev/null +++ b/tsbe @@ -0,0 +1 @@ +Subproject commit cfbc0dd4672d77581c3dd072fd23213d5f0b73b4 -- cgit