diff --git a/.cproject b/.cproject index bd78173..6336f9c 100644 --- a/.cproject +++ b/.cproject @@ -110,7 +110,6 @@ - @@ -121,4 +120,16 @@ + + + + CMAKE_BUILD_TOOL + + components + true + true + true + + + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 85d5cdd..959b5eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /build/ /.settings /*.vcd +/*.png +/*.dot \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index fbca556..adb00af 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "sc-components"] - path = sc-components + path = scc url = https://github.com/Minres/SystemC-Components.git diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml deleted file mode 100644 index 238ce28..0000000 --- a/.settings/language.settings.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/.settings/org.eclipse.cdt.managedbuilder.core.prefs deleted file mode 100644 index 10e755f..0000000 --- a/.settings/org.eclipse.cdt.managedbuilder.core.prefs +++ /dev/null @@ -1,13 +0,0 @@ -eclipse.preferences.version=1 -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/CPATH/delimiter=\: -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/CPATH/operation=remove -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/CPLUS_INCLUDE_PATH/delimiter=\: -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/CPLUS_INCLUDE_PATH/operation=remove -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/C_INCLUDE_PATH/delimiter=\: -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/C_INCLUDE_PATH/operation=remove -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/append=true -environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.base.1318364290/appendContributed=true -environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.base.1318364290/LIBRARY_PATH/delimiter=\: -environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.base.1318364290/LIBRARY_PATH/operation=remove -environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.base.1318364290/append=true -environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.base.1318364290/appendContributed=true diff --git a/CMakeLists.txt b/CMakeLists.txt index b27b8d9..3ad52e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.3) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/sc-components/cmake) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake) project(pysysc-sc) @@ -10,8 +10,7 @@ set(ENABLE_SHARED TRUE CACHE BOOL "Build shared libraries") include(GNUInstallDirs) include(Conan) include(BuildType) - -#enable_testing() +include(clang-format) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -58,9 +57,7 @@ if(CCI_FOUND) #message( FATAL_ERROR "SystemC CCI library not found." ) endif() -include(sc-components/cmake/clang-format.cmake) - -add_subdirectory(sc-components) +add_subdirectory(scc) add_subdirectory(components) add_subdirectory(top) diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake deleted file mode 100644 index bcd1d72..0000000 --- a/cmake/GetGitRevisionDescription.cmake +++ /dev/null @@ -1,130 +0,0 @@ -# - Returns a version string from Git -# -# These functions force a re-configure on each git commit so that you can -# trust the values of the variables in your build system. -# -# get_git_head_revision( [ ...]) -# -# Returns the refspec and sha hash of the current head revision -# -# git_describe( [ ...]) -# -# Returns the results of git describe on the source tree, and adjusting -# the output so that it tests false if an error occurs. -# -# git_get_exact_tag( [ ...]) -# -# Returns the results of git describe --exact-match on the source tree, -# and adjusting the output so that it tests false if there was no exact -# matching tag. -# -# Requires CMake 2.6 or newer (uses the 'function' command) -# -# Original Author: -# 2009-2010 Ryan Pavlik -# http://academic.cleardefinition.com -# Iowa State University HCI Graduate Program/VRAC -# -# Copyright Iowa State University 2009-2010. -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt) - -if(__get_git_revision_description) - return() -endif() -set(__get_git_revision_description YES) - -# We must run the following at "include" time, not at function call time, -# to find the path to this module rather than the path to a calling list file -get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH) - -function(get_git_head_revision _refspecvar _hashvar) - set(GIT_PARENT_DIR "${CMAKE_CURRENT_LIST_DIR}") - set(GIT_DIR "${GIT_PARENT_DIR}/.git") - while(NOT EXISTS "${GIT_DIR}") # .git dir not found, search parent directories - set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}") - get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH) - if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT) - # We have reached the root directory, we are not in git - set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE) - set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE) - return() - endif() - set(GIT_DIR "${GIT_PARENT_DIR}/.git") - endwhile() - # check if this is a submodule - if(NOT IS_DIRECTORY ${GIT_DIR}) - file(READ ${GIT_DIR} submodule) - string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" GIT_DIR_RELATIVE ${submodule}) - get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH) - get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE} ABSOLUTE) - endif() - set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data") - if(NOT EXISTS "${GIT_DATA}") - file(MAKE_DIRECTORY "${GIT_DATA}") - endif() - - if(NOT EXISTS "${GIT_DIR}/HEAD") - return() - endif() - set(HEAD_FILE "${GIT_DATA}/HEAD") - configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY) - - configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" - "${GIT_DATA}/grabRef.cmake" - @ONLY) - include("${GIT_DATA}/grabRef.cmake") - - set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) - set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE) -endfunction() - -function(git_describe _var) - if(NOT GIT_FOUND) - find_package(Git QUIET) - endif() - get_git_head_revision(refspec hash) - if(NOT GIT_FOUND) - set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) - return() - endif() - if(NOT hash) - set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) - return() - endif() - - # TODO sanitize - #if((${ARGN}" MATCHES "&&") OR - # (ARGN MATCHES "||") OR - # (ARGN MATCHES "\\;")) - # message("Please report the following error to the project!") - # message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}") - #endif() - - #message(STATUS "Arguments to execute_process: ${ARGN}") - - execute_process(COMMAND - "${GIT_EXECUTABLE}" - describe - ${hash} - ${ARGN} - WORKING_DIRECTORY - "${CMAKE_SOURCE_DIR}" - RESULT_VARIABLE - res - OUTPUT_VARIABLE - out - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT res EQUAL 0) - set(out "${out}-${res}-NOTFOUND") - endif() - - set(${_var} "${out}" PARENT_SCOPE) -endfunction() - -function(git_get_exact_tag _var) - git_describe(out --exact-match ${ARGN}) - set(${_var} "${out}" PARENT_SCOPE) -endfunction() diff --git a/cmake/GetGitRevisionDescription.cmake.in b/cmake/GetGitRevisionDescription.cmake.in deleted file mode 100644 index 6d8b708..0000000 --- a/cmake/GetGitRevisionDescription.cmake.in +++ /dev/null @@ -1,41 +0,0 @@ -# -# Internal file for GetGitRevisionDescription.cmake -# -# Requires CMake 2.6 or newer (uses the 'function' command) -# -# Original Author: -# 2009-2010 Ryan Pavlik -# http://academic.cleardefinition.com -# Iowa State University HCI Graduate Program/VRAC -# -# Copyright Iowa State University 2009-2010. -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt) - -set(HEAD_HASH) - -file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) - -string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) -if(HEAD_CONTENTS MATCHES "ref") - # named branch - string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") - if(EXISTS "@GIT_DIR@/${HEAD_REF}") - configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) - else() - configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY) - file(READ "@GIT_DATA@/packed-refs" PACKED_REFS) - if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}") - set(HEAD_HASH "${CMAKE_MATCH_1}") - endif() - endif() -else() - # detached HEAD - configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) -endif() - -if(NOT HEAD_HASH) - file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) - string(STRIP "${HEAD_HASH}" HEAD_HASH) -endif() diff --git a/cmake/GitFunctions.cmake b/cmake/GitFunctions.cmake deleted file mode 100644 index bbb4903..0000000 --- a/cmake/GitFunctions.cmake +++ /dev/null @@ -1,22 +0,0 @@ -if(__git_functions) - return() -endif() -set(__git_functions YES) - -function( get_branch_from_git ) - execute_process( - COMMAND git rev-parse --abbrev-ref HEAD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - RESULT_VARIABLE git_result - OUTPUT_VARIABLE git_branch - ERROR_VARIABLE git_error - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_STRIP_TRAILING_WHITESPACE - ) - if( NOT git_result EQUAL 0 ) - message( FATAL_ERROR "Failed to execute Git: ${git_error}" ) - endif() - - set( GIT_BRANCH ${git_branch} PARENT_SCOPE ) -endfunction( get_branch_from_git ) - diff --git a/cmake/Submodules.cmake b/cmake/Submodules.cmake deleted file mode 100644 index 0d1b89d..0000000 --- a/cmake/Submodules.cmake +++ /dev/null @@ -1,57 +0,0 @@ -if(EXISTS "${PROJECT_SOURCE_DIR}/.gitmodules") -message(STATUS "Updating submodules to their latest/fixed versions") -message(STATUS "(this can take a while, please be patient)") - -### First, get all submodules in -if(${GIT_SUBMODULES_CHECKOUT_QUIET}) - execute_process( - COMMAND git submodule update --init --recursive - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_QUIET - ERROR_QUIET - ) -else() - execute_process( - COMMAND git submodule update --init --recursive - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - ) -endif() - -### Then, checkout each submodule to the specified commit -# Note: Execute separate processes here, to make sure each one is run, -# should one crash (because of branch not existing, this, that ... whatever) -foreach(GIT_SUBMODULE ${GIT_SUBMODULES}) - - if( "${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}" STREQUAL "" ) - message(STATUS "no specific version given for submodule ${GIT_SUBMODULE}, checking out master") - if( "${GIT_SUBMODULE_BRANCH_${GIT_SUBMODULE}}" STREQUAL "" ) - set(GIT_SUBMODULE_VERSION_${GIT_SUBMODULE} "master") - else() - set(GIT_SUBMODULE_VERSION_${GIT_SUBMODULE} ${GIT_SUBMODULE_BRANCH_${GIT_SUBMODULE}}) - endif() - endif() - - if( "${GIT_SUBMODULE_DIR_${GIT_SUBMODULE}}" STREQUAL "" ) - set(GIT_SUBMODULES_DIRECTORY external) - else() - set(GIT_SUBMODULES_DIRECTORY ${GIT_SUBMODULE_DIR_${GIT_SUBMODULE}}) - endif() - - if(${GIT_SUBMODULES_CHECKOUT_QUIET}) - execute_process( - COMMAND git checkout ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}} - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/${GIT_SUBMODULES_DIRECTORY}/${GIT_SUBMODULE} - OUTPUT_QUIET - ERROR_QUIET - ) - else() - message(STATUS "checking out ${GIT_SUBMODULE}'s commit/tag ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}") - execute_process( - COMMAND git checkout ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}} - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/${GIT_SUBMODULES_DIRECTORY}/${GIT_SUBMODULE} - ) - endif() - -endforeach(${GIT_SUBMODULE}) - -endif() diff --git a/conanfile.txt b/conanfile.txt index 9c5e086..cf5024c 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,11 +1,12 @@ [requires] -fmt/5.2.1@bincrafters/stable SystemC/2.3.3@minres/stable - +SystemC-CCI/1.0.0@minres/stable + [generators] cmake [options] -fmt:header_only=True SystemC:stdcxx=11 SystemC:shared=True +SystemC-CCI:stdcxx=11 +SystemC-CCI:shared=True diff --git a/router_example.py b/router_example.py index 05fa02f..1005e37 100644 --- a/router_example.py +++ b/router_example.py @@ -13,7 +13,7 @@ res=pysysc.read_config_from_conan(os.path.join(myDir, 'conanfile.txt'), build_ty pysysc.load_systemc() ############################################################################### logging.debug("Loading SC-Components lib") -pysysc.add_include_path(os.path.join(myDir, 'sc-components/incl')) +pysysc.add_include_path(os.path.join(myDir, 'scc/incl')) pysysc.add_library('scc.h', os.path.join(myDir, 'build/%s/lib/libscc.so'%build_type)) ############################################################################### logging.debug("Loading Components lib") diff --git a/router_example2.py b/router_example2.py index b4927b8..22ede81 100644 --- a/router_example2.py +++ b/router_example2.py @@ -16,7 +16,7 @@ pysysc.read_config_from_conan(os.path.join(myDir, 'conanfile.txt'), build_type) pysysc.load_systemc() ############################################################################### logging.debug("Loading SC-Components lib") -pysysc.add_include_path(os.path.join(myDir, 'sc-components/incl')) +pysysc.add_include_path(os.path.join(myDir, 'scc/incl')) pysysc.add_library('scc.h', os.path.join(myDir, 'build/%s/lib/libscc.so'%build_type)) ############################################################################### logging.debug("Loading Components lib") diff --git a/sc-components b/scc similarity index 100% rename from sc-components rename to scc