updates submodules and adapts to changes there

This commit is contained in:
Eyck Jentzsch 2023-07-06 07:54:27 +02:00
parent a7d33ca186
commit 50e30852bc
6 changed files with 46 additions and 23 deletions

1
.gitignore vendored
View File

@ -12,3 +12,4 @@
/output.txt
/output.trc
CMakeSettings.json
/.venv

View File

@ -1,13 +1,11 @@
cmake_minimum_required(VERSION 3.16)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake)
include(ConanInline)
project(ecosystem-vp LANGUAGES C CXX VERSION 1.0.0)
option(ENABLE_SCV "Enable the use of SCV" ON)
option(LIBS_ONLY "Just build the shared libraries needed to build the VP" OFF)
option(FW_BUILD "Enable the automatic rebuild of firmware running on the VP" ON)
option(FW_BUILD "Enable the automatic rebuild of firmware running on the VP" OFF)
option(EN_EXT_DEBUG "Enable extended debug output at runtime" OFF)
option(ENABLE_COVERAGE "Enable code coverage" OFF)
option(ENABLE_SANITIZER "Enable address sanitizer" OFF)
@ -32,7 +30,17 @@ endif()
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
add_compile_options(/vmg /wd26812) # suppress Warnung C26812: "enum class" gegenüber "enum" (Enum.3) bevorzugen
endif()
include(ConanInline)
if(BUILD_SHARED_LIBS)
set(SHARED_FLAG "True")
else()
set(SHARED_FLAG "False")
endif()
set(CONAN_BOOST_OPTIONS
boost:fPIC=True
boost:shared=${SHARED_FLAG}
boost:header_only=False
boost:without_contract=True
boost:without_fiber=True
@ -54,42 +62,56 @@ boost:without_timer=True
boost:without_type_erasure=True
boost:without_wave=True
)
if (UNIX)
list(APPEND CONAN_BOOST_OPTIONS boost:fPIC=True boost:shared=True)
endif (UNIX)
set(B2_VERSION 4.9.3)
set(CONAN_PACKAGE_LIST
fmt/8.0.1
spdlog/1.9.2
boost/1.75.0
gsl-lite/0.37.0
elfio/3.8
tcc/0.9.27
lz4/1.9.3
yaml-cpp/0.7.0
jsoncpp/1.9.5
)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND ENABLE_TCC)
list(APPEND CONAN_BOOST_OPTIONS boost:fPIC=True lua:compile_as_cpp=False)
if(ENABLE_TCC)
list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27)
endif()
list(APPEND CONAN_PACKAGE_LIST seasocks/1.4.4 lua/5.4.3)
list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27)
endif()
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
list(APPEND CONAN_PACKAGE_LIST seasocks/1.4.4 lua/5.4.3)
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True lua:compile_as_cpp=False ${CONAN_BOOST_OPTIONS})
if(NOT USE_CWR_SYSTEMC AND NOT USE_NCSC_SYSTEMC AND NOT DEFINED ENV{SYSTEMC_HOME})
set(CONAN_PACKAGE_LIST ${CONAN_PACKAGE_LIST} systemc/2.3.3 systemc-cci/1.0.0)
set(CONAN_PACKAGE_OPTIONS ${CONAN_PACKAGE_OPTIONS} systemc:shared=True systemc-cci:shared=True systemc:disable_virtual_bind=False)
set(CONAN_PACKAGE_LIST ${CONAN_PACKAGE_LIST}
systemc/2.3.3
systemc-cci/1.0.0
)
set(CONAN_PACKAGE_OPTIONS ${CONAN_PACKAGE_OPTIONS}
systemc:shared=${SHARED_FLAG}
systemc-cci:shared=${SHARED_FLAG}
systemc:disable_virtual_bind=False)
endif()
conan_check()
conan_check()
conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan)
# Boost on CentOS 7 quirks: the b2 of conan-center is build against a newer libstdc++ and therefore does not run
# with the oooooold libs on CentOS 7. Therefore we build our own version of b2 if it is not there
set(B2_META $ENV{HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
if(DEFINED ENV{CONAN_USER_HOME})
set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
endif()
if(NOT EXISTS ${B2_META})
conan_configure(REQUIRES b2/${B2_VERSION})
conan_cmake_autodetect(settings)
conan_cmake_install(PATH_OR_REFERENCE . BUILD b2 SETTINGS ${settings})
endif()
# Boost on CentOS 7 quirks end
conan_cmake_configure(REQUIRES ${CONAN_PACKAGE_LIST}
GENERATORS cmake_find_package
OPTIONS ${CONAN_PACKAGE_OPTIONS}
)
conan_cmake_autodetect(settings)
# needed when using CentOS devenv-7 or -8 and boost does not build because of missing GLIBCXX version
#conan_install(BUILD b2 missing)
conan_install()
set(CONAN_CMAKE_SILENT_OUTPUT ON)
@ -131,9 +153,9 @@ endif ()
add_subdirectory(scc)
add_subdirectory(tgc-iss/dbt-rise-core)
add_subdirectory(tgc-iss/dbt-rise-tgc)
if(NOT USE_CWR_SYSTEMC)
#if(NOT USE_CWR_SYSTEMC)
add_subdirectory(vpvper)
endif()
#endif()
if(NOT LIBS_ONLY)
add_subdirectory(src)
endif()

View File

@ -7,7 +7,7 @@
#define _PLATFORM_MMAP_H_
// need double braces, see
// https://stackoverflow.com/questions/6893700/how-to-construct-stdarray-object-with-initializer-list#6894191
const std::array<scc::target_memory_map_entry<>, 13> platfrom_mmap = {{
const std::array<scc::target_memory_map_entry<scc::LT>, 13> platfrom_mmap = {{
{clint.socket, 0x2000000, 0xc000},
{plic.socket, 0xc000000, 0x200008},
{aon.socket, 0x10000000, 0x150},

@ -1 +1 @@
Subproject commit c669f78a90084d55b6a04d41cf7f92558d73e75a
Subproject commit bb85be481cfd71c9fdaad5217a044b207465f4c4

@ -1 +1 @@
Subproject commit 4dbc7433a5ce58e367d2e740e191929df50e39ef
Subproject commit 0b719a4b576a3ea1520193ab5a28442a939a5e4b

2
vpvper

@ -1 +1 @@
Subproject commit ce00e1bb0a8dfa019287072c0c35f96195f377e0
Subproject commit b35f68e35c2e5c254ab04008abe4fe0a279eb4d1