README.gem5.md
README.md
1Overview
2========
3
4This repository is a redistribution of the Accellera SystemC 2.3.1 library
5[[1]][sysc]. This distribution replaces Accellera's Autoconf build system with
6a SCons build system, which is very useful for integration of SystemC in other
7SCons based projects, e.g., gem5 [[2]][gem5].
8
9The repository contains all the source files from the Accellera distribution,
10but strips down the boost dependencies. All references to the boost library
11are replaced by calls to the C++11 STL. This repository also contains the
12TLM 2.0 protocl checker from Doulos [[3]][doulos].
13
14Build
15=====
16
17To build libsystemc-2.3.1.so, simply type scons. Optionally you can specify the
18number of jobs.
19
20```
21scons -j N
22```
23
24To build and link to SystemC from another SCons project, simply call the
25SConscript located in `src/`. Be sure to add `-std=c++11` to the `CXXFLAGS` of
26your environment and to export the environment as `'env'`. In case you build on
27OS X, you will need to add `-undefined dynamic lookup` to your `LINKFLAGS`.
28This is how a minimal SConstruct for your SystemC project could look:
29
30```python
31env = Environment()
32
33env.Append(CXXFLAGS=['-std=c++11'])
34if env['PLATFORM'] == 'darwin':
35 env.Append(LINKFLAGS=['-undefined', 'dynamic_lookup'])
36
37systemc = env.SConscript('<path_to_systemc>/src/SConscript', exports=['env'])
38env.Program('example', ['example.cc', systemc])
39```
40
41[sysc]: http://accellera.org/downloads/standards/systemc
42[gem5]: http://www.gem5.org/Main_Page
43[doulos]: https://www.doulos.com/knowhow/systemc/tlm2/base_protocol_checker/
44
README.sysc
1 SystemC Class Library (Rel. 2.3.1)
2 ==================================
3
4This is the release of the SystemC 2.3.1 Class Library.
5This release includes TLM 2.0.3 (Transaction Level Modeling) code,
6as described in the IEEE 1666-2011 Language Reference Manual.
7
8-------------------------------------------------------------------------------
9 IMPORTANT
10
111. This is the release of SystemC 2.3.1. This release contains bug fixes
12 for SystemC 2.3.0 as well as adding some minor and experimental features.
13
142. This release is supported on the following platform combinations for
15 which it has been well tested:
16
17 o 64-bit Linux (x86_64)
18 (RedHat Enterprise Linux 5, 6; Scientific Linux 5, 6; Debian 7; Ubuntu 12)
19 - GNU C++ compiler versions gcc-3.4.6 through gcc-4.9.0;
20 - Clang C++ compiler versions clang-3.0 through clang-3.5
21
22 o 64-bit Linux (x86_64) with 32-bit compiler (--host=i686-linux-gnu)
23 (RedHat Enterprise Linux 5, 6; Debian 7; Ubuntu 12)
24 - GNU C++ compiler versions gcc-4.4.7 through gcc-4.9.0;
25 - Clang C++ compiler versions clang-3.0 through clang-3.5
26
27 o 32-bit Linux (x86)
28 (Scientific Linux 5, 6; Debian 6, 7; Ubuntu 12)
29 - GNU C++ compiler versions gcc-3.4.6 through gcc-4.9.0;
30 - Clang C++ compiler versions clang-3.0 through clang-3.4
31
32 o 64-bit Mac OS X (x86_64)
33 (10.6 Snow Leopard, 10.8 Mountain Lion, 10.9 Mavericks)
34 - Apple LLVM version 5.0 (based on LLVM 3.3svn);
35 - Apple GNU C++ compiler version gcc-4.2.1
36
37 o 32-bit Mac OS X (x86)
38 (10.6 Snow Leopard, 10.8 Mountain Lion)
39 - Apple LLVM version 5.0 (based on LLVM 3.3svn);
40 - Apple GNU C++ compiler version gcc-4.2.1
41
42 o 32-bit Mac OS X (powerpc)
43 (10.6 Snow Leopard, executed with Rosetta)
44 - Apple GNU C++ compiler version gcc-4.2.1
45
46 o 64-bit FreeBSD 9.0 (x86_64)
47 - GNU C++ compiler versions gcc-4.2.1 through gcc-4.8.2;
48 - Clang C++ compiler version clang-3.3
49
50 o 32-bit FreeBSD 9.0 (x86)
51 - GNU C++ compiler versions gcc-4.2.1 through gcc-4.8.2;
52 - Clang C++ compiler version clang-3.3
53
54 o 32-bit Solaris (SPARC)
55 (Sun Solaris 10, Oracle Solaris 11)
56 - GNU C++ compiler versions gcc-3.4.3 through gcc-4.8.1;
57 - Sun/Solaris Studio compiler versions 12, 12.1, 12.2, 12.3
58
59 o Windows 7 SP1 (WoW64)
60 - Microsoft Visual Studio 2005 SP1 (8.0) (Win32 and x64);
61 - Microsoft Visual Studio 2008 Express SP1 (9.0) (Win32);
62 - Microsoft Visual Studio 2010 Express SP1 (10.0) (Win32);
63 - Microsoft Visual Studio 2012 Express Update 4 (11.0) (Win32 and x64)
64 - Microsoft Visual Studio 2013 Express Update 1 (12.0) (Win32 and x64)
65
66 o Windows 7 SP1 (WoW64), (Cygwin 1.7.17)
67 - GNU C++ compiler versions gcc-3.4.4 through gcc-4.3.4 (x86)
68
69 o Windows 7 SP1 (WoW64), Msys 1.0.17(0.48/3/2)
70 - MinGW32 GNU C++ compiler versions 4.5.2 through 4.7.0 (x86);
71 - MinGW-w64 GNU C++ compiler version 4.8.1 (x86 and x86_64)
72
73
74 This release has not yet been tested or is known not to work as expected
75 on the following formerly supported platforms:
76
77 o GNU C++ compiler versions prior to 3.4.x (all platforms)
78 o HP-UX 11.00 or later with GNU C++ or HP C++ compiler
79 o Sun/Oracle Solaris with Sun Studio C++ compiler prior to 12.x
80 o Mac OS X prior 10.6 Snow Leopard with GNU C++ compiler
81 o Microsoft Visual C++ versions prior to 8.0 (2005)
82
83
84-------------------------------------------------------------------------------
85
86For details, see the separate RELEASENOTES file.
87
88
89Licensing and Copyright
90
91 See the separate LICENSE file to determine your rights
92 and responsiblities for using SystemC.
93
94User Documentation
95
96 You can find documentation for this release in the docs directory.
97
98Installation
99
100 See the separate INSTALL file that provides system
101 information and installation instructions.
102
103Release Notes
104
105 See the separate RELEASENOTES file that provides upto date
106 information about this release of SystemC.
107
108Additional information
109
110 SystemC has a web site at
111
112 http://www.accellera.org
113
114 Discussion forum: http://forums.accellera.org/forum/9-systemc/
115
116 You can post the bugs and suggestions of general interest to the forum.
117 When reporting bugs please specify the following information (if
118 applicable):
119
120 1) SystemC version
121 2) platform, compiler, flags
122 3) description of the problem
123 4) steps to reproduce the problem
124 5) compile/runtime warnings and errors
125 6) code sample, not more than 100 lines to demonstrate the problem
126
127 Note: All bugs will only be tested against the latest publicly available
128 version of the product.
129
130 Note: All C++ compilers that SystemC supports have bugs of different
131 degree of severity. We cannot fix those bugs. Please report them
132 to the compiler vendor.
133