Fixed the issue that did not allow building TLM. Build commands: ```bash scons build/ARM/gem5.opt scons setconfig build/ARM USE_SYSTEMC=n scons --with-cxx-config --without-python --without-tcmalloc build/ARM/libgem5_opt.so cd util/tlm scons ``` Following this README, I tested it successfully with the simple examples: https://gem5.googlesource.com/public/gem5/+/master/util/tlm/README GitHub Issue: #591 Change-Id: If07fae2eb20ad62627e733573f61bc42d594f970 --------- Co-authored-by: Ivana Mitrovic <ivanamit91@gmail.com>
Overview
This repository is a redistribution of the Accellera SystemC 2.3.1 library [1]. This distribution replaces Accellera's Autoconf build system with a SCons build system, which is very useful for integration of SystemC in other SCons based projects, e.g., gem5 [2].
The repository contains all the source files from the Accellera distribution, but strips down the boost dependencies. All references to the boost library are replaced by calls to the C++11 STL. This repository also contains the TLM 2.0 protocl checker from Doulos [3].
Build
To build libsystemc-2.3.1.so, simply type scons. Optionally you can specify the number of jobs.
scons -j N
To build and link to SystemC from another SCons project, simply call the
SConscript located in src/. Be sure to add -std=c++11 to the CXXFLAGS of
your environment and to export the environment as 'env'. In case you build on
OS X, you will need to add -undefined dynamic lookup to your LINKFLAGS.
This is how a minimal SConstruct for your SystemC project could look:
env = Environment()
env.Append(CXXFLAGS=['-std=c++11'])
if env['PLATFORM'] == 'darwin':
env.Append(LINKFLAGS=['-undefined', 'dynamic_lookup'])
systemc = env.SConscript('<path_to_systemc>/src/SConscript', exports=['env'])
env.Program('example', ['example.cc', systemc])