Files
gem5/ext/systemc
Gabe Black 0bb50e6745 scons: Switch from the print statement to the print function.
Starting with version 3, scons imposes using the print function instead
of the print statement in code it processes. To get things building
again, this change moves all python code within gem5 to use the
function version. Another change by another author separately made this
same change to the site_tools and site_init.py files.

Change-Id: I2de7dc3b1be756baad6f60574c47c8b7e80ea3b0
Reviewed-on: https://gem5-review.googlesource.com/8761
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-03-06 23:39:01 +00:00
..
2017-05-18 08:36:56 +00:00
2017-05-18 08:36:56 +00:00
2017-05-18 08:36:56 +00:00
2017-05-18 08:36:56 +00:00
2017-05-18 08:36:56 +00:00
2017-05-18 08:36:56 +00:00
2017-05-18 08:36:56 +00:00

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])