INSTALL revision 12027
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