112027Sjungma@eit.uni-kl.de                INSTALL NOTES FOR SystemC Release 2.3
212027Sjungma@eit.uni-kl.de                -------------------------------------
312027Sjungma@eit.uni-kl.de
412027Sjungma@eit.uni-kl.deContents:
512027Sjungma@eit.uni-kl.de
612027Sjungma@eit.uni-kl.de        1. Installation Notes for Unix 
712027Sjungma@eit.uni-kl.de
812027Sjungma@eit.uni-kl.de        2. Installation Notes for Windows
912027Sjungma@eit.uni-kl.de
1012027Sjungma@eit.uni-kl.de        3. SystemC Library Configuration Switches
1112027Sjungma@eit.uni-kl.de
1212027Sjungma@eit.uni-kl.de
1312027Sjungma@eit.uni-kl.de1. Installation Notes for Unix
1412027Sjungma@eit.uni-kl.de------------------------------
1512027Sjungma@eit.uni-kl.de
1612027Sjungma@eit.uni-kl.de
1712027Sjungma@eit.uni-kl.deSystem Requirements
1812027Sjungma@eit.uni-kl.de===================
1912027Sjungma@eit.uni-kl.de
2012027Sjungma@eit.uni-kl.deSystemC can be installed on the following UNIX, or UNIX-like platforms:
2112027Sjungma@eit.uni-kl.de
2212027Sjungma@eit.uni-kl.de  o Linux
2312027Sjungma@eit.uni-kl.de    * Architectures
2412027Sjungma@eit.uni-kl.de      - x86 (32-bit)
2512027Sjungma@eit.uni-kl.de      - x86_64 (64-bit)
2612027Sjungma@eit.uni-kl.de      - x86 (32-bit) application running on x86_64 (64-bit) kernel
2712027Sjungma@eit.uni-kl.de        (../configure --host=i686-linux-gnu)
2812027Sjungma@eit.uni-kl.de    * Compilers
2912027Sjungma@eit.uni-kl.de      - GNU C++ compiler
3012027Sjungma@eit.uni-kl.de      - Clang C++ compiler
3112027Sjungma@eit.uni-kl.de      - or compatible
3212027Sjungma@eit.uni-kl.de
3312027Sjungma@eit.uni-kl.de  o Mac OS X
3412027Sjungma@eit.uni-kl.de    * Architectures
3512027Sjungma@eit.uni-kl.de      - x86 (32-bit)
3612027Sjungma@eit.uni-kl.de      - x86_64 (64-bit)
3712027Sjungma@eit.uni-kl.de      - powerpc (32-bit)   [deprecated]
3812027Sjungma@eit.uni-kl.de      - powerpc64 (64-bit) [deprecated]
3912027Sjungma@eit.uni-kl.de    * Compilers
4012027Sjungma@eit.uni-kl.de      - GNU C++ compiler
4112027Sjungma@eit.uni-kl.de      - Clang C++ compiler
4212027Sjungma@eit.uni-kl.de      - or compatible
4312027Sjungma@eit.uni-kl.de
4412027Sjungma@eit.uni-kl.de  o Solaris
4512027Sjungma@eit.uni-kl.de    * Architectures
4612027Sjungma@eit.uni-kl.de      - SPARC (32-bit)
4712027Sjungma@eit.uni-kl.de    * Compilers
4812027Sjungma@eit.uni-kl.de      - GNU C++ compiler
4912027Sjungma@eit.uni-kl.de      - Sun/Solaris Studio
5012027Sjungma@eit.uni-kl.de
5112027Sjungma@eit.uni-kl.de  o BSD
5212027Sjungma@eit.uni-kl.de    * Architectures
5312027Sjungma@eit.uni-kl.de      - x86 (32-bit)
5412027Sjungma@eit.uni-kl.de      - x86_64 (64-bit)
5512027Sjungma@eit.uni-kl.de    * Compilers
5612027Sjungma@eit.uni-kl.de      - GNU C++ compiler
5712027Sjungma@eit.uni-kl.de      - Clang C++ compiler
5812027Sjungma@eit.uni-kl.de      - or compatible
5912027Sjungma@eit.uni-kl.de
6012027Sjungma@eit.uni-kl.de  o Windows
6112027Sjungma@eit.uni-kl.de    * Compatibility layer
6212027Sjungma@eit.uni-kl.de      - Cygwin
6312027Sjungma@eit.uni-kl.de      - MinGW / MSYS
6412027Sjungma@eit.uni-kl.de    * Architectures
6512027Sjungma@eit.uni-kl.de      - x86 (32-bit)
6612027Sjungma@eit.uni-kl.de      - x86_64 (64-bit)
6712027Sjungma@eit.uni-kl.de    * Compilers
6812027Sjungma@eit.uni-kl.de      - GNU C++ compiler
6912027Sjungma@eit.uni-kl.de      - or compatible
7012027Sjungma@eit.uni-kl.de
7112027Sjungma@eit.uni-kl.deNote: Not all combinations are equally well-tested and some combinations
7212027Sjungma@eit.uni-kl.de      may not work as expected.  Please report your findings by following
7312027Sjungma@eit.uni-kl.de      the instructions in the README file.
7412027Sjungma@eit.uni-kl.de
7512027Sjungma@eit.uni-kl.deThe README file contains a list of detailed platforms, architectures,
7612027Sjungma@eit.uni-kl.deand compiler versions that have been used for testing this release.
7712027Sjungma@eit.uni-kl.de
7812027Sjungma@eit.uni-kl.de
7912027Sjungma@eit.uni-kl.deSources for Compilers and Related Tools
8012027Sjungma@eit.uni-kl.de=======================================
8112027Sjungma@eit.uni-kl.de
8212027Sjungma@eit.uni-kl.deTo build, install, and use SystemC on UNIX platforms, you need
8312027Sjungma@eit.uni-kl.dethe following tools:
8412027Sjungma@eit.uni-kl.de
8512027Sjungma@eit.uni-kl.de  1. GNU C++ compiler, version 3.4 or later
8612027Sjungma@eit.uni-kl.de     or
8712027Sjungma@eit.uni-kl.de     Clang C++ compiler version 3.0 or later
8812027Sjungma@eit.uni-kl.de
8912027Sjungma@eit.uni-kl.de  2. GNU Make (gmake)
9012027Sjungma@eit.uni-kl.de
9112027Sjungma@eit.uni-kl.deGCC, Clang, and gmake are free software that you can
9212027Sjungma@eit.uni-kl.deobtain from the following sources:
9312027Sjungma@eit.uni-kl.de
9412027Sjungma@eit.uni-kl.de  GCC           http://www.gnu.org/software/gcc/gcc.html
9512027Sjungma@eit.uni-kl.de
9612027Sjungma@eit.uni-kl.de  Clang         http://clang.llvm.org/
9712027Sjungma@eit.uni-kl.de
9812027Sjungma@eit.uni-kl.de  gmake         http://www.gnu.org/software/make/make.html
9912027Sjungma@eit.uni-kl.de
10012027Sjungma@eit.uni-kl.de
10112027Sjungma@eit.uni-kl.deBasic SystemC Installation
10212027Sjungma@eit.uni-kl.de==========================
10312027Sjungma@eit.uni-kl.de
10412027Sjungma@eit.uni-kl.deTo install SystemC on a UNIX system, do the following steps:
10512027Sjungma@eit.uni-kl.de
10612027Sjungma@eit.uni-kl.de  1. Change to the top level directory (systemc-2.3.1)
10712027Sjungma@eit.uni-kl.de
10812027Sjungma@eit.uni-kl.de  2. Create a temporary directory, e.g.,
10912027Sjungma@eit.uni-kl.de
11012027Sjungma@eit.uni-kl.de        > mkdir objdir
11112027Sjungma@eit.uni-kl.de
11212027Sjungma@eit.uni-kl.de  3. Change to the temporary directory, e.g.,
11312027Sjungma@eit.uni-kl.de
11412027Sjungma@eit.uni-kl.de        > cd objdir
11512027Sjungma@eit.uni-kl.de
11612027Sjungma@eit.uni-kl.de  4. Choose your compiler by setting the CXX environment variable
11712027Sjungma@eit.uni-kl.de     (the configure script tries to guess the default compiler, if
11812027Sjungma@eit.uni-kl.de      this step is omitted):
11912027Sjungma@eit.uni-kl.de
12012027Sjungma@eit.uni-kl.de     If you use a POSIX-compatible shell (e.g. bash):
12112027Sjungma@eit.uni-kl.de
12212027Sjungma@eit.uni-kl.de        > export CXX="<compiler>"
12312027Sjungma@eit.uni-kl.de
12412027Sjungma@eit.uni-kl.de     e.g. for GCC compilers
12512027Sjungma@eit.uni-kl.de
12612027Sjungma@eit.uni-kl.de        > export CXX=g++
12712027Sjungma@eit.uni-kl.de
12812027Sjungma@eit.uni-kl.de     The Clang compiler is usually named 'clang++', thus e.g.
12912027Sjungma@eit.uni-kl.de
13012027Sjungma@eit.uni-kl.de        > export CXX=clang++
13112027Sjungma@eit.uni-kl.de
13212027Sjungma@eit.uni-kl.de     When using a C shell (e.g. csh/tcsh), the syntax to set the
13312027Sjungma@eit.uni-kl.de     environment variable is different:
13412027Sjungma@eit.uni-kl.de
13512027Sjungma@eit.uni-kl.de        > setenv CXX g++
13612027Sjungma@eit.uni-kl.de
13712027Sjungma@eit.uni-kl.de     For the Sun/Solaris Studio compilers, use
13812027Sjungma@eit.uni-kl.de
13912027Sjungma@eit.uni-kl.de        > setenv CXX CC
14012027Sjungma@eit.uni-kl.de
14112027Sjungma@eit.uni-kl.de     You can also specify an absolute path to the compiler of your choice.
14212027Sjungma@eit.uni-kl.de
14312027Sjungma@eit.uni-kl.de     See also the Section "Compilation and Linking Options" below.
14412027Sjungma@eit.uni-kl.de
14512027Sjungma@eit.uni-kl.de
14612027Sjungma@eit.uni-kl.de  5. Configure the package for your system, e.g.,
14712027Sjungma@eit.uni-kl.de     (The configure script is explained below.)
14812027Sjungma@eit.uni-kl.de
14912027Sjungma@eit.uni-kl.de        > ../configure
15012027Sjungma@eit.uni-kl.de
15112027Sjungma@eit.uni-kl.de     While the 'configure' script is running, which takes a few moments, 
15212027Sjungma@eit.uni-kl.de     it prints messages to inform you of the features it is checking.
15312027Sjungma@eit.uni-kl.de     It also detects the platform.
15412027Sjungma@eit.uni-kl.de     
15512027Sjungma@eit.uni-kl.de     Note for System V users: 
15612027Sjungma@eit.uni-kl.de     If you are using `csh' on an older version of System V, you might 
15712027Sjungma@eit.uni-kl.de     need to use the `sh ../configure' command instead of '../configure'.
15812027Sjungma@eit.uni-kl.de     Otherwise, `csh' will attempt to `configure' itself.
15912027Sjungma@eit.uni-kl.de
16012027Sjungma@eit.uni-kl.de     SystemC 2.3 includes a fixed-point package that is always built.
16112027Sjungma@eit.uni-kl.de     When compiling your applications with fixed-point types, you still have
16212027Sjungma@eit.uni-kl.de     to use compiler flag -DSC_INCLUDE_FX. Note that compile times increase
16312027Sjungma@eit.uni-kl.de     significantly when using this compiler flag.
16412027Sjungma@eit.uni-kl.de
16512027Sjungma@eit.uni-kl.de     In case you want to install the package in another place than the
16612027Sjungma@eit.uni-kl.de     top level directory (systemc-2.3.1), configure the package e.g. as
16712027Sjungma@eit.uni-kl.de     follows:
16812027Sjungma@eit.uni-kl.de
16912027Sjungma@eit.uni-kl.de        > ../configure --prefix=/usr/local/systemc-2.3.1
17012027Sjungma@eit.uni-kl.de
17112027Sjungma@eit.uni-kl.de     Note: make sure you have created the target directory before installing
17212027Sjungma@eit.uni-kl.de           the package. Do _not_ use /usr/local as a prefix, unless you
17312027Sjungma@eit.uni-kl.de           follow the Unix/FHS directory layouts (see below).
17412027Sjungma@eit.uni-kl.de
17512027Sjungma@eit.uni-kl.de     A fine grained configuration of the installation directories can
17612027Sjungma@eit.uni-kl.de     be achieved via additional options, given to the configure script.
17712027Sjungma@eit.uni-kl.de
17812027Sjungma@eit.uni-kl.de     By default, the files are installed directly to the PREFIX directory
17912027Sjungma@eit.uni-kl.de     root and the library is installed to PREFIX/lib-<TARGETARCH>,
18012027Sjungma@eit.uni-kl.de     depending on the current target architecture.  This may be undesired
18112027Sjungma@eit.uni-kl.de     in cases where the package is meant to be installed in a system-wide
18212027Sjungma@eit.uni-kl.de     location as part of shared (default) library and include hierarchies
18312027Sjungma@eit.uni-kl.de     (e.g. /usr/local, /usr, /opt, ...).  To follow the Unix/FHS directory
18412027Sjungma@eit.uni-kl.de     standards, you can use the following options:
18512027Sjungma@eit.uni-kl.de
18612027Sjungma@eit.uni-kl.de       --with-unix-layout     use Unix directory layout for installation
18712027Sjungma@eit.uni-kl.de                              [default=no]
18812027Sjungma@eit.uni-kl.de         when "yes", the following (fine-grained) settings will be used:
18912027Sjungma@eit.uni-kl.de
19012027Sjungma@eit.uni-kl.de       --includedir=DIR       C++ header files      [PREFIX/include]
19112027Sjungma@eit.uni-kl.de       --libdir=DIR           object code libraries [EPREFIX/lib]
19212027Sjungma@eit.uni-kl.de       --docdir=DIR           documentation root    [DATAROOTDIR/doc/systemc]
19312027Sjungma@eit.uni-kl.de
19412027Sjungma@eit.uni-kl.de     The library destination itself can be further and separately configured
19512027Sjungma@eit.uni-kl.de     by using the following option:
19612027Sjungma@eit.uni-kl.de
19712027Sjungma@eit.uni-kl.de       --with-arch-suffix     add suffix to library installation directory
19812027Sjungma@eit.uni-kl.de                              [default=-<TARGETARCH>]
19912027Sjungma@eit.uni-kl.de
20012027Sjungma@eit.uni-kl.de     With this option, one can easily follow e.g. the "multi-arch"
20112027Sjungma@eit.uni-kl.de     conventions on some platforms:
20212027Sjungma@eit.uni-kl.de
20312027Sjungma@eit.uni-kl.de       ../configure --with-arch-suffix=32                # lib32
20412027Sjungma@eit.uni-kl.de       ../configure --with-arch-suffix=/x86_64-linux-gnu # lib/x86_64-linux-gnu
20512027Sjungma@eit.uni-kl.de
20612027Sjungma@eit.uni-kl.de
20712027Sjungma@eit.uni-kl.de
20812027Sjungma@eit.uni-kl.de     Several options are available to the configure script to modify
20912027Sjungma@eit.uni-kl.de     the compiler configuration and the selection of certain features:
21012027Sjungma@eit.uni-kl.de
21112027Sjungma@eit.uni-kl.de       --disable-shared        do not build shared library (libsystemc.so)
21212027Sjungma@eit.uni-kl.de       --enable-debug          include debugging symbols
21312027Sjungma@eit.uni-kl.de       --disable-optimize      disable compiler optimization
21412027Sjungma@eit.uni-kl.de       --disable-async-updates disable request_async_update support
21512027Sjungma@eit.uni-kl.de       --enable-pthreads       use POSIX threads for SystemC processes
21612027Sjungma@eit.uni-kl.de       --enable-phase-callbacks
21712027Sjungma@eit.uni-kl.de                               enable simulation phase callbacks (experimental)
21812027Sjungma@eit.uni-kl.de
21912027Sjungma@eit.uni-kl.de
22012027Sjungma@eit.uni-kl.de     See the section on the general usage of the configure script and
22112027Sjungma@eit.uni-kl.de     "../configure --help" for more information.
22212027Sjungma@eit.uni-kl.de
22312027Sjungma@eit.uni-kl.de     Note: If you change the configuration after having compiled the
22412027Sjungma@eit.uni-kl.de           package already, you should run a "gmake clean" before
22512027Sjungma@eit.uni-kl.de           recompiling.
22612027Sjungma@eit.uni-kl.de
22712027Sjungma@eit.uni-kl.de  6. Compile the package.
22812027Sjungma@eit.uni-kl.de
22912027Sjungma@eit.uni-kl.de        > gmake
23012027Sjungma@eit.uni-kl.de
23112027Sjungma@eit.uni-kl.de     Note: The explicit gmake targets "opt" and "debug", etc. have
23212027Sjungma@eit.uni-kl.de           been removed in this package.  Use the corresponding
23312027Sjungma@eit.uni-kl.de           options to the configure script instead.
23412027Sjungma@eit.uni-kl.de
23512027Sjungma@eit.uni-kl.de  7. At this point you may wish to verify the compiled package by
23612027Sjungma@eit.uni-kl.de     testing the example suite.
23712027Sjungma@eit.uni-kl.de
23812027Sjungma@eit.uni-kl.de        > gmake check
23912027Sjungma@eit.uni-kl.de
24012027Sjungma@eit.uni-kl.de     This will compile and run the examples in the subdirectory
24112027Sjungma@eit.uni-kl.de     examples.
24212027Sjungma@eit.uni-kl.de
24312027Sjungma@eit.uni-kl.de  8. Install the package.
24412027Sjungma@eit.uni-kl.de
24512027Sjungma@eit.uni-kl.de        > gmake install
24612027Sjungma@eit.uni-kl.de
24712027Sjungma@eit.uni-kl.de  9. You can now remove the temporary directory, .e.g,
24812027Sjungma@eit.uni-kl.de
24912027Sjungma@eit.uni-kl.de        > cd ..
25012027Sjungma@eit.uni-kl.de        > rm -rf objdir
25112027Sjungma@eit.uni-kl.de
25212027Sjungma@eit.uni-kl.de     Alternatively, you can keep the temporary directory to allow you to:
25312027Sjungma@eit.uni-kl.de
25412027Sjungma@eit.uni-kl.de     a) Experiment with the examples.
25512027Sjungma@eit.uni-kl.de
25612027Sjungma@eit.uni-kl.de     b) Later uninstall the package. To clean up the temporary 
25712027Sjungma@eit.uni-kl.de        directory, enter:
25812027Sjungma@eit.uni-kl.de
25912027Sjungma@eit.uni-kl.de            > gmake clean
26012027Sjungma@eit.uni-kl.de
26112027Sjungma@eit.uni-kl.de        To uninstall the package, enter:
26212027Sjungma@eit.uni-kl.de
26312027Sjungma@eit.uni-kl.de            > gmake uninstall
26412027Sjungma@eit.uni-kl.de
26512027Sjungma@eit.uni-kl.de
26612027Sjungma@eit.uni-kl.deRunning the Examples
26712027Sjungma@eit.uni-kl.de====================
26812027Sjungma@eit.uni-kl.de
26912027Sjungma@eit.uni-kl.deCopies of the examples reside in the temporary directory - see
27012027Sjungma@eit.uni-kl.deinstruction 7 above for details on building and running them.
27112027Sjungma@eit.uni-kl.de
27212027Sjungma@eit.uni-kl.deIn addition, a copy of the example code resides in the directory
27312027Sjungma@eit.uni-kl.deexamples at the highest level of the installation (or in the
27412027Sjungma@eit.uni-kl.deshared documentation install directory).
27512027Sjungma@eit.uni-kl.de
27612027Sjungma@eit.uni-kl.deUse the makefiles provided in  the 'examples' directory as templates 
27712027Sjungma@eit.uni-kl.defor makefiles you need for compiling your own examples.
27812027Sjungma@eit.uni-kl.de
27912027Sjungma@eit.uni-kl.de
28012027Sjungma@eit.uni-kl.deUsing the Configure Script
28112027Sjungma@eit.uni-kl.de==========================
28212027Sjungma@eit.uni-kl.de 
28312027Sjungma@eit.uni-kl.deThe `configure' shell script tries to determine the correct values for
28412027Sjungma@eit.uni-kl.devarious system-dependent variables used during compilation. It uses
28512027Sjungma@eit.uni-kl.dethese values to create a `Makefile' in each directory of the package.
28612027Sjungma@eit.uni-kl.deIt also creates one or more `.h' files containing system-dependent
28712027Sjungma@eit.uni-kl.dedefinitions if needed. Then, it creates the following files:
28812027Sjungma@eit.uni-kl.de
28912027Sjungma@eit.uni-kl.de  config.status         A shell script that you can run at another time to
29012027Sjungma@eit.uni-kl.de                        recreate the current configuration.
29112027Sjungma@eit.uni-kl.de
29212027Sjungma@eit.uni-kl.de  config.cache          A file in which the configure test results are
29312027Sjungma@eit.uni-kl.de                        saved to speed up reconfiguration.
29412027Sjungma@eit.uni-kl.de
29512027Sjungma@eit.uni-kl.de                        Data is appended to the config.cache file. 
29612027Sjungma@eit.uni-kl.de                        You can remove unwanted data.
29712027Sjungma@eit.uni-kl.de
29812027Sjungma@eit.uni-kl.de  config.log            A file in which compiler output is saved.
29912027Sjungma@eit.uni-kl.de                        This is used to debug the configure script.
30012027Sjungma@eit.uni-kl.de
30112027Sjungma@eit.uni-kl.deIf you need to use other commands to successfully compile the package
30212027Sjungma@eit.uni-kl.deon your system, please try to determine if the configure script can be used 
30312027Sjungma@eit.uni-kl.defor these commands. Then, send either a diff file or instructions about
30412027Sjungma@eit.uni-kl.dethe commands you used to the email address provided in the README file.
30512027Sjungma@eit.uni-kl.deThis information will be used to improve the installation process in
30612027Sjungma@eit.uni-kl.dethe next release.
30712027Sjungma@eit.uni-kl.de
30812027Sjungma@eit.uni-kl.deThe `configure.ac' file is provided in case you want to change or regenerate
30912027Sjungma@eit.uni-kl.dethe `configure' script, for example to use a newer version of `autoconf'. 
31012027Sjungma@eit.uni-kl.deThe `configure.ac' file is used by the `autoconf' program to create the
31112027Sjungma@eit.uni-kl.de`configure' script.
31212027Sjungma@eit.uni-kl.de
31312027Sjungma@eit.uni-kl.deNote for (key) developers:
31412027Sjungma@eit.uni-kl.de
31512027Sjungma@eit.uni-kl.de  In case you have changed the `configure.ac' file or one of the
31612027Sjungma@eit.uni-kl.de  `Makefile.am' files:
31712027Sjungma@eit.uni-kl.de
31812027Sjungma@eit.uni-kl.de  - Use the `config/distclean' script to remove the generated `configure'
31912027Sjungma@eit.uni-kl.de    script, the generated `aclocal.m4' file and the generated `Makefile.in'
32012027Sjungma@eit.uni-kl.de    files.
32112027Sjungma@eit.uni-kl.de
32212027Sjungma@eit.uni-kl.de  - Use the `config/bootstrap' script to generate the `configure' script
32312027Sjungma@eit.uni-kl.de    and the necessary `Makefile.in' files. This script makes use of the
32412027Sjungma@eit.uni-kl.de    GNU auto-tools `aclocal', `automake', and `autoconf'.
32512027Sjungma@eit.uni-kl.de
32612027Sjungma@eit.uni-kl.de
32712027Sjungma@eit.uni-kl.deCompilation and Linking Options
32812027Sjungma@eit.uni-kl.de===============================
32912027Sjungma@eit.uni-kl.de
33012027Sjungma@eit.uni-kl.deSome systems require compilation or linking options that the `configure'
33112027Sjungma@eit.uni-kl.descript does not define. You can define the initial values for these
33212027Sjungma@eit.uni-kl.deoptions by setting them in your environment before running the
33312027Sjungma@eit.uni-kl.de`configure' script.
33412027Sjungma@eit.uni-kl.de
33512027Sjungma@eit.uni-kl.deInstead of passing the variables via the environment, it is preferred
33612027Sjungma@eit.uni-kl.deto pass the values as options to the configure script:
33712027Sjungma@eit.uni-kl.de
33812027Sjungma@eit.uni-kl.de  > ../configure CXX=g++-4.4 LIBS=-lposix
33912027Sjungma@eit.uni-kl.de
34012027Sjungma@eit.uni-kl.de
34112027Sjungma@eit.uni-kl.deSpecifying the System Type
34212027Sjungma@eit.uni-kl.de==========================
34312027Sjungma@eit.uni-kl.de
34412027Sjungma@eit.uni-kl.deSome features cannot be automatically determined by `configure' unless
34512027Sjungma@eit.uni-kl.deit can detect the host type on which the package will run.
34612027Sjungma@eit.uni-kl.deIf it prints a message that it cannot determine the host type, 
34712027Sjungma@eit.uni-kl.deuse the `--host=TYPE' option to define it. TYPE can either be a 
34812027Sjungma@eit.uni-kl.deshort system name, such as `sun4', or a canonical name with three fields:
34912027Sjungma@eit.uni-kl.de
35012027Sjungma@eit.uni-kl.de     CPU-COMPANY-SYSTEM
35112027Sjungma@eit.uni-kl.de
35212027Sjungma@eit.uni-kl.deSee the `config.sub' file for details about the values of each field. If
35312027Sjungma@eit.uni-kl.dethe `config.sub' file is not included in the package, the package does not
35412027Sjungma@eit.uni-kl.deneed to know the host type.
35512027Sjungma@eit.uni-kl.de
35612027Sjungma@eit.uni-kl.deIf you are building compiler tools for cross-compiling, you can also
35712027Sjungma@eit.uni-kl.deuse the `--target=TYPE' option to select the type of system for which
35812027Sjungma@eit.uni-kl.dethe code is produced and the `--build=TYPE' option to select the type of
35912027Sjungma@eit.uni-kl.desystem on which you are compiling the package.
36012027Sjungma@eit.uni-kl.de
36112027Sjungma@eit.uni-kl.de
36212027Sjungma@eit.uni-kl.deSharing Defaults
36312027Sjungma@eit.uni-kl.de================
36412027Sjungma@eit.uni-kl.de
36512027Sjungma@eit.uni-kl.deYou can set the default values that `configure' scripts share by
36612027Sjungma@eit.uni-kl.decreating a site shell script called `config.site'. This file contains the
36712027Sjungma@eit.uni-kl.dedefault values for variables like `CC', `cache_file', and `prefix'.
36812027Sjungma@eit.uni-kl.deThe `configure' script looks for the `config.site' file in the following 
36912027Sjungma@eit.uni-kl.desearch precedence:
37012027Sjungma@eit.uni-kl.de
37112027Sjungma@eit.uni-kl.de  1. PREFIX/share/config.site
37212027Sjungma@eit.uni-kl.de
37312027Sjungma@eit.uni-kl.de  2. PREFIX/etc/config.site
37412027Sjungma@eit.uni-kl.de
37512027Sjungma@eit.uni-kl.deAlternatively, you can set the `CONFIG_SITE' environment variable to the
37612027Sjungma@eit.uni-kl.desite script path.
37712027Sjungma@eit.uni-kl.de
37812027Sjungma@eit.uni-kl.deNote: The `configure' script for some systems does not look for a site script.
37912027Sjungma@eit.uni-kl.de
38012027Sjungma@eit.uni-kl.de
38112027Sjungma@eit.uni-kl.deOperation Controls
38212027Sjungma@eit.uni-kl.de==================
38312027Sjungma@eit.uni-kl.de
38412027Sjungma@eit.uni-kl.deThe `configure' script recognizes the following additional options to control
38512027Sjungma@eit.uni-kl.deits operation:
38612027Sjungma@eit.uni-kl.de
38712027Sjungma@eit.uni-kl.de`--cache-file=FILE'
38812027Sjungma@eit.uni-kl.de        Use and save the test results in FILE instead of
38912027Sjungma@eit.uni-kl.de        `./config.cache'. Set FILE to `/dev/null' to disable caching
39012027Sjungma@eit.uni-kl.de        when debugging `configure'.
39112027Sjungma@eit.uni-kl.de
39212027Sjungma@eit.uni-kl.de`--help'
39312027Sjungma@eit.uni-kl.de        Print a summary of `configure' options and exit.
39412027Sjungma@eit.uni-kl.de
39512027Sjungma@eit.uni-kl.de`--quiet'
39612027Sjungma@eit.uni-kl.de`--silent'
39712027Sjungma@eit.uni-kl.de`-q'
39812027Sjungma@eit.uni-kl.de        Do not print messages about checks being made.
39912027Sjungma@eit.uni-kl.de        To suppress all normal output, redirect it to `/dev/null'.
40012027Sjungma@eit.uni-kl.de        Error messages continue to print.
40112027Sjungma@eit.uni-kl.de
40212027Sjungma@eit.uni-kl.de`--srcdir=DIR'
40312027Sjungma@eit.uni-kl.de        Look for the package's source code in directory DIR.
40412027Sjungma@eit.uni-kl.de        Typically `configure' determines the directory automatically.
40512027Sjungma@eit.uni-kl.de
40612027Sjungma@eit.uni-kl.de`--version'
40712027Sjungma@eit.uni-kl.de        Print the version of `autoconf' used to generate the `configure'
40812027Sjungma@eit.uni-kl.de        script and exit.
40912027Sjungma@eit.uni-kl.de
41012027Sjungma@eit.uni-kl.deOther options that are rarely used are available in the `configure' script.
41112027Sjungma@eit.uni-kl.deUse the `--help' option to print a list.
41212027Sjungma@eit.uni-kl.de
41312027Sjungma@eit.uni-kl.de
41412027Sjungma@eit.uni-kl.de
41512027Sjungma@eit.uni-kl.de2. Installation Notes for Windows
41612027Sjungma@eit.uni-kl.de---------------------------------
41712027Sjungma@eit.uni-kl.de
41812027Sjungma@eit.uni-kl.deThis release has been tested on Visual C++ versions 2005 through 2013,
41912027Sjungma@eit.uni-kl.derunning on Windows 7.
42012027Sjungma@eit.uni-kl.de
42112027Sjungma@eit.uni-kl.de
42212027Sjungma@eit.uni-kl.deNote: This section covers the installation based on Microsoft Visual C++.
42312027Sjungma@eit.uni-kl.de      For Cygwin or MinGW-based installations, see Section 1.
42412027Sjungma@eit.uni-kl.de
42512027Sjungma@eit.uni-kl.de
42612027Sjungma@eit.uni-kl.deNote: If you experience spurious errors about missing files in the
42712027Sjungma@eit.uni-kl.de      downloaded archive, please make sure to either download the
42812027Sjungma@eit.uni-kl.de      ZIP archive from accellera.org or use a reliable archive software,
42912027Sjungma@eit.uni-kl.de      fully supporting modern tar archive versions.
43012027Sjungma@eit.uni-kl.de
43112027Sjungma@eit.uni-kl.de      Some paths in the SystemC archive are longer than the historical
43212027Sjungma@eit.uni-kl.de      99 character limit, and several Windows archivers (e.g. WinZip)
43312027Sjungma@eit.uni-kl.de      have been reported to trip over this.  The open source archiver
43412027Sjungma@eit.uni-kl.de      7-zip (http://7-zip.org) is known to work.
43512027Sjungma@eit.uni-kl.de
43612027Sjungma@eit.uni-kl.de
43712027Sjungma@eit.uni-kl.deMicrosoft Visual C++ 2005 (compiler version 8.0) or later
43812027Sjungma@eit.uni-kl.de---------------------------------------------------------
43912027Sjungma@eit.uni-kl.de
44012027Sjungma@eit.uni-kl.deThe download directory contains two subdirectories: 'msvc80' and
44112027Sjungma@eit.uni-kl.de'examples'.
44212027Sjungma@eit.uni-kl.de
44312027Sjungma@eit.uni-kl.deThe 'msvc80' directory contains the project and workspace files to
44412027Sjungma@eit.uni-kl.decompile the 'systemc.lib' library. Double-click on the 'SystemC.sln'
44512027Sjungma@eit.uni-kl.defile to launch Visual C++ 2005 with the workspace file. The workspace file
44612027Sjungma@eit.uni-kl.dewill have the proper switches set to compile for Visual C++ 2005.
44712027Sjungma@eit.uni-kl.deSelect `Build SystemC' under the Build menu or press F7 to build
44812027Sjungma@eit.uni-kl.de`systemc.lib'.
44912027Sjungma@eit.uni-kl.de
45012027Sjungma@eit.uni-kl.deThe `examples' directory contains the project and workspace files to
45112027Sjungma@eit.uni-kl.decompile the SystemC examples. Go to one of the examples subdirectories
45212027Sjungma@eit.uni-kl.deand double-click on the .vcproj file to launch Visual C++ with the
45312027Sjungma@eit.uni-kl.deworkspace file. The workspace file will have the proper switches set
45412027Sjungma@eit.uni-kl.deto compile for Visual C++ 2005. Select 'Build <example>.exe' under the
45512027Sjungma@eit.uni-kl.deBuild menu or press F7 to build the example executable.
45612027Sjungma@eit.uni-kl.de
45712027Sjungma@eit.uni-kl.deFor convenience, a combined solution file 'SystemC-examples.sln' with
45812027Sjungma@eit.uni-kl.deall example projects can be found in the 'msvc80' directory.  A similar
45912027Sjungma@eit.uni-kl.desolution file for the TLM examples is located in 'examples/tlm/build-msvc'.
46012027Sjungma@eit.uni-kl.de
46112027Sjungma@eit.uni-kl.deThe provided project files are prepared for both the 32-bit 'Win32' and
46212027Sjungma@eit.uni-kl.de64-bit 'x64' configurations.  Please refer to the Microsoft Visual Studio
46312027Sjungma@eit.uni-kl.dedocumentation for details about 64-bit builds.
46412027Sjungma@eit.uni-kl.de
46512027Sjungma@eit.uni-kl.de
46612027Sjungma@eit.uni-kl.deCreating SystemC Applications
46712027Sjungma@eit.uni-kl.de-----------------------------
46812027Sjungma@eit.uni-kl.de
46912027Sjungma@eit.uni-kl.de1. Start Visual Studio. From the Start Page select New Project and Win32 
47012027Sjungma@eit.uni-kl.de   Console Project. Type the project name and select a suitable location 
47112027Sjungma@eit.uni-kl.de   then click OK.
47212027Sjungma@eit.uni-kl.de
47312027Sjungma@eit.uni-kl.de2. Select the Application Settings page of the Win32 Application Wizard 
47412027Sjungma@eit.uni-kl.de   and make sure the 'Empty project' box is ticked. Click 'Finish' to 
47512027Sjungma@eit.uni-kl.de   complete the wizard.
47612027Sjungma@eit.uni-kl.de   
47712027Sjungma@eit.uni-kl.de3. Add new/existing C++ files to the project and edit code.
47812027Sjungma@eit.uni-kl.de
47912027Sjungma@eit.uni-kl.de4. Display the project Property Pages by selecting 'Properties...' from 
48012027Sjungma@eit.uni-kl.de   the Project menu. 
48112027Sjungma@eit.uni-kl.de   
48212027Sjungma@eit.uni-kl.de5. From the C/C++ tab, select the General properties and set 
48312027Sjungma@eit.uni-kl.de   'Detect 64-bit Portability Issues' to No
48412027Sjungma@eit.uni-kl.de
48512027Sjungma@eit.uni-kl.de6. From the C/C++ tab, select the Language properties and set 
48612027Sjungma@eit.uni-kl.de   'Enable Run-Time Type Info' to Yes
48712027Sjungma@eit.uni-kl.de
48812027Sjungma@eit.uni-kl.de7. From the C/C++ tab, select the Command Line properties and add /vmg
48912027Sjungma@eit.uni-kl.de   to the 'Additional Options:' box.
49012027Sjungma@eit.uni-kl.de
49112027Sjungma@eit.uni-kl.de8. From the Linker tab, select the Input properties and type 'systemc.lib' 
49212027Sjungma@eit.uni-kl.de   in the 'Additional Dependencies' box.
49312027Sjungma@eit.uni-kl.de
49412027Sjungma@eit.uni-kl.de9. Click OK
49512027Sjungma@eit.uni-kl.de
49612027Sjungma@eit.uni-kl.de
49712027Sjungma@eit.uni-kl.deAlso make sure that the compiler and linker can find the SystemC header 
49812027Sjungma@eit.uni-kl.deand library files respectively. There are two ways to do this:
49912027Sjungma@eit.uni-kl.de
50012027Sjungma@eit.uni-kl.deTo update the include file and library directory search paths for all
50112027Sjungma@eit.uni-kl.deprojects:
50212027Sjungma@eit.uni-kl.de
50312027Sjungma@eit.uni-kl.de1. Select Tools -> Options... and the Projects -> VC++ Directories tab
50412027Sjungma@eit.uni-kl.de   
50512027Sjungma@eit.uni-kl.de2. Select show directories for: Library files
50612027Sjungma@eit.uni-kl.de
50712027Sjungma@eit.uni-kl.de3. Select the 'New' icon and browse to: C:\systemc-2.3.1\msvc80\systemc\debug
50812027Sjungma@eit.uni-kl.de
50912027Sjungma@eit.uni-kl.de4. Select show directories for: Include files
51012027Sjungma@eit.uni-kl.de
51112027Sjungma@eit.uni-kl.de5. Select the 'New' icon and browse to: C:\systemc-2.3.1\src
51212027Sjungma@eit.uni-kl.de
51312027Sjungma@eit.uni-kl.deTo add the include file and library directory search paths for the current
51412027Sjungma@eit.uni-kl.deproject only:
51512027Sjungma@eit.uni-kl.de
51612027Sjungma@eit.uni-kl.de1. Display the project Property Pages by selecting 'Properties...' from 
51712027Sjungma@eit.uni-kl.de   the Project menu. 
51812027Sjungma@eit.uni-kl.de
51912027Sjungma@eit.uni-kl.de2. From the C/C++ tab, select the General properties and type the path to the 
52012027Sjungma@eit.uni-kl.de   SystemC 'src' directory in the text entry field labeled
52112027Sjungma@eit.uni-kl.de  'Additional include directories' (e.g. the examples use '..\..\..\src').
52212027Sjungma@eit.uni-kl.de
52312027Sjungma@eit.uni-kl.de3. From the Linker tab, select the General properties and type the path to 
52412027Sjungma@eit.uni-kl.de   the SystemC library:   ...\systemc-2.3.1\msvc80\systemc\debug'systemc.lib' 
52512027Sjungma@eit.uni-kl.de   in the 'Additional Library Directories:' box.
52612027Sjungma@eit.uni-kl.de
52712027Sjungma@eit.uni-kl.de9. Click OK
52812027Sjungma@eit.uni-kl.de
52912027Sjungma@eit.uni-kl.de
53012027Sjungma@eit.uni-kl.de
53112027Sjungma@eit.uni-kl.de
53212027Sjungma@eit.uni-kl.de3. SystemC Library Configuration Switches
53312027Sjungma@eit.uni-kl.de-----------------------------------------
53412027Sjungma@eit.uni-kl.de
53512027Sjungma@eit.uni-kl.deIn addition to the explicitly selectable feature given as options to
53612027Sjungma@eit.uni-kl.dethe `configure' script (see 1.), some aspects of the library
53712027Sjungma@eit.uni-kl.deimplementation can be controlled via
53812027Sjungma@eit.uni-kl.de
53912027Sjungma@eit.uni-kl.de - preprocessor switches given during library build
54012027Sjungma@eit.uni-kl.de - preprocessor switches added while building a SystemC application
54112027Sjungma@eit.uni-kl.de - environment variables
54212027Sjungma@eit.uni-kl.de
54312027Sjungma@eit.uni-kl.deThe currently supported switches are documented in this section.
54412027Sjungma@eit.uni-kl.de
54512027Sjungma@eit.uni-kl.dePreprocessor switches
54612027Sjungma@eit.uni-kl.de=====================
54712027Sjungma@eit.uni-kl.de
54812027Sjungma@eit.uni-kl.deAdditional preprocessor switches for the library build can be passed
54912027Sjungma@eit.uni-kl.deto the configure script via the CXXFLAGS variable:
55012027Sjungma@eit.uni-kl.de
55112027Sjungma@eit.uni-kl.de  ../configure CXXFLAGS="-DSC_OVERRIDE_DEFAULT_STACK_SIZE=0x80000"
55212027Sjungma@eit.uni-kl.de
55312027Sjungma@eit.uni-kl.deIn Visual C++, the preprocessor symbols can be added to the project
55412027Sjungma@eit.uni-kl.deconfiguration via the 'C/C++' tab under the 'Preprocessor' properties
55512027Sjungma@eit.uni-kl.dein the 'Preprocessor definitions' setting.
55612027Sjungma@eit.uni-kl.de
55712027Sjungma@eit.uni-kl.de
55812027Sjungma@eit.uni-kl.de * SC_DEFAULT_WRITER_POLICY=<sc_writer_policy> -
55912027Sjungma@eit.uni-kl.de   Override default value for the signal writer policy
56012027Sjungma@eit.uni-kl.de
56112027Sjungma@eit.uni-kl.de   This setting allows deactivating the multiple writer checks for
56212027Sjungma@eit.uni-kl.de   sc_signals at (application) compile time.  This mechanism supersedes
56312027Sjungma@eit.uni-kl.de   the old environment variable SC_SIGNAL_WRITE_CHECK (see below).
56412027Sjungma@eit.uni-kl.de
56512027Sjungma@eit.uni-kl.de   Supported values:
56612027Sjungma@eit.uni-kl.de      SC_ONE_WRITER        (default)
56712027Sjungma@eit.uni-kl.de      SC_MANY_WRITERS      (allow multiple writers in different deltas)
56812027Sjungma@eit.uni-kl.de      SC_UNCHECKED_WRITERS (non-standard, disable all checks)
56912027Sjungma@eit.uni-kl.de
57012027Sjungma@eit.uni-kl.de   Note: Only effective when building an application.
57112027Sjungma@eit.uni-kl.de
57212027Sjungma@eit.uni-kl.de   Note: This setting needs to be consistently set across all
57312027Sjungma@eit.uni-kl.de         translation units of an application.
57412027Sjungma@eit.uni-kl.de
57512027Sjungma@eit.uni-kl.de
57612027Sjungma@eit.uni-kl.de * SC_DISABLE_ASYNC_UPDATES -
57712027Sjungma@eit.uni-kl.de   Exclude the "async_request_update" support
57812027Sjungma@eit.uni-kl.de
57912027Sjungma@eit.uni-kl.de   Note: This option is usually set by the `configure` option
58012027Sjungma@eit.uni-kl.de     --disable-async-update, or
58112027Sjungma@eit.uni-kl.de     --enable-async-update=no
58212027Sjungma@eit.uni-kl.de
58312027Sjungma@eit.uni-kl.de   On non-Automake platforms (e.g. Visual C++), this preprocessor
58412027Sjungma@eit.uni-kl.de   symbol can be used to manually build the library with this feature.
58512027Sjungma@eit.uni-kl.de
58612027Sjungma@eit.uni-kl.de   Note: Only effective during library build.
58712027Sjungma@eit.uni-kl.de
58812027Sjungma@eit.uni-kl.de
58912027Sjungma@eit.uni-kl.de * SC_DISABLE_VIRTUAL_BIND - 
59012027Sjungma@eit.uni-kl.de   Keep the "bind" function of sc_ports non-virtual
59112027Sjungma@eit.uni-kl.de
59212027Sjungma@eit.uni-kl.de   When this symbol is defined, the "bind" function in sc_ports is
59312027Sjungma@eit.uni-kl.de   kept non-virtual (although it is required to be 'virtual' since
59412027Sjungma@eit.uni-kl.de   IEEE 1666-2011).
59512027Sjungma@eit.uni-kl.de
59612027Sjungma@eit.uni-kl.de   Note: This symbol needs to be consistently defined in the library
59712027Sjungma@eit.uni-kl.de         and any application linking against the built library.
59812027Sjungma@eit.uni-kl.de
59912027Sjungma@eit.uni-kl.de
60012027Sjungma@eit.uni-kl.de * SC_DISABLE_COPYRIGHT_MESSAGE -
60112027Sjungma@eit.uni-kl.de   Do not print the copyright message when starting the application
60212027Sjungma@eit.uni-kl.de
60312027Sjungma@eit.uni-kl.de   Note: This does not remove the copyright from the binary.
60412027Sjungma@eit.uni-kl.de         sc_core::sc_copyright() still works as expected.
60512027Sjungma@eit.uni-kl.de   Note: Only effective during library build.
60612027Sjungma@eit.uni-kl.de   See : Environment variable SC_COPYRIGHT_MESSAGE
60712027Sjungma@eit.uni-kl.de
60812027Sjungma@eit.uni-kl.de
60912027Sjungma@eit.uni-kl.de * SC_ENABLE_IMMEDIATE_SELF_NOTIFICATIONS -
61012027Sjungma@eit.uni-kl.de   Allow a process to trigger itself immediately
61112027Sjungma@eit.uni-kl.de
61212027Sjungma@eit.uni-kl.de   Allow a method process to trigger itself immediately by using
61312027Sjungma@eit.uni-kl.de      next_trigger( ev ); // or a static sensitivity
61412027Sjungma@eit.uni-kl.de      ev.notify();
61512027Sjungma@eit.uni-kl.de
61612027Sjungma@eit.uni-kl.de   This behaviour has been disabled by default in IEEE 1666-2011 and
61712027Sjungma@eit.uni-kl.de   can be reenabled by this option.
61812027Sjungma@eit.uni-kl.de
61912027Sjungma@eit.uni-kl.de   Note: Only effective during library build.
62012027Sjungma@eit.uni-kl.de
62112027Sjungma@eit.uni-kl.de
62212027Sjungma@eit.uni-kl.de * SC_ENABLE_EARLY_MAXTIME_CREATION -
62312027Sjungma@eit.uni-kl.de   Allow creation of sc_time objects with a value of sc_max_time()
62412027Sjungma@eit.uni-kl.de   before finalizing the time resolution
62512027Sjungma@eit.uni-kl.de
62612027Sjungma@eit.uni-kl.de   In IEEE 1666-2011, it is not allowed to create sc_time objects with
62712027Sjungma@eit.uni-kl.de   a non-SC_ZERO_TIME value before setting/changing the time resolution.
62812027Sjungma@eit.uni-kl.de
62912027Sjungma@eit.uni-kl.de   This preprocessor switch activates an extension to allow the
63012027Sjungma@eit.uni-kl.de   initialization of sc_time variables with sc_max_time() while
63112027Sjungma@eit.uni-kl.de   still accepting changes to the time resolution afterwards.
63212027Sjungma@eit.uni-kl.de
63312027Sjungma@eit.uni-kl.de     sc_time t = sc_max_time();
63412027Sjungma@eit.uni-kl.de     sc_set_time_resolution( 1, SC_NS ); // OK, with this extension
63512027Sjungma@eit.uni-kl.de
63612027Sjungma@eit.uni-kl.de   The time resolution will still be fixed, once you have explicitly or
63712027Sjungma@eit.uni-kl.de   implicitly relied on the physical value (i.e. the relation to seconds)
63812027Sjungma@eit.uni-kl.de   of any sc_time object.
63912027Sjungma@eit.uni-kl.de
64012027Sjungma@eit.uni-kl.de   Note: Only effective during library build.
64112027Sjungma@eit.uni-kl.de
64212027Sjungma@eit.uni-kl.de
64312027Sjungma@eit.uni-kl.de * SC_ENABLE_SIMULATION_PHASE_CALLBACKS         (experimental)
64412027Sjungma@eit.uni-kl.de   SC_ENABLE_SIMULATION_PHASE_CALLBACKS_TRACING (experimental) -
64512027Sjungma@eit.uni-kl.de   Enable a generic simulation phase callback mechanism.
64612027Sjungma@eit.uni-kl.de
64712027Sjungma@eit.uni-kl.de   Note: This option is usually set by the `configure` option
64812027Sjungma@eit.uni-kl.de     --enable-phase-callbacks, or
64912027Sjungma@eit.uni-kl.de     --enable-phase-callbacks=tracing
65012027Sjungma@eit.uni-kl.de
65112027Sjungma@eit.uni-kl.de   See the RELEASENOTES for more information about this feature.
65212027Sjungma@eit.uni-kl.de
65312027Sjungma@eit.uni-kl.de   The *_TRACING variant of this flag enables the sc_trace
65412027Sjungma@eit.uni-kl.de   implementation use these callbacks, instead of hard-coded updates
65512027Sjungma@eit.uni-kl.de   from the main simulator loop.
65612027Sjungma@eit.uni-kl.de
65712027Sjungma@eit.uni-kl.de   Note: Setting tracing flag includes the generic phase callback
65812027Sjungma@eit.uni-kl.de         infrastructure automatically.
65912027Sjungma@eit.uni-kl.de   Note: Only effective during library build.
66012027Sjungma@eit.uni-kl.de
66112027Sjungma@eit.uni-kl.de
66212027Sjungma@eit.uni-kl.de * SC_INCLUDE_DYNAMIC_PROCESSES -
66312027Sjungma@eit.uni-kl.de   Enable dynamic process support (sc_spawn, sc_bind)
66412027Sjungma@eit.uni-kl.de
66512027Sjungma@eit.uni-kl.de   To improve compilation times, the functions for spawing dynamic
66612027Sjungma@eit.uni-kl.de   processes are not included by default in an SystemC application.
66712027Sjungma@eit.uni-kl.de
66812027Sjungma@eit.uni-kl.de   Define this symbol before including the SystemC header in your
66912027Sjungma@eit.uni-kl.de   application, if you want to use dynamically spawned processes.
67012027Sjungma@eit.uni-kl.de
67112027Sjungma@eit.uni-kl.de   Note: Can be optionally set per translation unit in an application.
67212027Sjungma@eit.uni-kl.de
67312027Sjungma@eit.uni-kl.de   Note: Some TLM convenience sockets require this feature and define
67412027Sjungma@eit.uni-kl.de         the symbol for you if needed.
67512027Sjungma@eit.uni-kl.de
67612027Sjungma@eit.uni-kl.de
67712027Sjungma@eit.uni-kl.de * SC_INCLUDE_FX -
67812027Sjungma@eit.uni-kl.de   Enable SystemC fix-point datatypes
67912027Sjungma@eit.uni-kl.de
68012027Sjungma@eit.uni-kl.de   To improve compilation times, the fixpoint datatypes are not enabled
68112027Sjungma@eit.uni-kl.de   by default in an SystemC application.
68212027Sjungma@eit.uni-kl.de
68312027Sjungma@eit.uni-kl.de   Define this symbol before including the SystemC header in your
68412027Sjungma@eit.uni-kl.de   application, if you want to use the SystemC fixpoint types.
68512027Sjungma@eit.uni-kl.de
68612027Sjungma@eit.uni-kl.de   Note: Is by default always defined during the library build to enable
68712027Sjungma@eit.uni-kl.de         later use of the fixpoint datatypes in an application.
68812027Sjungma@eit.uni-kl.de
68912027Sjungma@eit.uni-kl.de   Note: Can be optionally set per translation unit in an application.
69012027Sjungma@eit.uni-kl.de
69112027Sjungma@eit.uni-kl.de
69212027Sjungma@eit.uni-kl.de * SC_INCLUDE_STRSTREAM -
69312027Sjungma@eit.uni-kl.de   Include (deprecated) <strstream> header from <systemc.h>
69412027Sjungma@eit.uni-kl.de
69512027Sjungma@eit.uni-kl.de   Pre-standard C++ compilers had support for an old stringstream
69612027Sjungma@eit.uni-kl.de   implementation called 'strstream'.  In the unlikely case that your
69712027Sjungma@eit.uni-kl.de   application still relies on this deprecated class and that <systemc.h>
69812027Sjungma@eit.uni-kl.de   includes this header for you automatically, you now need to define this
69912027Sjungma@eit.uni-kl.de   symbol when building your application.
70012027Sjungma@eit.uni-kl.de
70112027Sjungma@eit.uni-kl.de   Note: Only effective when building an application.
70212027Sjungma@eit.uni-kl.de
70312027Sjungma@eit.uni-kl.de
70412027Sjungma@eit.uni-kl.de * SC_INCLUDE_WINDOWS_H -
70512027Sjungma@eit.uni-kl.de   Explicitly include <windows.h> header from <systemc> header
70612027Sjungma@eit.uni-kl.de
70712027Sjungma@eit.uni-kl.de   Previous versions of SystemC always included the full <windows.h>
70812027Sjungma@eit.uni-kl.de   header on all Windows platforms.  This adds unnecessary bloat to
70912027Sjungma@eit.uni-kl.de   many SystemC applications, reducing compilation times.
71012027Sjungma@eit.uni-kl.de
71112027Sjungma@eit.uni-kl.de   If you rely on the inclusion of the <windows.h> header in your
71212027Sjungma@eit.uni-kl.de   application, you can add this symbol to the list of preprocessor
71312027Sjungma@eit.uni-kl.de   switches for your compiler.
71412027Sjungma@eit.uni-kl.de
71512027Sjungma@eit.uni-kl.de   Note: Only effective when building an application.
71612027Sjungma@eit.uni-kl.de
71712027Sjungma@eit.uni-kl.de
71812027Sjungma@eit.uni-kl.de * SC_OVERRIDE_DEFAULT_STACK_SIZE=<size> -
71912027Sjungma@eit.uni-kl.de   Define the default stack size used for SystemC (thread) processes
72012027Sjungma@eit.uni-kl.de
72112027Sjungma@eit.uni-kl.de   Note: Only effective during library build.
72212027Sjungma@eit.uni-kl.de
72312027Sjungma@eit.uni-kl.de
72412027Sjungma@eit.uni-kl.de * SC_USE_SC_STRING_OLD / SC_USE_STD_STRING -
72512027Sjungma@eit.uni-kl.de   Define 'sc_string' symbol.
72612027Sjungma@eit.uni-kl.de
72712027Sjungma@eit.uni-kl.de   Pre-IEEE-1666 versions of SystemC included an 'sc_string' class for
72812027Sjungma@eit.uni-kl.de   string objects.  This class has been superseeded by 'std::string' these
72912027Sjungma@eit.uni-kl.de   days.
73012027Sjungma@eit.uni-kl.de
73112027Sjungma@eit.uni-kl.de   If your application still relies on 'sc_string' being available, set one
73212027Sjungma@eit.uni-kl.de   of the two supported preprocessor switches to provide it:
73312027Sjungma@eit.uni-kl.de
73412027Sjungma@eit.uni-kl.de   SC_USE_SC_STRING_OLD -
73512027Sjungma@eit.uni-kl.de     Uses old implementation `sc_string_old' to provide `sc_string':
73612027Sjungma@eit.uni-kl.de       typedef sc_string_old sc_string; 
73712027Sjungma@eit.uni-kl.de
73812027Sjungma@eit.uni-kl.de   SC_USE_STD_STRING -
73912027Sjungma@eit.uni-kl.de     Provide `sc_string' as an alias to `std::string':
74012027Sjungma@eit.uni-kl.de       typedef std::string sc_string;
74112027Sjungma@eit.uni-kl.de
74212027Sjungma@eit.uni-kl.de
74312027Sjungma@eit.uni-kl.deInfluential environment variables
74412027Sjungma@eit.uni-kl.de=================================
74512027Sjungma@eit.uni-kl.de
74612027Sjungma@eit.uni-kl.deCurrently, three environment variables are checked at library load time
74712027Sjungma@eit.uni-kl.deand influence the SystemC library's behaviour:
74812027Sjungma@eit.uni-kl.de
74912027Sjungma@eit.uni-kl.de 1) SC_COPYRIGHT_MESSAGE=DISABLE -
75012027Sjungma@eit.uni-kl.de    Run-time alternative to SC_DISABLE_COPYRIGHT_MESSAGE (see above).
75112027Sjungma@eit.uni-kl.de
75212027Sjungma@eit.uni-kl.de 2) SC_SIGNAL_WRITE_CHECK=DISABLE
75312027Sjungma@eit.uni-kl.de    Run-time alternative to SC_DEFAULT_WRITER_POLICY=SC_UNCHECKED_WRITERS
75412027Sjungma@eit.uni-kl.de    (see above)
75512027Sjungma@eit.uni-kl.de
75612027Sjungma@eit.uni-kl.de 3) SC_DEPRECATION_WARNINGS=DISABLE
75712027Sjungma@eit.uni-kl.de    Do not issue warnings about using deprecated features as of
75812027Sjungma@eit.uni-kl.de    IEEE 1666-2011.
75912027Sjungma@eit.uni-kl.de
76012027Sjungma@eit.uni-kl.deUsually, it is not recommended to use any of these variables in new or
76112027Sjungma@eit.uni-kl.deon-going projects.  They have been added to simplify the transition of
76212027Sjungma@eit.uni-kl.delegacy code.
76312027Sjungma@eit.uni-kl.de
76412027Sjungma@eit.uni-kl.de
76512027Sjungma@eit.uni-kl.de// Taf!
766