Index: branches/with_autoconf/INSTALL
===================================================================
--- branches/with_autoconf/INSTALL	(revision 7)
+++ branches/with_autoconf/INSTALL	(revision 8)
@@ -1,33 +1,236 @@
-SystemCASS Installation
-=======================
-
-To install SystemCASS on linux, do the following steps:
-
-  1. Set the following environment variable(s):
-
-     TARGET_ARCH : architecture name.
-
-     SYSTEMCASS  : SystemCASS top directory.
-
-     ALLIANCE (optional) : ALLIANCE top directory
-                           See also 'PAT trace output' section.
-
-     For example :
-
-       setenv TARGET_ARCH linux
-       setenv SYSTEMCASS /users/tools/systemcass/
-
-  2. Change to the top level directory (systemcass)
-
-  3. Type the following command:
-
-       (cd src ; make)
-
-
-PAT trace ouput
-===============
-
-PAT trace output is disable by default.
-Set the environment variable 'ALLIANCE' to ALLIANCE top directory, 
-then make again.
-
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
Index: branches/with_autoconf/Makefile.am
===================================================================
--- branches/with_autoconf/Makefile.am	(revision 8)
+++ branches/with_autoconf/Makefile.am	(revision 8)
@@ -0,0 +1,1 @@
+SUBDIRS = src examples doc
Index: branches/with_autoconf/bootstrap
===================================================================
--- branches/with_autoconf/bootstrap	(revision 8)
+++ branches/with_autoconf/bootstrap	(revision 8)
@@ -0,0 +1,132 @@
+#! /bin/sh
+# $Id: bootstrap 1974 2008-04-04 11:32:24Z sam $
+
+# bootstrap: generic bootstrap/autogen.sh script for autotools projects
+#
+# Copyright (c) 2002-2008 Sam Hocevar <sam@zoy.org>
+#
+#    This program is free software. It comes without any warranty, to
+#    the extent permitted by applicable law. You can redistribute it
+#    and/or modify it under the terms of the Do What The Fuck You Want
+#    To Public License, Version 2, as published by Sam Hocevar. See
+#    http://sam.zoy.org/wtfpl/COPYING for more details.
+#
+# The latest version of this script can be found at the following place:
+#   http://sam.zoy.org/autotools/
+
+# Die if an error occurs
+set -e
+
+# Guess whether we are using configure.ac or configure.in
+if test -f configure.ac; then
+  conffile="configure.ac"
+elif test -f configure.in; then
+  conffile="configure.in"
+else
+  echo "$0: could not find configure.ac or configure.in"
+  exit 1
+fi
+
+# Check for needed features
+auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *([[ ]*\([^] )]*\).*/\1/p' $conffile`"
+libtool="`grep -q '^[ \t]*A._PROG_LIBTOOL' $conffile && echo yes || echo no`"
+header="`grep -q '^[ \t]*A._CONFIG_HEADER' $conffile && echo yes || echo no`"
+makefile="`[ -f Makefile.am ] && echo yes || echo no`"
+aclocalflags="`sed -ne 's/^[ \t]*ACLOCAL_AMFLAGS[ \t]*=//p' Makefile.am 2>/dev/null || :`"
+
+# Check for automake
+amvers="no"
+for v in 11 10 9 8 7 6 5; do
+  if automake-1.${v} --version >/dev/null 2>&1; then
+    amvers="-1.${v}"
+    break
+  elif automake1.${v} --version >/dev/null 2>&1; then
+    amvers="1.${v}"
+    break
+  fi
+done
+
+if test "${amvers}" = "no" && automake --version > /dev/null 2>&1; then
+  amvers="`automake --version | sed -e '1s/[^0-9]*//' -e q`"
+  if expr "$amvers" "<" "1.5" > /dev/null 2>&1; then
+    amvers="no"
+  else
+    amvers=""
+  fi
+fi
+
+if test "$amvers" = "no"; then
+  echo "$0: you need automake version 1.5 or later"
+  exit 1
+fi
+
+# Check for autoconf
+acvers="no"
+for v in "" "259" "253"; do
+  if autoconf${v} --version >/dev/null 2>&1; then
+    acvers="${v}"
+    break
+  fi
+done
+
+if test "$acvers" = "no"; then
+  echo "$0: you need autoconf"
+  exit 1
+fi
+
+# Check for libtool
+if test "$libtool" = "yes"; then
+  libtoolize="no"
+  if glibtoolize --version >/dev/null 2>&1; then
+    libtoolize="glibtoolize"
+  else
+    for v in "16" "15" "" "14"; do
+      if libtoolize${v} --version >/dev/null 2>&1; then
+        libtoolize="libtoolize${v}"
+        break
+      fi
+    done
+  fi
+
+  if test "$libtoolize" = "no"; then
+    echo "$0: you need libtool"
+    exit 1
+  fi
+fi
+
+# Remove old cruft
+for x in aclocal.m4 configure config.guess config.log config.sub config.cache config.h.in config.h compile libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 ltmain.sh libtool ltconfig missing mkinstalldirs depcomp install-sh; do rm -f $x autotools/$x; if test -n "$auxdir"; then rm -f "$auxdir/$x"; fi; done
+rm -Rf autom4te.cache
+if test -n "$auxdir"; then
+  if test ! -d "$auxdir"; then
+    mkdir "$auxdir"
+  fi
+  aclocalflags="${aclocalflags} -I $auxdir -I ."
+fi
+
+# Explain what we are doing from now
+set -x
+
+# Bootstrap package
+if test "$libtool" = "yes"; then
+  ${libtoolize} --copy --force
+  if test -n "$auxdir" -a ! "$auxdir" = "." -a -f "ltmain.sh"; then
+    echo "$0: working around a minor libtool issue"
+    mv ltmain.sh "$auxdir/"
+  fi
+fi
+
+aclocal${amvers} ${aclocalflags}
+autoconf${acvers}
+if test "$header" = "yes"; then
+  autoheader${acvers}
+fi
+if test "$makefile" = "yes"; then
+  #add --include-deps if you want to bootstrap with any other compiler than gcc
+  #automake${amvers} --add-missing --copy --include-deps
+  automake${amvers} --foreign --add-missing --copy
+fi
+
+# Remove cruft that we no longer want
+rm -Rf autom4te.cache
+
Index: branches/with_autoconf/configure.ac
===================================================================
--- branches/with_autoconf/configure.ac	(revision 8)
+++ branches/with_autoconf/configure.ac	(revision 8)
@@ -0,0 +1,131 @@
+#                                               -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.60)
+AC_INIT(SystemCASS, 1.0.0)
+AC_CANONICAL_TARGET
+
+AC_CONFIG_HEADER([config.h])
+
+AM_INIT_AUTOMAKE
+
+# Checks for programs.
+AC_PROG_CXX
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_PROG_LIBTOOL
+
+# User choices
+AC_DEFUN([MY_ARG_ENABLE],
+            [AC_ARG_ENABLE(m4_translit([[$1]], [_], [-]),
+               [AS_HELP_STRING([--enable-m4_translit([$1], [_], [-])],
+                               [$2 (default is $3)])],
+						   [do_$1=${enableval}],
+						   [do_$1=$3])
+             AS_IF([test x${do_$1} != xno],
+			 AC_DEFINE(m4_toupper([CONFIG_$1]), [], [$2]),
+			 )])
+
+MY_ARG_ENABLE(check_fsm_rules, [Enable FSM rule checking], [no])
+MY_ARG_ENABLE(check_multiwriting2port, [Report if port is written twice], [no])
+MY_ARG_ENABLE(check_multiwriting2register, [Report if unconnected signal is written twice], [no])
+MY_ARG_ENABLE(debug, [Enable debugging], [yes])
+MY_ARG_ENABLE(default_runtime_compilation, [Default is to compile scheduling code], [yes])
+
+# Also set -DNDEBUG when not debugging, this disables assert()s
+AS_IF([test "x$do_debug" != xyes],
+CXXFLAGS="-DNDEBUG")
+
+case $target_os in
+	 linux*)
+		AC_DEFINE(CONFIG_OS_LINUX,1,We have a linux system)
+		AC_SUBST(SC_LIB_TARGET,linux)
+		;;
+	 darwin*)
+		AC_DEFINE(CONFIG_OS_DARWIN,1,We have a MacOS system)
+		AC_SUBST(SC_LIB_TARGET,macosx)
+		;;
+	 *)
+		AC_SUBST(SC_LIB_TARGET,unknown)
+		;;
+esac
+
+AC_ARG_WITH([pat],
+            [AS_HELP_STRING([--with-pat=PATH],
+              [Use PAT trace format, this needs Alliance in PATH])],
+            [],
+            [with_pat=no])
+
+# Checks for libraries.
+AS_IF([test "x$with_pat" != "xno"],
+	  saved_CFLAGS="$CFLAGS"
+	  saved_LIBS="$LIBS"
+	  LIBS="$LIBS -L$with_pat/lib"
+	  CFLAGS="$CFLAGS -I$with_pat/include"
+	  [AC_CHECK_HEADER([pat.h],,
+		   [AC_MSG_ERROR([You asked for PAT trace format but no pat.h dnl
+can be found. Try --with-pat=/search/dir/])])
+      AC_SEARCH_LIBS([pat_message], [Pat],
+		   AC_DEFINE(CONFIG_PAT_TRACE_FORMAT,1,Use PAT trace format),
+		   AC_MSG_ERROR([You asked for PAT trace format but no libpat dnl
+can be found. Try --with-pat=/search/dir/]),
+		   [-lMut -lPpt -lPgn])]
+	  ALLIANCE_CFLAGS="$CFLAGS"
+	  CFLAGS="$saved_CFLAGS"
+	  LIBS="$saved_LIBS"
+	  AC_SUBST(ALLIANCE_PATH, $withval)
+	  AC_SUBST(ALLIANCE_CFLAGS)
+)
+
+AM_CONDITIONAL(WITH_ALLIANCE, test x$with_pat != xno)
+
+AC_ARG_WITH([soclib],
+            [AS_HELP_STRING([--with-soclib=PATH],
+              [Use SoCLib in PATH to compile examples])],
+            [AC_SUBST(SOCLIB_PATH, $withval)],
+			[with_soclib=no])
+AM_CONDITIONAL(HAS_SOCLIB, test x$with_soclib != xno)
+
+AC_CHECK_PROG(has_latex, latex, yes)
+AC_CHECK_PROG(has_bibtex, bibtex, yes)
+AC_CHECK_PROG(has_fig2dev, fig2dev, yes)
+AC_CHECK_PROG(has_ps2pdf, ps2pdf, yes)
+AC_CHECK_PROG(has_dvips, dvips, yes)
+
+AM_CONDITIONAL(BUILD_DOCS,
+[test x$has_latex$has_bibtex$has_fig2dev$has_ps2pdf$has_dvips = xyesyesyesyesyes])
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([stdint.h stdlib.h sys/time.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_INT32_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_STRUCT_TM
+AC_TYPE_UINT64_T
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_FUNC_STRFTIME
+AC_CHECK_FUNCS([memset strchr strdup strstr])
+
+
+AC_CONFIG_FILES([
+  Makefile
+  src/Makefile
+  doc/Makefile
+  examples/Makefile
+  examples/soclib_date04/Makefile
+  examples/soclib_date04/timer4_gmn_handmade/Makefile
+])
+AC_OUTPUT
+
Index: branches/with_autoconf/doc/Automate.fig
===================================================================
--- branches/with_autoconf/doc/Automate.fig	(revision 8)
+++ branches/with_autoconf/doc/Automate.fig	(revision 8)
@@ -0,0 +1,65 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+6 1725 1050 7650 6450
+1 2 0 1 0 0 51 -1 20 0.000 1 0.0000 4725 2400 1125 487 3600 2400 5850 2400
+1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 4696 2349 1125 487 3571 2349 5821 2349
+1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 3150 5137 1125 487 2025 5137 4275 5137
+1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 6225 5137 1125 487 5100 5137 7350 5137
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 3150 1425 60 60 3150 1425 3210 1425
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 4650 1425 60 60 4650 1425 4710 1425
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 4650 5100 30 30 4650 5100 4680 5100
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 3150 6075 60 60 3150 6075 3210 6075
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6225 6075 60 60 6225 6075 6285 6075
+1 2 0 1 0 0 51 -1 20 0.000 1 0.0000 6225 5175 1125 487 5100 5175 7350 5175
+1 2 0 1 0 0 51 -1 20 0.000 1 0.0000 3163 5176 1125 487 2038 5176 4288 5176
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 60.00 120.00
+	 4650 5100 5100 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 60.00 120.00
+	 6225 5625 6225 6075
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 60.00 120.00
+	 3150 5625 3150 6075
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 60.00 120.00
+	 4650 1425 4650 1875
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 60.00 120.00
+	 4650 3900 4650 5100 4275 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 60.00 120.00
+	 3150 1425 3150 4650
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 60.00 120.00
+	 4650 2850 4650 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
+	1 1 1.00 60.00 120.00
+	 5250 3600 6450 3600 6450 2325 5775 2325
+2 3 0 1 0 7 49 -1 -1 0.000 0 0 -1 0 0 4
+	 4050 3300 4200 3600 4050 3900 4050 3300
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+	 4050 3300 5250 3300 5250 3900 4050 3900 4050 3300
+2 2 0 1 0 0 51 -1 20 0.000 0 0 -1 0 0 5
+	 4125 3375 5325 3375 5325 3975 4125 3975 4125 3375
+2 4 0 2 0 30 52 -1 20 0.000 0 0 7 0 0 5
+	 7575 6075 1800 6075 1800 1425 7575 1425 7575 6075
+4 0 0 50 -1 0 12 0.0000 4 135 825 4275 6450 OUTPUTS\001
+4 0 0 50 -1 0 12 0.0000 4 135 645 3525 1200 INPUTS\001
+4 0 0 50 -1 0 12 0.0000 4 135 660 2625 4950 MEALY\001
+4 0 0 50 -1 0 12 0.0000 4 135 1200 2625 5175 GENERATION\001
+4 0 0 50 -1 0 12 0.0000 4 135 930 2625 5400 FUNCTION\001
+4 0 0 50 -1 0 12 0.0000 4 135 1200 5775 5175 GENERATION\001
+4 0 0 50 -1 0 12 0.0000 4 135 675 5775 4950 MOORE\001
+4 0 0 50 -1 0 12 0.0000 4 135 930 5775 5400 FUNCTION\001
+4 0 0 50 -1 0 12 0.0000 4 135 1095 4200 2325 TRANSITION\001
+4 0 0 50 -1 0 12 0.0000 4 135 930 4200 2550 FUNCTION\001
+4 0 0 50 -1 0 12 0.0000 4 135 675 4350 3675 STATES\001
+-6
Index: branches/with_autoconf/doc/Makefile.am
===================================================================
--- branches/with_autoconf/doc/Makefile.am	(revision 8)
+++ branches/with_autoconf/doc/Makefile.am	(revision 8)
@@ -0,0 +1,24 @@
+
+if BUILD_DOCS
+ps_pdf_doc=SystemCASS.pdf SystemCASS.ps
+eps_figures=SystemeType.eps Automate.eps
+endif
+
+doc_DATA = $(ps_pdf_doc)
+#latex_opts=-interaction batchmode #
+latex_opts= -halt-on-error
+
+%.pdf: %.ps
+	ps2pdf $<
+
+%.ps: %.dvi
+	dvips -o $@ $<
+
+%.dvi %.bbl: %.tex %.bib $(eps_figures)
+	latex $(latex_opts) $<
+	bibtex $*
+	latex $(latex_opts) $<
+	latex $(latex_opts) $<
+
+%.eps: %.fig
+	fig2dev -L eps $< $@
Index: branches/with_autoconf/doc/SystemCASS.bib
===================================================================
--- branches/with_autoconf/doc/SystemCASS.bib	(revision 8)
+++ branches/with_autoconf/doc/SystemCASS.bib	(revision 8)
@@ -0,0 +1,544 @@
+@inproceedings{ panda01systemc,
+    author = "Preeti Ranjan Panda",
+    title = "SystemC",
+    booktitle = "{ISSS}",
+    pages = "75-80",
+    year = "2001",
+    url = "citeseer.nj.nec.com/panda01systemc.html" }
+
+@inproceedings{ french95general,
+  author = "Robert S. French and Monica S. Lam and Jeremy R. Levitt and Kunle Olukotun", title = "A General Method for Compiling Event-Driven Simulations", 
+  booktitle = "Design Automation Conference", 
+  pages = "151-156", 
+  year = "1995", 
+  url = "citeseer.nj.nec.com/french95general.html" }
+
+@article{ badros00javaml, author = "Greg J. Badros", title = "Java{ML}: a markup language for {Java} source code", journal = "Computer Networks (Amsterdam, Netherlands: 1999)", volume = "33", number = "1--6", pages = "159--177", year = "2000", url = "citeseer.nj.nec.com/badros00javaml.html" }
+
+@inproceedings{ eventvsstatic, 
+	author       = "Buchmann Richard and Petrot Frederic and Greiner Alain",
+	title        = "Pilotage evenementiel versus ordonnancement statique",
+	organization = "ASIM/LIP6/UPMC",
+	booktitle    = "{Troisième colloque du GDR CAO de circuits et systèmes integres, Paris, France}",
+  year         = "2002",
+	pages        = "151-154",
+	date         = "Mai 2002" }
+
+@INPROCEEDINGS{simu97-3,
+   author       = "Frederic Petrot and Denis Hommais and Alain Greiner",
+   title        = "Cycle Precise Core Based Hardware/Software System
+                   Simulation with Predictable Event Propagation",
+   organization = "ASIM/LIP6/UPMC",
+   booktitle    = "Proceeding of the $23^{\mathrm{rd}}$ Euromicro Conference",
+   address      = "Budapest, Hungary",
+   pages        = "182--187",
+   publisher    = "IEEE",
+   month        = sep,
+   year         = 1997 
+}  
+
+@article{ chang01fast,
+    author = "Felix Sheng-Ho Chang and Alan J. Hu",
+    title = "Fast Specification of Cycle-Accurate Processor Models",
+    booktitle = "Proc. International Conf. Computer Design ({ICCD})",
+    publisher = "IEEE Computer Society Press",
+    pages = "488--492",
+    year = "2001",
+    url = "citeseer.nj.nec.com/chang01fast.html" }
+
+@manual{program_transform,
+	title = "The Program Transformation Wiki",
+	note  = "http://www.program-transformation.org"}
+
+@misc{olmos-visser, 
+	author = "Karina Olmos and Eelco Visser",
+	title = "Strategies for Source-to-Source Constant Propagation",
+	year = "2002",
+	url = "citeseer.nj.nec.com/olmos02constant.html" }
+
+@manual{systemc_osci,
+	title = "OSCI",
+	note  = "http://www.systemc.org"}
+
+@manual{GCCXML,
+	title = "GCC\_XML",
+	note  = "http://www.gccxml.org"}
+
+@misc{for-lukai, 
+        author = "Mar Center For", 
+        title = "Lukai Cai and Daniel Gajski", 
+	url = "citeseer.nj.nec.com/561051.html" }
+
+@manual{SystemC-2.0.1-LRM,
+	title = "SystemC 2.0.1 Language Reference Manual",
+        author = "OSCI", 
+        year = "2003",
+	note  = "http://www.systemc.org"}
+
+@INPROCEEDINGS{TLM-SoC-SC2.0,
+	Author = "Sudeep Pasricha", 
+	organization = "STMicrolectronics",
+	title      = "Transaction level modeling of SoC with SystemC 2.0",
+	year     = "2002"
+}
+
+@INPROCEEDINGS{Empirical-Study-SC,
+	Author       = "Ando Ki", 
+	organization = "R\&D Center,Dynalith Systems, Korea",
+	title        = "Internal Report",
+	booktitle    = "Empirical Study of SystemC",
+	year         = "2003",
+	url          = "http://www.dynalith.com"
+}
+
+@misc{SOCLIB,
+	Author = "SoCLIB", 
+	title      = "A modelisation \& simulation plat-form for system on
+chip",
+	year     = "2003",
+	note = "http://soclib.lip6.fr"
+}
+
+@misc{DISYDENT,
+	author = "LIP6",
+	title = "Digital System Design Environment",
+	note = "http://www-asim.lip6.fr/recherche/disydent"
+}
+
+@manual{vci_specifications,
+	title = "Virtual Component Interface Standard",
+	note  = "http://www.vsi.org"}
+
+@inproceedings{ date04-mouchard,
+                author = "Daniel Gracia Perez and Gilles Mouchard and Olivier Temam",
+                title  = "A New Optimized Implemention of the SystemC Engine Using Acyclic Scheduling",
+                booktitle    = "Design, Automation and Test in Europe Conference and Exhibition Volume I (DATE'04)",
+                year         = "2004",
+                address      = "Paris, France",
+                organization = "ALCHEMY INRIA Futurs \& LRI, Paris South University",
+                publisher    = "IEEE",
+                pages        =  "10552" }
+
+@misc{ bjrklund02language,
+  author = "D. Bjrklund and J. Lilius",
+  title = "A language for multiple models of computation",
+  text = "Dag Bjrklund and Johan Lilius. A language for multiple models of
+computation.
+    In Symposium on Hardware/Software Codesign 2002. ACM, 2002.",
+  year = "2002",
+  url = "citeseer.ist.psu.edu/bjrklund02language.html" }
+
+@inproceedings{989013,
+ author = {Hiren D. Patel and Sandeep K. Shukla},
+ title = {Towards a heterogeneous simulation kernel for system level models: a SystemC kernel for synchronous data flow models},
+ booktitle = {GLSVLSI '04: Proceedings of the 14th ACM Great Lakes symposium on VLSI},
+ year = {2004},
+ isbn = {1-58113-853-9},
+ pages = {248--253},
+ location = {Boston, MA, USA},
+ doi = {http://doi.acm.org/10.1145/988952.989013},
+ publisher = {ACM Press},
+ address = {New York, NY, USA},
+ }
+
+@inproceedings{74398,
+ author = {Z. Wang and P. M. Maurer},
+ title = {Scheduling high-level blocks for functional simulation},
+ booktitle = {DAC '89: Proceedings of the 26th ACM/IEEE conference on Design automation},
+ year = {1989},
+ isbn = {0-89791-310-8},
+ pages = {87--90},
+ location = {Las Vegas, Nevada, United States},
+ doi = {http://doi.acm.org/10.1145/74382.74398},
+ publisher = {ACM Press},
+ address = {New York, NY, USA},
+ }
+
+@inproceedings{217522,
+ author = {Robert S. French and Monica S. Lam and Jeremy R. Levitt and Kunle Olukotun},
+ title = {A general method for compiling event-driven simulations},
+ booktitle = {DAC '95: Proceedings of the 32nd ACM/IEEE conference on Design automation},
+ year = {1995},
+ isbn = {0-89791-725-1},
+ pages = {151--156},
+ location = {San Francisco, California, United States},
+ doi = {http://doi.acm.org/10.1145/217474.217522},
+ publisher = {ACM Press},
+ address = {New York, NY, USA},
+ }
+
+@inproceedings{kahn3,
+ author = {G. Kahn},
+ title = {The Semantics of a simple language for parallel programming},
+ booktitle = {IFIP Congress : Information Processing},
+ year = {1974},
+ publisher = {North-Holland Publishing Co.},
+ }
+
+@manual{VSIAAD,
+	title = "VSIA Architecture Document",
+        author = "VSI Alliance", 
+        year = "1997",
+	note  = "http://www.vsia.org"}
+
+@inproceedings{ludo99,
+ author = { Jacomme Ludovic, Pétrot Frédéric, Bawa Rajesh K. },
+ title = {Formal Analysis of Single Wait VHDL processes for Semantic Based Synthesis},
+ booktitle = {12th IEEE International Conference on VLSI Design},
+ year = {1999},
+ location = {Goa, India},
+ pages = {151-156}}
+
+@inproceedings{ iceec04-buch,
+  author = "R. Buchmann and F. Petrot and A. Greiner",
+  title  = "Fast Cycle Accurate Simulator to simulate Event-Driven Behavior",
+  booktitle    = "Proceeding of The 2004 International Conference on Electrical, Electronic and Computer Engineering (ICEEC'04)",
+  year         = "2004",
+  address      = "Cairo, Egypt",
+  organization = "ASIM/LIP6/UPMC",
+  publisher    = "IEEE",
+  pages        =  "35-39" }
+
+@phdthesis{hommais,
+  author= {Hommais Denis},
+  title= {Une méthode d'évaluation et de synthèse des communications dans les systèmes intégrés matériel-logiciel},
+  year = {2001},
+  organization = "ASIM/LIP6/UPMC",
+  location = {Paris, France}
+}
+
+@phdthesis{jacomme,
+  author= {Jacomme Ludovic},
+  title = {Analyse sémantique de descriptions VHDL synchrones en vue de la
+synthèse},
+  year = {1999},
+  organization = "ASIM/LIP6/UPMC",
+  location = {Paris, France}
+}
+
+@book{mips_goodman,
+  title = {A programmer's view of computer architecture: with examples from the
+MIPS RISC architecture},
+  author = {James Goodman},
+  edition = {Fort Worth: Saunders College Pub.},
+  year = {1992},
+  isbn = {0030972213}
+}
+
+@book{mips_gerry,
+  title = {MIPS RISC architecture},
+  author = {Gerry Kane},
+  publisher = {Englewood Cliffs, NJ : Prentice-Hall},
+  year = {1988},
+  isbn = {0135847494}
+}
+
+@inproceedings{webmips,
+  title="WebMIPS: A New Web-Based MIPS Simulation Environment for Computer
+Architecture Education",
+  author = {Irina Branovic, Roberto Giorgi, Enrico Martinelli},
+  organization = {University of Siena, Italy}
+}
+
+ 
+@inproceedings{early_pipeline,
+  title="Fast Cycle-accurate Behavioral Simulation for Pipelined Processors
+Using Early Pipeline Evaluation",
+  booktitle= "Proceedings of ICCAD'03 conference",
+  author = {In-Cheol Park, Sehyeon Kang, Yongseok Yi},
+  year = "2003", 
+  address = {San Jose, California USA} 
+}
+
+@misc{visual_fastc,
+  title = "Visual Elite FastC",
+  organization = "Summit Design Inc."
+}
+
+@article{mealy,
+  title = "A method for synthesizing sequential circuits",
+  author= "G. Mealy",
+  booktitle="Bell System Technical J. 34",
+  year  = "1955",
+  pages = "1045-1079"
+}
+
+@article{moore,
+  author = "E. Moore",
+  title  = "Gedanken experiments on sequential machines",
+  booktitle = "Automata Studies",
+  edition = "C. Shannon et J. McCarthy",
+  publisher = "Princeton University Press",
+  address = "Princeton, New Jersey",
+  year = "1956",
+  pages = "129-153"
+}
+
+@article{rabin,
+  author = "M. Perles, M. Rabin et E. Shamir",
+  title = "The theory of definite automata",
+  publisher = "IEEE.",
+  booktitle = "Trans. Electron. Comput. 12",
+  year = "1963",
+  pages = "233-243"
+}
+
+@article{rabin2,
+  author = "M. O. Rabin et D. Scott",
+  title  = "Sequential Machines",
+  edition = "E. F. Moore",
+  publisher = "Addison-Wesley",
+  address   = "Massachussetts",
+  year = "1964",
+  pages = "63-91"
+}
+
+@article{358613,
+ author = {K. M. Chandy and J. Misra},
+ title = {Asynchronous distributed simulation via a sequence of parallel
+computations},
+ journal = {Commun. ACM},
+ volume = {24},
+ number = {4},
+ year = {1981},
+ issn = {0001-0782},
+ pages = {198--206},
+ doi = {http://doi.acm.org/10.1145/358598.358613},
+ publisher = {ACM Press},
+ address = {New York, NY, USA}
+}
+
+
+@inproceedings{37915,
+ author = {S. P. Smith and M. R. Mercer and B. Brodk},
+ title = {Demand driven simulation: BACKSIM},
+ booktitle = {DAC '87: Proceedings of the 24th ACM/IEEE conference on Design
+automation},
+ year = {1987},
+ isbn = {0-8186-0781-5},
+ pages = {181--187},
+ location = {Miami Beach, Florida, United States},
+ doi = {http://doi.acm.org/10.1145/37888.37915},
+ publisher = {ACM Press},
+ address = {New York, NY, USA}
+ }
+
+@inproceedings{123349,
+ author = {Zhicheng Wang and Peter M. Maurer},
+ title = {LECSIM: a levelized event driven compiled logic simulation},
+ booktitle = {DAC '90: Proceedings of the 27th ACM/IEEE conference on Design
+automation},
+ year = {1990},
+ isbn = {0-89791-363-9},
+ pages = {491--496},
+ location = {Orlando, Florida, United States},
+ doi = {http://doi.acm.org/10.1145/123186.123349},
+ publisher = {ACM Press},
+ address = {New York, NY, USA}
+ }
+
+@inproceedings{hadamard,
+  title = {Design of the Hadamard Coprocessor with the Alliance CAD System carried by Post-Graduating Students},
+  author = {Zerrouki Amal and Dunoyer Julien and Wajsbürt Franck and Derieux Anne},
+  booktitle = {3rd European Workshop on Microelectronics Education (EWME)},
+  location = {Aix En Provence, France},
+  year = {2000},
+  pages = {265-268}
+}
+
+@inproceedings{reuse,
+  author = {N. Agliada, A. Fin. and F. Fummi and M. Martignano and G. Pravadelli},
+  title  = {On the Reuse of VHDL Modules into SystemC Designs},
+  booktitle = {Proceedings IEEE Forum on Design Languages (FDL)},
+  location = {Lyon, France},
+  year = {2001}
+}
+
+@phdthesis{sidd,
+  author = {Siddhartha Devalapalli},
+  title = {Development of SystemC Modules from HDL for System-on-Chip
+Applications},
+  year = {2004},
+  school = {University of Tennessee},
+  location = {Knoxville}
+}
+
+@inproceedings{verilog2sc,
+  author = {L. Mahmoudi Ayough, A. Haj Abutalebi, O. F. Nadjarbashi and S. Hessabi},
+  title  = {Verilog2SC: A Methodology for Converting Verilog. HDL to SystemC},
+  booktitle = {Proceedings of the 11th International HDL Conference (HDL Con 2002)},
+  pages =  {211-217},
+  location = {San Jose, California, USA},
+  year = {2002}
+}
+
+@report{verilator,
+  author = {W. Snyder},
+  title  = {Verilator Environment},
+  note = {in NASCUG},
+  year = {2004}
+}
+
+@inproceedings{AIRE,
+  author = {J. C. Willis and P. A. Wilsey and G. D. Peterson and J. Hines and A. Zamfirescu and D. E. Martin and R. N. Newshutz},
+  title = "Advanced Intermediate Representation with Extensibility (AIRE)",
+  booktitle = "VHDL Users' Group Fall 1996 Conference",
+  pages = {33-40},
+  year = {1996}
+}
+
+@inproceedings{savant,
+  author = {D. E. Martin and P. A. Wilsey and P. Chawla},
+  title  = {SAVANT: An Extensible Object-Oriented Intermediate for VHDL},
+  booktitle = "VHDL Users' Group",
+  year = {1996},
+  pages = {275-281}
+}
+
+@inproceedings{Sil,
+  author = {E. Molenkamp and G. E. Mekenkamp},
+  title = {Sil: an intermediate for syntax based VHDL synthesis},
+  booktitle = {VHDL International Users Forum},
+  pages = {5.1-5.9},
+  year = {1995}
+}
+
+@report{qualitative_subset,
+  author = {D. Déharbe and D. Borrione},
+  title = {A qualitative finite subset of VHDL and semantics},
+  organization = {IMAG Institute},
+  year = {1993}
+}
+
+@inproceedings{doh94,
+  author = {G. Döhmen},
+  title = {Petri Nets as Intermediate Representation Between VHDL and Symbolic
+Transition Systems},
+  booktitle = {EURO-VHDL},
+  pages = {572-577},
+  location = {Grenoble, France},
+  year = {1994}
+}
+
+@inproceedings{OC93,
+  author = {S. Olcoz and J.M. Colom},
+  title  = {A Petri Net Approach for the Analysis of VHDL Descriptions},
+  booktitle = {CHARME},
+  pages  = {15-26},
+  year   = {1993}
+}
+
+@inproceedings{semantics,
+  author = {L. Jacomme and F. Pétrot and R.K. Bawa},
+  title  = {Formal Analysis of Single Wait VHDL Processes for Semantic Based
+Synthesis},
+  booktitle = {12th International Conference on VLSI Design},
+  pages = {151-156},
+  location = {Goa, India},
+  year = {1999}
+}
+
+@inproceedings{EE95,
+  author = {A. Evans and E. Encrenaz},
+  title  = {An Approach to the Synthesis of VHDL Concurrent Processes as a
+FSM},
+  booktitle = {IFIP WG 10.5 Workshop on Logic and Architecture Synthesis},
+  pages = {115-124},
+  location = {Grenoble, France},
+  year = {1995}
+}
+
+@inproceedings{ALLIANCE,
+  author = {A. Greiner and F. Pêcheux},
+  title  = {ALLIANCE : A Complete Set of CAD Tools for Teaching VLSI Design},
+  booktitle = {The 3rd Eurochip Workshop on VLSI Design Training},
+  pages = {230-37},
+  location = {Grenoble, France},
+  year = {1992}
+}
+
+@inproceedings{RTL2CASS,
+  author = {R.K. Bawa and P. Guerrier and L. Jacomme and P. Bazargan-Sabet.},
+  title  = {An approach to behavioral synthesis from a formal model of vhdl},
+  booktitle = {VHDL International Users Forum},
+  pages = {117-126},
+  location = {Durham, Caroline du Nord, USA},
+  year = {1996}
+}
+
+@phdthesis{thesis_mouchard,
+  author= {Mouchard Gilles},
+  title = {Modélisation de Processeurs et de Systèmes},
+  year = {2004},
+  organization = "LRI"
+}
+
+@conference{PAPR1,
+  title = {Modular on chip multi processor for routing applications},
+  author = {E. Faure and D. Genius and F. Pétrot and S. Berrayana},
+  year = {2004},
+  month = september,
+  location = {Pise, Italie},
+  booktitle = {EUROPAR 04},
+  pages = {847-855}
+}
+
+@conference{PAPR2,
+  title = {Application télécom pour processeur réseau},
+  author = {E. Faure and S. Berrayana and D. Genius and F. Pétrot},
+  booktitle = {Sciences Electroniques Technologies de l'Information et des Télécommunications (SETIT'04)},
+  location = {Sousse, Tunisie},
+  month = {mars},
+  year = 2004
+}
+
+@conference{ROBDD1,
+	title = {Efficient implementation of a bdd package},
+  booktitle = {27th ACM/IEEE Design Automation Conference},
+  author = {Karl Brace and Richard Rudell and Randal Bryant},
+  pages = {677-691},
+  month = {August},
+  year = {1986}
+}
+
+@article{ROBDD2,
+	title = {Graph-based algorithms for boolean function manipulation},
+  author = {Randal Bryant},
+  booktitle = {IEEE Transaction on Computers},
+  pages = {677-691},
+  month = {August},
+  year = {1986}
+}
+
+@inproceedings{VHDL2SC,
+  title = {On the Reuse of VHDL Modules into SystemC Designs},
+  author = {N. Agliada and A. Fin and F. Fummi and M. Martignano and G. Pravdelli},
+  booktitle = {Forum on Design Languages (FDL01)},
+  year = {2001}
+}
+
+@inproceedings{stereovision,
+  title = "Mapping an Obstacles Detection, Stereo Vision-based, Software Application on a Multi-Processor System-on-chip",
+  author = {A. Greiner and F. Petrot and M. Carrier and M. Benabdenbi and R. Chotin-avot and R. Labayrade},
+  booktitle = {Proceedings of Intelligent Vehicles Symposium 2006},
+  publisher = {IEEE},
+  year = 2006,
+  month = June,
+  pages = {370-376}
+}
+
+@article{shannon,
+ author = {Bernard M. E. Moret},
+ title = {Decision Trees and Diagrams},
+ journal = {ACM Comput. Surv.},
+ volume = {14},
+ number = {4},
+ year = {1982},
+ issn = {0360-0300},
+ pages = {593--623},
+ doi = {http://doi.acm.org/10.1145/356893.356898},
+ publisher = {ACM Press},
+ address = {New York, NY, USA},
+ }
+
+
Index: branches/with_autoconf/doc/SystemCASS.tex
===================================================================
--- branches/with_autoconf/doc/SystemCASS.tex	(revision 8)
+++ branches/with_autoconf/doc/SystemCASS.tex	(revision 8)
@@ -0,0 +1,273 @@
+%%%%%%%%%%
+%
+%$Log: SystemCASS.tex,v $
+%Revision 1.3  2005/03/25 14:33:01  buchmann
+%Typo :
+%-  dependAncy -> dependEncy
+%
+%sc_initialize :
+%-  Use a hash table to speed up elaboration step. (x40 faster)
+%
+%Tracing :
+%-  check for modification BEFORE building bit string.
+%-  use sprintf instead std string concatenation.
+%
+%Revision 1.2  2005/02/22 11:36:58  buchmann
+%Generate correctly documentations.
+%Add special flag to disable PAT tracing support.
+%
+%Revision 1.1  2005/01/20 09:15:12  buchmann
+%add following functions to sc_uint classes :
+%- operator []
+%- range (left,right)
+%
+%support to port dependency declarations.
+%print used precompiled options in verbose mode.
+%use pedantic flag.
+%add some rules to generate documentations.
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\documentclass{report}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{a4wide}
+\usepackage{charter}
+\usepackage{helvet}
+\usepackage{graphicx}
+\usepackage{amsmath}
+\usepackage{moreverb}
+\usepackage{longtable}
+\usepackage{calc}
+\usepackage{alltt}
+\usepackage{makeidx}
+\usepackage{xspace}
+\renewcommand{\rmdefault}{phv}
+\renewcommand{\sfdefault}{phv}
+\renewcommand{\ttdefault}{pcr}
+\newcommand{\SYSTEMCASS}{\textsc{SystemCASS}\xspace}
+\newcommand{\SYSTEMC}{\textsc{SystemC}\xspace}
+\newcommand{\SOCLIB}{\textsc{SoCLIB}\xspace}
+
+\ifx\pdfoutput\undefined
+\else
+    \pdfpagewidth  21.0cm
+    \pdfpageheight 29.7cm
+\fi
+\usepackage{hyperref}
+
+\voffset   -1in
+\hoffset   -1in
+\headheight 0pt
+\headsep    0pt
+\topmargin     25mm
+\oddsidemargin 29mm
+
+\textwidth     150mm
+\textheight    240mm
+\flushbottom
+\sloppy
+
+\tabcolsep 4pt
+\makeatletter
+\renewcommand{\section}
+   {\@startsection
+   {section}%
+   {1}%
+   {0mm}%
+   {-.5\baselineskip}%
+   {0.5\baselineskip}%
+   {\newpage\flushleft\normalfont\Large\scshape}}
+
+\renewcommand{\subsection}
+   {\@startsection
+   {subsection}%
+   {1}%
+   {0mm}%
+   {-.5\baselineskip}%
+   {0.5\baselineskip}%
+   {\flushleft\normalfont\large\scshape}}
+
+\renewcommand{\@seccntformat}[1]{{\csname the#1\endcsname}.\hspace{0.25em}}
+\makeatother
+\renewcommand{\thesection}{\arabic{section}}
+
+\renewcommand{\listinglabel}[1]{\rlap{\footnotesize\rmfamily\the#1}\hskip2em}
+
+%%%%%%%%%%%%%%%%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+\thispagestyle{empty}
+~\vfill
+\begin{center}
+{\LARGE SystemCASS\\ SystemC Cycle Accurate System Simulator\\}
+\vfill
+\vfill
+%{\Large Documentation by Richard \textsc{Buchmann}}
+\vfill
+
+{\Large \today}
+
+\end{center}
+~\vfill
+
+%%%%%%%%%%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{\SYSTEMCASS Overview}
+\label{SystemCass-overview}
+
+\SYSTEMCASS is a simulator that executes models described in \textbf{SystemC}.
+Its goal is to provide cycle precise simulation of systems build with
+hardware and software components, in order to evaluate performances
+for \emph{i.e.} hardware/software partitioning, system validation, early
+software development.
+
+An example of system is present Figure~\ref{system}.
+
+\begin{figure}[hbtp]\center\leavevmode
+\includegraphics[width=.7\textwidth,angle=270]{SystemeType}
+\caption{Typical embedded system build around VCI interfaces.}
+\label{system}
+\end{figure}
+
+The simulator simulates a \textbf{SystemC} netlist of predefined and/or
+user defined components.
+The components used to validate the methodology\cite{iceec04-buch} are a part of \SOCLIB library.
+Those models are VCI, bit and cycle accurate using the finite state machine with datapath modeling (Figure~\ref{Automate}).
+
+\begin{figure}[hbtp]\center\leavevmode
+\includegraphics[width=.6\linewidth]{Automate}
+\caption{Finite State Machine Modeling}
+\label{Automate}
+\end{figure}
+
+SystemCASS is a SystemC subset including~:
+\begin{itemize}
+\item
+core class~: sc\_module, sc\_signal, sc\_in, sc\_out, sc\_inout...
+\item
+core functions~: sc\_start, sc\_stop, sc\_simulation\_time...
+\item
+basic data types~: sc\_i[u]nt, sc\_big[u]int...
+\end{itemize}
+
+But SystemCASS doesn't include standard channels, 
+methodology-specific channels (master/slave library, verification library) 
+and elementary channels (timer, mutex, semaphore, fifo, etc.).
+
+This cycle accurate engine gives higher simulation speed 
+more suitable for embedded software development,
+and architectural exploration.
+
+%%%%%%%%%%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Installation}
+
+Set \textbf{SYSTEMC} environment variable to the \textbf{SystemCASS} base directory.\\
+Change the current directory to \textbf{\$(SYSTEMC)/src}.\\
+Run the Makefile.\\
+
+The distribution is as follow~:
+\begin{itemize} \itemsep=-0.8ex
+\item
+\emph{src}~: 
+Source files
+\item
+\emph{includes}~:
+Header files
+\item
+\emph{lib-linux}~:
+Debug and optimized libraries for linux distribution
+\item
+\emph{docs}~:
+Documentation
+\item
+\emph{examples}~:
+
+\begin{itemize} \itemsep=-0.8ex
+\item
+\emph{soclib\_date04}~:
+An hardware timer raises some interruptions on 4 Mips R3000 periodically.
+Whenever an interruption occurs, the application running on each CPU prints a "hello" message to its own output window.
+\item
+\emph{soclib\_spg}~:
+An specific hardware configures a DMA. The DMA copies some data into the
+a simple RAM component.
+\end{itemize}
+
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ù
+\section{Simulator Execution}
+\label{debbuger-usage}
+To use SystemCASS simulator, you just need to include the SystemCASS headers
+and link to SystemCASS library.
+
+To debug, two ways are available~:
+\begin{itemize}
+\item
+link to the debug library and use a debugger.
+\item
+generate a trace file by using dedicated functions and use a VCD viewer.
+\end{itemize}
+
+%%%%%%%%%%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Simulator Compilation}
+
+Some macro definitions are available 
+to accelerate the simulation, 
+to check the netlist, variable dependancies, the scheduling
+to help on debugging
+and so on.
+
+You need to modify the Options.def file and rebuild the libraries.
+
+\subsection{Scheduling}
+
+The best performance you can reach using \SYSTEMCASS is obtained by using
+static scheduling.
+
+\SYSTEMCASS has two ways to compute the scheduling~:
+
+\begin{itemize}
+\item
+from the static sensitivity list (default)~:
+\SYSTEMC compatibility is good
+\item
+from the port dependency graph\cite{date04-mouchard} (USE\_PORT\_DEPENDENCY defined)~:
+The component designer need to declare the port dependancies in the
+constructor.
+The signal dependency graph is complete and then it has no cycle.
+At initialization step, the engine checks sensitivity list coherence.\\
+\it{Syntax~: outPort(inPort);}\\
+DUMP\_COMBINATIONAL\_LIST2DOT definition generates some DOT files to check
+dependancies.
+\end{itemize}
+
+The generated scheduling is written in code-XXX.cc file.
+KEEP\_GENERATED\_CODE definition allows to keep the file after simulation execution.\\
+
+PRINT\_SCHEDULE definition prints the scheduling at execution time.\\
+DUMP\_SCHEDULE\_STATS prints some miscellanous statistics.\\
+NO\_STATIC\_SCHEDULE disables the static scheduling.
+
+%%%%%%%%%%%%%%%
+%\part{Creating new components for \SYSTEMCASS}
+%%%%%%%%%%%%%%%
+
+%\section{Component description}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\bibliography{./SystemCASS}
+\bibliographystyle{unsrt}
+\end{document}
+
Index: branches/with_autoconf/doc/SystemeType.fig
===================================================================
--- branches/with_autoconf/doc/SystemeType.fig	(revision 8)
+++ branches/with_autoconf/doc/SystemeType.fig	(revision 8)
@@ -0,0 +1,82 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 3075 1800 3075 2325
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 4650 1800 4650 2325
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 6300 1800 6300 2325
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 7950 1800 7950 2325
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 7950 2775 7950 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 6300 2775 6300 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 4650 2775 4650 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 3075 2775 3075 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 1500 2775 1500 3300
+2 2 0 2 0 30 50 -1 20 0.000 0 0 -1 0 0 5
+	 2550 750 3675 750 3675 1800 2550 1800 2550 750
+2 2 0 2 0 30 50 -1 20 0.000 0 0 -1 0 0 5
+	 4125 750 5250 750 5250 1800 4125 1800 4125 750
+2 2 0 2 0 30 50 -1 20 0.000 0 0 -1 0 0 5
+	 5775 750 6900 750 6900 1800 5775 1800 5775 750
+2 2 0 2 0 2 50 -1 20 0.000 0 0 -1 0 0 5
+	 7425 750 8475 750 8475 1800 7425 1800 7425 750
+2 2 0 2 0 5 50 -1 20 0.000 0 0 -1 0 0 5
+	 7425 3300 8550 3300 8550 4350 7425 4350 7425 3300
+2 2 0 2 0 3 50 -1 20 0.000 0 0 -1 0 0 5
+	 5775 3300 6900 3300 6900 4350 5775 4350 5775 3300
+2 2 0 2 0 3 50 -1 20 0.000 0 0 -1 0 0 5
+	 4125 3300 5250 3300 5250 4350 4125 4350 4125 3300
+2 2 0 2 0 3 50 -1 20 0.000 0 0 -1 0 0 5
+	 2550 3300 3675 3300 3675 4350 2550 4350 2550 3300
+2 2 0 2 0 3 50 -1 20 0.000 0 0 -1 0 0 5
+	 975 3300 2100 3300 2100 4350 975 4350 975 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 60.00 120.00
+	1 1 1.00 60.00 120.00
+	 1500 1800 1500 2325
+2 4 0 2 0 31 50 -1 20 0.000 0 0 7 0 0 5
+	 9075 2775 600 2775 600 2325 9075 2325 9075 2775
+2 2 0 2 0 30 50 -1 20 0.000 0 0 -1 0 0 5
+	 975 750 2100 750 2100 1800 975 1800 975 750
+4 0 0 50 -1 2 20 0.0000 4 195 930 1050 1350 MIPS 0\001
+4 0 0 50 -1 2 20 0.0000 4 195 930 2625 1350 MIPS 1\001
+4 0 0 50 -1 2 20 0.0000 4 195 930 4200 1350 MIPS 2\001
+4 0 0 50 -1 2 20 0.0000 4 195 930 5850 1350 MIPS 3\001
+4 0 0 50 -1 2 20 0.0000 4 195 690 7575 1350 RAM\001
+4 0 0 50 -1 2 20 0.0000 4 195 1740 3600 2625 MicroNetwork\001
+4 0 0 50 -1 2 20 0.0000 4 195 975 7500 3900 TIMER\001
+4 0 0 50 -1 2 20 0.0000 4 195 810 5925 3900 TTY 3\001
+4 0 0 50 -1 2 20 0.0000 4 195 810 4275 3900 TTY 2\001
+4 0 0 50 -1 2 20 0.0000 4 195 810 2700 3900 TTY 1\001
+4 0 0 50 -1 2 20 0.0000 4 195 810 1125 3900 TTY 0\001
Index: branches/with_autoconf/examples/Makefile
===================================================================
--- branches/with_autoconf/examples/Makefile	(revision 7)
+++ branches/with_autoconf/examples/Makefile	(revision 8)
@@ -1,17 +1,493 @@
-# EXAMPLES   
-EXAMPLES = \
-           soclib_date04/timer4_gmn_handmade/ \
-#
-
-# RULES
-main :  
-	@for i in $(EXAMPLES) ; do \
-	  echo "Making \'$$i\'" ; \
-          (cd $$i ; make -f Makefile.casc) ; \
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# examples/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+pkgdatadir = $(datadir)/systemcass
+pkglibdir = $(libdir)/systemcass
+pkgincludedir = $(includedir)/systemcass
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i386-apple-darwin9.3.0
+host_triplet = i386-apple-darwin9.3.0
+target_triplet = i386-apple-darwin9.3.0
+subdir = examples
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /Users/nipo/projects/systemcass-autoconf/missing --run aclocal-1.10
+ALLIANCE_CFLAGS = 
+ALLIANCE_PATH = 
+AMTAR = ${SHELL} /Users/nipo/projects/systemcass-autoconf/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /Users/nipo/projects/systemcass-autoconf/missing --run autoconf
+AUTOHEADER = ${SHELL} /Users/nipo/projects/systemcass-autoconf/missing --run autoheader
+AUTOMAKE = ${SHELL} /Users/nipo/projects/systemcass-autoconf/missing --run automake-1.10
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS =  -I/opt/local/include -I/sw/include
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = /sw/bin/echo
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = 
+GREP = /usr/bin/grep
+INSTALL = /sw/bin/ginstall -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LDFLAGS =  -L/opt/local/lib -L/sw/lib
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /Users/nipo/projects/systemcass-autoconf/missing --run makeinfo
+MKDIR_P = /sw/bin/mkdir -p
+OBJEXT = o
+PACKAGE = systemcass
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = SystemCASS
+PACKAGE_STRING = SystemCASS 1.0.0
+PACKAGE_TARNAME = systemcass
+PACKAGE_VERSION = 1.0.0
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SC_LIB_TARGET = macosx
+SET_MAKE = 
+SHELL = /bin/sh
+SOCLIB_PATH = 
+STRIP = strip
+VERSION = 1.0.0
+abs_builddir = /Users/nipo/projects/systemcass-autoconf/examples
+abs_srcdir = /Users/nipo/projects/systemcass-autoconf/examples
+abs_top_builddir = /Users/nipo/projects/systemcass-autoconf
+abs_top_srcdir = /Users/nipo/projects/systemcass-autoconf
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i386-apple-darwin9.3.0
+build_alias = 
+build_cpu = i386
+build_os = darwin9.3.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+has_bibtex = yes
+has_dvips = yes
+has_fig2dev = yes
+has_latex = yes
+has_ps2pdf = yes
+host = i386-apple-darwin9.3.0
+host_alias = 
+host_cpu = i386
+host_os = darwin9.3.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /Users/nipo/projects/systemcass-autoconf/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = /sw/bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target = i386-apple-darwin9.3.0
+target_alias = 
+target_cpu = i386
+target_os = darwin9.3.0
+target_vendor = apple
+top_builddir = ..
+top_srcdir = ..
+SUBDIRS = soclib_date04
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  examples/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  examples/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
-
-clean :
-	@for i in $(EXAMPLES) ; do \
-	 echo "Cleaning $$i..." ; \
-	 (cd $$i ; make -f Makefile.casc clean) ; \
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(MKDIR_P) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+	install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am check check-am clean clean-generic clean-libtool \
+	ctags ctags-recursive distclean distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: branches/with_autoconf/examples/Makefile.am
===================================================================
--- branches/with_autoconf/examples/Makefile.am	(revision 8)
+++ branches/with_autoconf/examples/Makefile.am	(revision 8)
@@ -0,0 +1,2 @@
+
+SUBDIRS=soclib_date04
Index: branches/with_autoconf/examples/soclib_date04/Makefile.am
===================================================================
--- branches/with_autoconf/examples/soclib_date04/Makefile.am	(revision 8)
+++ branches/with_autoconf/examples/soclib_date04/Makefile.am	(revision 8)
@@ -0,0 +1,2 @@
+
+SUBDIRS=timer4_gmn_handmade
Index: branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile
===================================================================
--- branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile	(revision 7)
+++ 	(revision )
@@ -1,76 +1,0 @@
-#TARGET_ARCH  		= linux
-BFD_LIBERTY     = -lbfd -liberty
-SOCLIB_LIB 		  = $(SOCLIB)/lib/libsoclib.a
-SOCLIB_INCLUDE 	= $(SOCLIB)/include
-#SYSTEMC         = /users/outil/systemc/systemc-2.0.1
-#SYSTEMC         = /dsk/l1/misc/richard/systemc_2_1.oct_12_2004.beta
-#SYSTEMCASS      = /users/cao/buchmann/systemcass/systemcass
-SYSTEMC_INC     = $(SYSTEMC)/include
-SYSTEMCASS_INC  = $(SYSTEMCASS)/include
-SYSTEMC_LIB     = $(SYSTEMC)/lib-$(TARGET_ARCH)/libsystemc.a
-SYSTEMCASS_LIB  = $(SYSTEMCASS)/lib-$(TARGET_ARCH)/libsystemc_$(firstword $(CXX)).a
-
-#CXX         		= g++
-#CXX          		= icc -w1
-CPPFILT     		= c++filt
-#DEBUG           = -g -DDEBUG
-OPT             = -O2 -UENABLE_TRACE -UENABLE_PAT
-#PROF        = -pg # gcc
-#PROF        = -qp # icc
-CFLAGS      = $(PROF) $(DEBUG) $(OPT) -I. -I$(SOCLIB)/include
-LFLAGS      = $(PROF) $(SOCLIB_LIB) $(BFD_LIBERTY) -ldl
-
-CFLAGS_SYSTEMC    = $(CFLAGS) -I$(SYSTEMC_INC)
-CFLAGS_SYSTEMCASS = $(CFLAGS) -I$(SYSTEMCASS_INC) -rdynamic #-Wno-deprecated
-LFLAGS_SYSTEMC    = $(LFLAGS) $(SYSTEMC_LIB)
-LFLAGS_SYSTEMCASS = $(LFLAGS) -rdynamic $(SYSTEMCASS_LIB) 
-
-EXE     = system_systemc.x system_systemcass.x
-OBJECTS = $(EXE:.x=.o)
-LINKS   = $(OBJECTS:.o=.cpp)
-
-.SECONDARY:
-
-main : $(EXE) 
-
-%_systemc.x : %_systemc.o $(SYSTEMC_LIB)
-	$(CXX) -o $@ $*_systemc.o $(LFLAGS_SYSTEMC) 2>&1 | $(CPPFILT)
-
-%_systemcass.x : %_systemcass.o  $(SYSTEMCASS_LIB)
-	$(CXX) -o $@ $*_systemcass.o $(LFLAGS_SYSTEMCASS) 2>&1 | $(CPPFILT)
-
-include Makefile.deps
-
-%_systemc.cpp : %.cpp 
-	ln -s $*.cpp $*_systemc.cpp
-
-%_systemcass.cpp : %.cpp 
-	ln -s $*.cpp $*_systemcass.cpp
-
-%_systemc.o : %_systemc.cpp 
-	$(CXX) $(CFLAGS_SYSTEMC) -MM $*_systemc.cpp >> Makefile.deps
-	$(CXX) $(CFLAGS_SYSTEMC) -c $*_systemc.cpp -o $*_systemc.o
-
-%_systemcass.o : %_systemcass.cpp
-	$(CXX) $(CFLAGS_SYSTEMCASS) -MM $*_systemcass.cpp >> Makefile.deps
-	$(CXX) $(CFLAGS_SYSTEMCASS) -c $*_systemcass.cpp -o $*_systemcass.o
-
-%.gif : %.dot
-	dot -Tgif -o $*.gif $*.dot
-
-view_%.dot : %.gif
-	gqview $*.gif &
-
-
-clean :
-	-echo > Makefile.deps
-	-rm -f *.o gmon.out
-	-rm -f *.txt 
-	-rm -f $(EXE) $(OBJECTS) 
-	-for i in $(LINKS) ; do unlink $$i ; done 2> /dev/null
-	-rm -f core*
-	-rm -f trace_file.vcd
-	-rm -f trace_file.pat
-	-rm -f TTY_* 
-	-rm -rf code-*.cc code-*.so .libs/
-	
Index: branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile.am
===================================================================
--- branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile.am	(revision 8)
+++ branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile.am	(revision 8)
@@ -0,0 +1,11 @@
+
+if HAS_SOCLIB
+soclib_based_programs=timer4_gmn_handmade
+else
+soclib_based_programs=
+endif
+
+bin_PROGRAMS = $(soclib_based_programs)
+timer4_gmn_handmade_SOURCES = system.cpp chrono.h
+timer4_gmn_handmade_LDADD = $(top_builddir)/src/libsystemc.la -L$(SOCLIB_PATH)/lib -lsoclib
+timer4_gmn_handmade_CXXFLAGS = -I$(top_srcdir)/src -I$(SOCLIB_PATH)/include
Index: branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile.casc
===================================================================
--- branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile.casc	(revision 7)
+++ 	(revision )
@@ -1,5 +1,0 @@
-main :
-	make system_systemcass.x
-
-clean : 
-	make clean
Index: branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile.deps
===================================================================
--- branches/with_autoconf/examples/soclib_date04/timer4_gmn_handmade/Makefile.deps	(revision 7)
+++ 	(revision )
@@ -1,1 +1,0 @@
-
Index: branches/with_autoconf/src/Makefile
===================================================================
--- branches/with_autoconf/src/Makefile	(revision 7)
+++ 	(revision )
@@ -1,392 +1,0 @@
-# /*------------------------------------------------------------\
-# |                                                             |
-# | Tool   :                   systemcass                       |
-# |                                                             |
-# | File   :                    Makefile                        |
-# |                                                             |
-# | Author :                                                    |
-# |                                                             |
-# | Date    :                  08_07_2004                       |
-# |                                                             |
-# \------------------------------------------------------------*/
-ifndef SYSTEMCASS
-$(error SYSTEMCASS is not defined. This variable has to be defined to install \
-SystemCASS and to run any system built with.)
-endif
-#ifndef SOCVIEW
-#$(error SOCVIEW is not defined.)
-#endif
-#################################
-#
-# SYSTEMC
-#
-#################################
-
-TARGET_ARCH     =$(shell ./guess_os.sh)
-TARGET_OS       =${TARGET_ARCH}
-TARGET_PLATFORM =$(shell uname -p)# -i doesn't work on MACOSX
-TARGET_KERNEL   =$(shell uname -s | tr '[A-Z]' '[a-z]')
-
-include Options.def
-
-##################################
-#### DIRECTORIES
-##################################
-#CURRENT_DIR           = $(shell pwd)
-#SYSTEMCASS_INSTALLDIR = ${CURRENT_DIR}/${TARGET_PLATFORM}-${TARGET_OS}
-SYSTEMCASS_INSTALLDIR = ${SYSTEMCASS}
-SYSTEMCASS_INCLUDEDIR = ${SYSTEMCASS_INSTALLDIR}/include
-SYSTEMCASS_LIBDIR     = ${SYSTEMCASS_INSTALLDIR}/lib
-SYSTEMCASS_DOCDIR     = ${SYSTEMCASS_INSTALLDIR}/docs
-
-INSTALLDIR_OK = $(shell (test -d ${SYSTEMCASS_INSTALLDIR}/) ; echo $$?)
-ifneq (${INSTALLDIR_OK},0)
-$(shell (mkdir ${SYSTEMCASS_INSTALLDIR}/))
-endif
-
-INCLUDEDIR_OK = $(shell (test -d ${SYSTEMCASS_INCLUDEDIR}/) ; echo $$?)
-ifneq (${INCLUDEDIR_OK},0)
-$(shell (mkdir ${SYSTEMCASS_INCLUDEDIR}))
-endif
-
-DOCDIR_OK = $(shell (test -d ${SYSTEMCASS_DOCDIR}/) ; echo $$?)
-ifneq (${DOCDIR_OK},0)
-$(shell (mkdir ${SYSTEMCASS_DOCDIR}))
-endif
-
-##################################
-#### FLAGS
-##################################
-#SYSTEMC  = /users/outil/systemc/systemcass/systemcass/latest
-#SYSTEMCASS  = $(SYSTEMC)/latest
-#ALLIANCE    = /asim/alliance
-
-PROF_ARG     = -pg # gcc
-#PROF_ARG     = -qp # icc
-OPT         = -O2 -DCFLAGS="\"-O2 \"" $(NETLIST_DEBUGGING) $(SCHEDULING_OPTIONS) $(OTHERS)
-DEBUG       = -g  -DCFLAGS="\"-g \"" $(NETLIST_DEBUGGING-d) $(SCHEDULING_OPTIONS-d) $(OTHERS-d) -Wunused -Werror
-PROF        = -O2 ${PROF_ARG} -DCFLAGS="\"-O2 ${PROF_ARG} \"" $(NETLIST_DEBUGGING) $(SCHEDULING_OPTIONS) $(OTHERS)
-
-#-Wall disable using icc instead of g++
-
-#CXX         = g++
-#CXX         = icc -w1
-CFLAGS      = -I./internal_include        \
-              -I${SYSTEMCASS_INCLUDEDIR}  \
-              -I${ALLIANCE}/include       \
-              -ansi                       \
-              -pedantic                   \
-              -Wno-long-long              \
-              -D${TARGET_PLATFORM}        \
-              -D${TARGET_KERNEL}          \
-              -Wunused-function  # to clean up the code \
-
-#-D${TARGET_ARCH}  # disabled because that macro name gets error messages
-
-LDFLAGS     = -L.                     \
-              -L${SYSTEMCASS}/lib-${TARGET_PLATFORM}-${TARGET_OS} \
-              -L${ALLIANCE}/lib       \
-
-##################################
-## DOCUMENTATION
-##################################
-
-FIGURES     = figures/SystemeType.fig \
-              figures/Automate.fig
-
-tex_files   = SystemCASS.tex
-pdf_files   = $(tex_files:.tex=.pdf)
-ps_files    = $(tex_files:.tex=.ps)
-eps_figures = $(FIGURES:.fig=.eps)
-dvi_files   = $(tex_files:.tex=.dvi)
-log_files   = $(tex_files:.tex=.log)
-aux_files   = $(tex_files:.tex=.aux)
-out_files   = $(tex_files:.tex=.out)
-blg_files   = $(tex_files:.tex=.blg)
-bbl_files   = $(tex_files:.tex=.bbl)
-
-DOCS        = \
-              ${SYSTEMCASS_DOCDIR}/SystemCASS.ps  \
-              ${SYSTEMCASS_DOCDIR}/SystemCASS.pdf \
-              ${SYSTEMCASS_DOCDIR}/How-to-Use.txt
-
-##################################
-## OBJECTS
-##################################
-OBJECTS     = \
-		alias.o \
-		bit2string.o \
-    dump_dot.o \
-    dump_used_env.o \
-    dump_used_options.o \
-		entity.o   \
-    gen_code.o \
-    global_functions.o \
-		graph.o \
-		graph_cass.o \
-		graph_signals.o \
-		hex2string.o \
-    methodprocess_dependency.o \
-    module_hierarchy.o \
-    module_hierarchy2dot.o \
-    mouchard_scheduling.o \
-    port_dependency.o \
-    process_dependency.o \
-    sc_clock.o            \
-		sc_event.o \
-		sc_event_finder.o \
-		sc_interface.o \
-		sc_logic.o \
-    sc_main.o \
-    sc_module.o \
-		sc_numrep.o \
-		sc_object.o \
-		sc_pat_trace.o \
-    sc_port.o \
-    sc_sensitive.o \
-    sc_time.o \
-		sc_trace.o \
-		sc_uint_subref_r.o \
-    sc_vcd_trace.o \
-    sc_ver.o \
-    schedulers.o \
-    serialization.o \
-    signal_dependency.o \
-    simplify_string.o \
-
-
-OBJECTS-d   = $(OBJECTS:.o=-d.o)
-OBJECTS-prof= $(OBJECTS:.o=-prof.o)
-
-##################################
-## LIBRARIES
-##################################
-SYSTEMCASS_LIB        = ${SYSTEMCASS_LIBDIR}/libsystemc_$(firstword $(CXX)).a
-SYSTEMCASS-d_LIB      = ${SYSTEMCASS_LIBDIR}/libsystemc_$(firstword $(CXX))-d.a
-SYSTEMCASS-prof_LIB   = ${SYSTEMCASS_LIBDIR}/libsystemc_$(firstword $(CXX))-prof.a
-
-## PAT trace output is enable when ALLIANCE is defined
-EXT_TMP_DIR = $(if ${ALLIANCE}, \
-              libPgn.temp       \
-              libMut.temp       \
-              libPpt.temp       \
-              libPat.temp       \
-              )
-
-EXT_OBJ     = $(EXT_TMP_DIR:.temp=.temp/*.o)
-
-##################################
-## SOURCES
-##################################
-LINKS       = $(OBJECTS-d:.o=.cc) $(OBJECTS-prof:.o=.cc)
-
-EXTERNAL_INCLUDES = \
-              ${SYSTEMCASS_INCLUDEDIR}/systemc \
-              ${SYSTEMCASS_INCLUDEDIR}/systemc.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_fwd.h\
-              ${SYSTEMCASS_INCLUDEDIR}/global_functions.h \
-              ${SYSTEMCASS_INCLUDEDIR}/serialization_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_time.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_nbdefs.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_ver_ext.h\
-              ${SYSTEMCASS_INCLUDEDIR}/systemcass_version_ext.h\
-              ${SYSTEMCASS_INCLUDEDIR}/sc_module_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/module_hierarchy_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_module_name.h \
-              ${SYSTEMCASS_INCLUDEDIR}/internal_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/casc.h \
-              ${SYSTEMCASS_INCLUDEDIR}/fsm_rules.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_object.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_sensitive.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_event.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_interface.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_port_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_event_finder.h \
-              ${SYSTEMCASS_INCLUDEDIR}/port_dependency_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_signal.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_clock_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_unit.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_bit.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_logic.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_bv.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_unsigned.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_signed.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_uint.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_numrep.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_string.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_int.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_lv.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_biguint.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_bigint.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_trace_ext.h \
-              ${SYSTEMCASS_INCLUDEDIR}/alias.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_localvar.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_vcd_trace.h \
-              ${SYSTEMCASS_INCLUDEDIR}/sc_pat_trace.h \
-              ${SYSTEMCASS_INCLUDEDIR}/endianness.h \
-              ${SYSTEMCASS_INCLUDEDIR}/data_field.h \
-
-##################################
-## RULES  
-##################################
-.SECONDARY:
-.PHONY: help figures debug opt prof docs path all clean realclean
-
-##########
-#### RULES
-help :
-	@echo "rules         Description"
-	@echo "---------     ------------------------------"
-	@echo "debug         Create debug library"
-	@echo "opt           Create optimized library"
-	@echo "prof          Create a library for profiling"
-	@echo "docs          Create PDF documentation"
-	@echo "path          Print the path to libraries, documentation..."
-	@echo "all           Create all the libraries and documentation files"
-	@echo "clean         Delete temporary files"
-	@echo "realclean     Delete libraries,  documentation files and temporary files."
-
-#@echo "nolib         Compile only source files and don't generate any library" => this rules is not possible because we need to overwrite external includes
-
-path :
-	@echo "debug library : ${SYSTEMCASS_LIB}"
-	@echo "optimized library : ${SYSTEMCASS-d_LIB}"
-	@echo "profiling library : ${SYSTEMCASS-prof_LIB}"
-	@echo "PDF documentation : ${SYSTEMCASS_DOCDIR}"
-
-all : debug opt prof
-	@echo Type make docs
-
-opt : ${EXTERNAL_INCLUDES} systemcass
-
-debug : ${EXTERNAL_INCLUDES} systemcass-d
-
-prof : ${EXTERNAL_INCLUDES} systemcass-prof
-
-cvs : recent_changes
-	gvim recent_changes &
-	cvs ci
-
-mark :
-	make clean	
-	echo -n '#define SYSTEMC_VERSION "SystemCASS : ' > systemcass_version_ext.h
-	date | head -c 28 >> systemcass_version_ext.h
-	echo '"' >> systemcass_version_ext.h
-
-recent_changes : ${SYSTEMCASS_LIB} ${SYSTEMCASS-d_LIB} mark
-	-cvs diff > recent_changes
-
-docs : ${DOCS}
-
-includes : ${EXTERNAL_INCLUDES}
-
-###########################
-#### EXPORTING FILES
-${SYSTEMCASS_INCLUDEDIR}/%.h: %.h
-	cp $*.h ${SYSTEMCASS_INCLUDEDIR}/$*.h
-
-${SYSTEMCASS_INCLUDEDIR}/systemc: systemc
-	cp $< $@
-
-${SYSTEMCASS_DOCDIR}/%.pdf: %.pdf
-	cp $*.pdf ${SYSTEMCASS_DOCDIR}/$*.pdf
-
-${SYSTEMCASS_DOCDIR}/%.ps: %.ps
-	cp $*.ps ${SYSTEMCASS_DOCDIR}/$*.ps
-
-${SYSTEMCASS_DOCDIR}/%.txt: %.txt
-	cp $*.txt ${SYSTEMCASS_DOCDIR}/$*.txt
-
-########################
-#### COMPILING & LINKING
-systemcass: ${SYSTEMCASS_LIB}
-
-systemcass-d: ${SYSTEMCASS-d_LIB}
-
-systemcass-prof: ${SYSTEMCASS-prof_LIB}
-
-${SYSTEMCASS_LIB} : $(OBJECTS) ${EXT_OBJ}
-	mkdir -p ${SYSTEMCASS_LIBDIR}
-	ar -rv ${SYSTEMCASS_LIB} $(OBJECTS) $(EXT_OBJ)
-	ranlib ${SYSTEMCASS_LIB}
-
-${SYSTEMCASS-d_LIB}: $(OBJECTS-d) ${EXT_OBJ}
-	mkdir -p ${SYSTEMCASS_LIBDIR}
-	ar -rv ${SYSTEMCASS-d_LIB} $(OBJECTS-d) $(EXT_OBJ)
-	ranlib ${SYSTEMCASS-d_LIB}
-
-${SYSTEMCASS-prof_LIB}: $(OBJECTS-prof) ${EXT_OBJ}
-	mkdir -p ${SYSTEMCASS_LIBDIR}
-	ar -rv ${SYSTEMCASS-prof_LIB} $(OBJECTS-prof) $(EXT_OBJ)
-	ranlib ${SYSTEMCASS-prof_LIB}
-
-%-d.cc : %.cc
-	ln -s $*.cc $*-d.cc
-
-%-prof.cc : %.cc
-	ln -s $*.cc $*-prof.cc
-
-%-d.o : %-d.cc
-	$(CXX) $(CFLAGS) -MM $*-d.cc >> Makefile.deps
-	$(CXX) $(CFLAGS) $(DEBUG) -c $< -o $@
-
-%-prof.o : %-prof.cc
-	$(CXX) $(CFLAGS) -MM $*-prof.cc >> Makefile.deps
-	$(CXX) $(CFLAGS) $(PROF) -c $< -o $@
-
-%.o : %.cc 
-	$(CXX) $(CFLAGS) -MM $*.cc >> Makefile.deps
-	$(CXX) $(CFLAGS) $(OPT) -c $< -o $@
-
-lib%.temp/*.o : ${ALLIANCE}/lib/lib%.a
-	(mkdir lib$*.temp ; cd lib$*.temp ; ar -x ${ALLIANCE}/lib/lib$*.a)
-
-guess_endianness.x : guess_endianness.cc
-	${CXX} -o guess_endianness.x guess_endianness.cc
-
-${SYSTEMCASS_INCLUDEDIR}/endianness.h : guess_endianness.x
-	./guess_endianness.x > ${SYSTEMCASS_INCLUDEDIR}/endianness.h
-
--include Makefile.deps
-
-##################
-#### DOCUMENTATION
-%.dvi : %.tex
-
-%.pdf : %.ps
-	ps2pdf $*.ps	
-
-%.ps: %.dvi
-	dvips -o $*.ps $*.dvi                                                                                
-%.dvi %.bbl : %.tex %.bib $(eps_figures)
-	latex $*.tex
-	bibtex $*
-	latex $*.tex
-	latex $*.tex
-
-figures : $(eps_figures)
-	@echo OK
-
-%.eps : %.fig
-	fig2dev -L eps $*.fig $*.eps
-
-##################
-#### CLEANING
-clean :
-	rm -f Makefile.deps
-	rm -f *~
-	rm -f $(OBJECTS)
-	rm -f $(OBJECTS-d)
-	rm -f $(OBJECTS-prof)
-	rm -rf $(EXT_TMP_DIR)
-	-for i in $(LINKS) ; do unlink $$i ; done 2> /dev/null
-	rm -f $(eps_figures)
-	rm -f $(dvi_files) $(log_files) 
-	rm -f $(out_files) $(aux_files) $(blg_files) $(bbl_files)
-	rm -f $(pdf_files) $(ps_files)
-
-realclean: clean
-	rm -f ${EXTERNAL_INCLUDES}
-	rm -rf ${SYSTEMCASS_LIBDIR}
-	rm -f ${SYSTEMCASS_LIB} ${SYSTEMCASS-d_LIB} ${SYSTEMCASS-prof_LIB}
-	#rm -f $(DOCS) # DONT do it. ${DOCS} includes txt files...
Index: branches/with_autoconf/src/Makefile.am
===================================================================
--- branches/with_autoconf/src/Makefile.am	(revision 8)
+++ branches/with_autoconf/src/Makefile.am	(revision 8)
@@ -0,0 +1,58 @@
+sclibdir=$(prefix)/lib-@SC_LIB_TARGET@
+
+sclib_LTLIBRARIES = libsystemc.la
+
+libsystemc_objects= alias.o bit2string.o dump_dot.o dump_used_env.o		\
+dump_used_options.o entity.o global_functions.o graph.o graph_cass.o	\
+graph_signals.o hex2string.o methodprocess_dependency.o					\
+module_hierarchy.o module_hierarchy2dot.o mouchard_scheduling.o			\
+port_dependency.o process_dependency.o sc_clock.o sc_event.o			\
+sc_event_finder.o sc_interface.o sc_main.o sc_module.o sc_numrep.o		\
+sc_object.o sc_pat_trace.o sc_port.o sc_sensitive.o sc_time.o			\
+sc_trace.o sc_uint_subref_r.o sc_vcd_trace.o sc_ver.o schedulers.o		\
+serialization.o signal_dependency.o simplify_string.o
+# sc_logic.o
+
+libsystemc_headers= graph_cass.h sc_biguint.h sc_nbdefs.h				\
+sc_unsigned.h alias.h sc_bit.h graph_signals.h sc_bv.h sc_numrep.h		\
+sc_vcd_trace.h bit2string.h sc_clock.h sc_object.h sc_ver.h casc.h		\
+hex2string.h sc_clock_ext.h sc_ver_ext.h data_field.h internal.h		\
+sc_pat_trace.h internal_ext.h sc_event.h schedulers.h dump_dot.h		\
+sc_port.h methodprocess_dependency.h sc_event_finder.h sc_port_ext.h	\
+serialization.h dump_used_env.h sc_fwd.h serialization_ext.h			\
+module_hierarchy.h sc_int.h sc_sensitive.h dump_used_options.h			\
+sc_signal.h signal_dependency.h module_hierarchy2dot.h sc_interface.h	\
+sc_signed.h entity.h module_hierarchy_ext.h sc_localvar.h sc_string.h	\
+simplify_string.h fsm_rules.h systemc mouchard_scheduling.h sc_logic.h	\
+sc_time.h systemc.h gen_code.h sc_lv.h systemcass_version_ext.h			\
+port_dependency.h sc_trace.h usage.h global_functions.h					\
+port_dependency_ext.h sc_trace_ext.h utils.h sc_module.h sc_uint.h		\
+graph.h process_dependency.h sc_module_ext.h sc_bigint.h				\
+sc_module_name.h sc_unit.h
+
+libsystemc_la_SOURCES = $(libsystemc_objects:.o=.cc) $(libsystemc_headers)
+
+if WITH_ALLIANCE
+ALLIANCE_LIBS= -L$(ALLIANCE_PATH)/lib -lMut -lPat -lPpt -lPgn
+endif
+
+libsystemc_la_LIBADD = libgen_code.la $(ALLIANCE_LIBS)
+libsystemc_la_CXXFLAGS = @ALLIANCE_CFLAGS@ $(CXXFLAGS)
+
+noinst_LTLIBRARIES =  libgen_code.la
+libgen_code_la_SOURCES = gen_code.cc
+libgen_code_la_CXXFLAGS=-DGENERATED_MODULE_CFLAGS='"$(CXXFLAGS) -I$(prefix)/include"' $(CXXFLAGS)
+
+include_HEADERS = systemc sc_fwd.h global_functions.h sc_time.h			\
+  sc_nbdefs.h sc_ver_ext.h systemcass_version_ext.h sc_module_name.h	\
+  sc_module_ext.h internal_ext.h casc.h sc_object.h sc_sensitive.h		\
+  serialization_ext.h module_hierarchy_ext.h sc_port_ext.h sc_event.h	\
+  sc_interface.h port_dependency_ext.h fsm_rules.h sc_signal.h			\
+  sc_clock_ext.h sc_unit.h sc_bit.h sc_nbdefs.h sc_fwd.h sc_logic.h		\
+  sc_nbdefs.h sc_fwd.h sc_string.h sc_numrep.h sc_string.h sc_bv.h		\
+  sc_nbdefs.h sc_logic.h sc_unsigned.h sc_nbdefs.h sc_logic.h			\
+  sc_signed.h sc_uint.h data_field.h sc_nbdefs.h sc_int.h sc_nbdefs.h	\
+  sc_lv.h sc_nbdefs.h sc_logic.h sc_unsigned.h sc_signed.h sc_uint.h	\
+  sc_int.h sc_biguint.h sc_nbdefs.h sc_bigint.h sc_nbdefs.h				\
+  sc_trace_ext.h alias.h sc_localvar.h sc_vcd_trace.h sc_pat_trace.h    \
+  systemc.h
Index: branches/with_autoconf/src/Options.def
===================================================================
--- branches/with_autoconf/src/Options.def	(revision 7)
+++ 	(revision )
@@ -1,99 +1,0 @@
-##################################
-#### MACRO DEFINTIONS AVAILABLE
-##################################
-
-#
-# -U to disable
-# -D to enable
-#
-
-ifdef ALLIANCE
-ALLIANCE_OK = $(shell (test -d ${ALLIANCE}) ; echo $$?)
-ifneq (${ALLIANCE_OK},0)
-$(warning "ALLIANCE directory is not valid. So, PAT file format is not supported.")
-ALLIANCE=
-endif
-endif
-
-ALLIANCE_DEF=$(if ${ALLIANCE},-DPAT_TRACE_FORMAT,-UPAT_TRACE_FORMAT)
-
-
-# ### FOR LIBRARY (OPT)
-#
-# netlist debugging
-#
-
-NETLIST_DEBUGGING = \
-  -UDUMP_NETLIST_INFO                \
-  -UDUMP_SIGNAL_STATS                \
-  -UDUMP_FUNCLIST_INFO               \
-  ${ALLIANCE_DEF}                    \
-#
-
-#
-# scheduling options
-#
-
-SCHEDULING_OPTIONS = \
-  -UUSE_PORT_DEPENDENCY  \
-  -UDUMP_PORT_DEPENDENCY \
-  -UDUMP_SCHEDULE_STATS  \
-  -UNO_STATIC_SCHEDULE   \
-  -UKEEP_GENERATED_CODE  \
-  -UDUMP_COMBINATIONAL_LIST2DOT \
-  -UPRINT_SCHEDULE       \
-
-#
-# others
-#
-
-OTHERS = \
-  -UDUMP_STAGE            \
-  -UCHECK_FSM_RULES       \
-  -UCOMPIL_DEBUG          \
-  -UDEBUG                 \
-  -UUINT64                \
-  -DINIT_SIGNALS_TO_ZERO  \
-#  -UCHECK_MULTIWRITING2PORT      \
-#  -UCHECK_MULTIWRITING2REGISTER  \
-
-#
-# ### FOR LIBRARY (DEBUG)
-#
-
-NETLIST_DEBUGGING-d = \
-  -UDUMP_NETLIST_INFO                \
-  -UDUMP_SIGNAL_STATS                \
-  -UDUMP_FUNCLIST_INFO               \
-  ${ALLIANCE_DEF}                    \
-#
-
-SCHEDULING_OPTIONS-d= \
-  -UUSE_PORT_DEPENDENCY  \
-  -DDUMP_PORT_DEPENDENCY \
-  -UDUMP_SCHEDULE_STATS  \
-  -UNO_STATIC_SCHEDULE   \
-  -DKEEP_GENERATED_CODE  \
-  -UDUMP_COMBINATIONAL_LIST2DOT \
-  -UPRINT_SCHEDULE       \
-
-OTHERS-d = \
-  -UDUMP_STAGE            \
-  -DCHECK_FSM_RULES       \
-  -DCOMPIL_DEBUG          \
-  -DDEBUG                 \
-  -UUINT64                \
-  -DINIT_SIGNALS_TO_ZERO  \
-  -DCHECK_MULTIWRITING2PORT     \
-  -DCHECK_MULTIWRITING2REGISTER \
-
-# bug in UINT64 to fix
-
-#
-# ### FOR USERS
-#
-
-USERS_OPTIONS = \
-  -UCHECK_FSM_RULES        \
-  -UDUMP_READ -UDUMP_WRITE \
-
Index: branches/with_autoconf/src/SystemCASS.bib
===================================================================
--- branches/with_autoconf/src/SystemCASS.bib	(revision 7)
+++ 	(revision )
@@ -1,544 +1,0 @@
-@inproceedings{ panda01systemc,
-    author = "Preeti Ranjan Panda",
-    title = "SystemC",
-    booktitle = "{ISSS}",
-    pages = "75-80",
-    year = "2001",
-    url = "citeseer.nj.nec.com/panda01systemc.html" }
-
-@inproceedings{ french95general,
-  author = "Robert S. French and Monica S. Lam and Jeremy R. Levitt and Kunle Olukotun", title = "A General Method for Compiling Event-Driven Simulations", 
-  booktitle = "Design Automation Conference", 
-  pages = "151-156", 
-  year = "1995", 
-  url = "citeseer.nj.nec.com/french95general.html" }
-
-@article{ badros00javaml, author = "Greg J. Badros", title = "Java{ML}: a markup language for {Java} source code", journal = "Computer Networks (Amsterdam, Netherlands: 1999)", volume = "33", number = "1--6", pages = "159--177", year = "2000", url = "citeseer.nj.nec.com/badros00javaml.html" }
-
-@inproceedings{ eventvsstatic, 
-	author       = "Buchmann Richard and Petrot Frederic and Greiner Alain",
-	title        = "Pilotage evenementiel versus ordonnancement statique",
-	organization = "ASIM/LIP6/UPMC",
-	booktitle    = "{Troisième colloque du GDR CAO de circuits et systèmes integres, Paris, France}",
-  year         = "2002",
-	pages        = "151-154",
-	date         = "Mai 2002" }
-
-@INPROCEEDINGS{simu97-3,
-   author       = "Frederic Petrot and Denis Hommais and Alain Greiner",
-   title        = "Cycle Precise Core Based Hardware/Software System
-                   Simulation with Predictable Event Propagation",
-   organization = "ASIM/LIP6/UPMC",
-   booktitle    = "Proceeding of the $23^{\mathrm{rd}}$ Euromicro Conference",
-   address      = "Budapest, Hungary",
-   pages        = "182--187",
-   publisher    = "IEEE",
-   month        = sep,
-   year         = 1997 
-}  
-
-@article{ chang01fast,
-    author = "Felix Sheng-Ho Chang and Alan J. Hu",
-    title = "Fast Specification of Cycle-Accurate Processor Models",
-    booktitle = "Proc. International Conf. Computer Design ({ICCD})",
-    publisher = "IEEE Computer Society Press",
-    pages = "488--492",
-    year = "2001",
-    url = "citeseer.nj.nec.com/chang01fast.html" }
-
-@manual{program_transform,
-	title = "The Program Transformation Wiki",
-	note  = "http://www.program-transformation.org"}
-
-@misc{olmos-visser, 
-	author = "Karina Olmos and Eelco Visser",
-	title = "Strategies for Source-to-Source Constant Propagation",
-	year = "2002",
-	url = "citeseer.nj.nec.com/olmos02constant.html" }
-
-@manual{systemc_osci,
-	title = "OSCI",
-	note  = "http://www.systemc.org"}
-
-@manual{GCCXML,
-	title = "GCC\_XML",
-	note  = "http://www.gccxml.org"}
-
-@misc{for-lukai, 
-        author = "Mar Center For", 
-        title = "Lukai Cai and Daniel Gajski", 
-	url = "citeseer.nj.nec.com/561051.html" }
-
-@manual{SystemC-2.0.1-LRM,
-	title = "SystemC 2.0.1 Language Reference Manual",
-        author = "OSCI", 
-        year = "2003",
-	note  = "http://www.systemc.org"}
-
-@INPROCEEDINGS{TLM-SoC-SC2.0,
-	Author = "Sudeep Pasricha", 
-	organization = "STMicrolectronics",
-	title      = "Transaction level modeling of SoC with SystemC 2.0",
-	year     = "2002"
-}
-
-@INPROCEEDINGS{Empirical-Study-SC,
-	Author       = "Ando Ki", 
-	organization = "R\&D Center,Dynalith Systems, Korea",
-	title        = "Internal Report",
-	booktitle    = "Empirical Study of SystemC",
-	year         = "2003",
-	url          = "http://www.dynalith.com"
-}
-
-@misc{SOCLIB,
-	Author = "SoCLIB", 
-	title      = "A modelisation \& simulation plat-form for system on
-chip",
-	year     = "2003",
-	note = "http://soclib.lip6.fr"
-}
-
-@misc{DISYDENT,
-	author = "LIP6",
-	title = "Digital System Design Environment",
-	note = "http://www-asim.lip6.fr/recherche/disydent"
-}
-
-@manual{vci_specifications,
-	title = "Virtual Component Interface Standard",
-	note  = "http://www.vsi.org"}
-
-@inproceedings{ date04-mouchard,
-                author = "Daniel Gracia Perez and Gilles Mouchard and Olivier Temam",
-                title  = "A New Optimized Implemention of the SystemC Engine Using Acyclic Scheduling",
-                booktitle    = "Design, Automation and Test in Europe Conference and Exhibition Volume I (DATE'04)",
-                year         = "2004",
-                address      = "Paris, France",
-                organization = "ALCHEMY INRIA Futurs \& LRI, Paris South University",
-                publisher    = "IEEE",
-                pages        =  "10552" }
-
-@misc{ bjrklund02language,
-  author = "D. Bjrklund and J. Lilius",
-  title = "A language for multiple models of computation",
-  text = "Dag Bjrklund and Johan Lilius. A language for multiple models of
-computation.
-    In Symposium on Hardware/Software Codesign 2002. ACM, 2002.",
-  year = "2002",
-  url = "citeseer.ist.psu.edu/bjrklund02language.html" }
-
-@inproceedings{989013,
- author = {Hiren D. Patel and Sandeep K. Shukla},
- title = {Towards a heterogeneous simulation kernel for system level models: a SystemC kernel for synchronous data flow models},
- booktitle = {GLSVLSI '04: Proceedings of the 14th ACM Great Lakes symposium on VLSI},
- year = {2004},
- isbn = {1-58113-853-9},
- pages = {248--253},
- location = {Boston, MA, USA},
- doi = {http://doi.acm.org/10.1145/988952.989013},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- }
-
-@inproceedings{74398,
- author = {Z. Wang and P. M. Maurer},
- title = {Scheduling high-level blocks for functional simulation},
- booktitle = {DAC '89: Proceedings of the 26th ACM/IEEE conference on Design automation},
- year = {1989},
- isbn = {0-89791-310-8},
- pages = {87--90},
- location = {Las Vegas, Nevada, United States},
- doi = {http://doi.acm.org/10.1145/74382.74398},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- }
-
-@inproceedings{217522,
- author = {Robert S. French and Monica S. Lam and Jeremy R. Levitt and Kunle Olukotun},
- title = {A general method for compiling event-driven simulations},
- booktitle = {DAC '95: Proceedings of the 32nd ACM/IEEE conference on Design automation},
- year = {1995},
- isbn = {0-89791-725-1},
- pages = {151--156},
- location = {San Francisco, California, United States},
- doi = {http://doi.acm.org/10.1145/217474.217522},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- }
-
-@inproceedings{kahn3,
- author = {G. Kahn},
- title = {The Semantics of a simple language for parallel programming},
- booktitle = {IFIP Congress : Information Processing},
- year = {1974},
- publisher = {North-Holland Publishing Co.},
- }
-
-@manual{VSIAAD,
-	title = "VSIA Architecture Document",
-        author = "VSI Alliance", 
-        year = "1997",
-	note  = "http://www.vsia.org"}
-
-@inproceedings{ludo99,
- author = { Jacomme Ludovic, Pétrot Frédéric, Bawa Rajesh K. },
- title = {Formal Analysis of Single Wait VHDL processes for Semantic Based Synthesis},
- booktitle = {12th IEEE International Conference on VLSI Design},
- year = {1999},
- location = {Goa, India},
- pages = {151-156}}
-
-@inproceedings{ iceec04-buch,
-  author = "R. Buchmann and F. Petrot and A. Greiner",
-  title  = "Fast Cycle Accurate Simulator to simulate Event-Driven Behavior",
-  booktitle    = "Proceeding of The 2004 International Conference on Electrical, Electronic and Computer Engineering (ICEEC'04)",
-  year         = "2004",
-  address      = "Cairo, Egypt",
-  organization = "ASIM/LIP6/UPMC",
-  publisher    = "IEEE",
-  pages        =  "35-39" }
-
-@phdthesis{hommais,
-  author= {Hommais Denis},
-  title= {Une méthode d'évaluation et de synthèse des communications dans les systèmes intégrés matériel-logiciel},
-  year = {2001},
-  organization = "ASIM/LIP6/UPMC",
-  location = {Paris, France}
-}
-
-@phdthesis{jacomme,
-  author= {Jacomme Ludovic},
-  title = {Analyse sémantique de descriptions VHDL synchrones en vue de la
-synthèse},
-  year = {1999},
-  organization = "ASIM/LIP6/UPMC",
-  location = {Paris, France}
-}
-
-@book{mips_goodman,
-  title = {A programmer's view of computer architecture: with examples from the
-MIPS RISC architecture},
-  author = {James Goodman},
-  edition = {Fort Worth: Saunders College Pub.},
-  year = {1992},
-  isbn = {0030972213}
-}
-
-@book{mips_gerry,
-  title = {MIPS RISC architecture},
-  author = {Gerry Kane},
-  publisher = {Englewood Cliffs, NJ : Prentice-Hall},
-  year = {1988},
-  isbn = {0135847494}
-}
-
-@inproceedings{webmips,
-  title="WebMIPS: A New Web-Based MIPS Simulation Environment for Computer
-Architecture Education",
-  author = {Irina Branovic, Roberto Giorgi, Enrico Martinelli},
-  organization = {University of Siena, Italy}
-}
-
- 
-@inproceedings{early_pipeline,
-  title="Fast Cycle-accurate Behavioral Simulation for Pipelined Processors
-Using Early Pipeline Evaluation",
-  booktitle= "Proceedings of ICCAD'03 conference",
-  author = {In-Cheol Park, Sehyeon Kang, Yongseok Yi},
-  year = "2003", 
-  address = {San Jose, California USA} 
-}
-
-@misc{visual_fastc,
-  title = "Visual Elite FastC",
-  organization = "Summit Design Inc."
-}
-
-@article{mealy,
-  title = "A method for synthesizing sequential circuits",
-  author= "G. Mealy",
-  booktitle="Bell System Technical J. 34",
-  year  = "1955",
-  pages = "1045-1079"
-}
-
-@article{moore,
-  author = "E. Moore",
-  title  = "Gedanken experiments on sequential machines",
-  booktitle = "Automata Studies",
-  edition = "C. Shannon et J. McCarthy",
-  publisher = "Princeton University Press",
-  address = "Princeton, New Jersey",
-  year = "1956",
-  pages = "129-153"
-}
-
-@article{rabin,
-  author = "M. Perles, M. Rabin et E. Shamir",
-  title = "The theory of definite automata",
-  publisher = "IEEE.",
-  booktitle = "Trans. Electron. Comput. 12",
-  year = "1963",
-  pages = "233-243"
-}
-
-@article{rabin2,
-  author = "M. O. Rabin et D. Scott",
-  title  = "Sequential Machines",
-  edition = "E. F. Moore",
-  publisher = "Addison-Wesley",
-  address   = "Massachussetts",
-  year = "1964",
-  pages = "63-91"
-}
-
-@article{358613,
- author = {K. M. Chandy and J. Misra},
- title = {Asynchronous distributed simulation via a sequence of parallel
-computations},
- journal = {Commun. ACM},
- volume = {24},
- number = {4},
- year = {1981},
- issn = {0001-0782},
- pages = {198--206},
- doi = {http://doi.acm.org/10.1145/358598.358613},
- publisher = {ACM Press},
- address = {New York, NY, USA}
-}
-
-
-@inproceedings{37915,
- author = {S. P. Smith and M. R. Mercer and B. Brodk},
- title = {Demand driven simulation: BACKSIM},
- booktitle = {DAC '87: Proceedings of the 24th ACM/IEEE conference on Design
-automation},
- year = {1987},
- isbn = {0-8186-0781-5},
- pages = {181--187},
- location = {Miami Beach, Florida, United States},
- doi = {http://doi.acm.org/10.1145/37888.37915},
- publisher = {ACM Press},
- address = {New York, NY, USA}
- }
-
-@inproceedings{123349,
- author = {Zhicheng Wang and Peter M. Maurer},
- title = {LECSIM: a levelized event driven compiled logic simulation},
- booktitle = {DAC '90: Proceedings of the 27th ACM/IEEE conference on Design
-automation},
- year = {1990},
- isbn = {0-89791-363-9},
- pages = {491--496},
- location = {Orlando, Florida, United States},
- doi = {http://doi.acm.org/10.1145/123186.123349},
- publisher = {ACM Press},
- address = {New York, NY, USA}
- }
-
-@inproceedings{hadamard,
-  title = {Design of the Hadamard Coprocessor with the Alliance CAD System carried by Post-Graduating Students},
-  author = {Zerrouki Amal and Dunoyer Julien and Wajsbürt Franck and Derieux Anne},
-  booktitle = {3rd European Workshop on Microelectronics Education (EWME)},
-  location = {Aix En Provence, France},
-  year = {2000},
-  pages = {265-268}
-}
-
-@inproceedings{reuse,
-  author = {N. Agliada, A. Fin. and F. Fummi and M. Martignano and G. Pravadelli},
-  title  = {On the Reuse of VHDL Modules into SystemC Designs},
-  booktitle = {Proceedings IEEE Forum on Design Languages (FDL)},
-  location = {Lyon, France},
-  year = {2001}
-}
-
-@phdthesis{sidd,
-  author = {Siddhartha Devalapalli},
-  title = {Development of SystemC Modules from HDL for System-on-Chip
-Applications},
-  year = {2004},
-  school = {University of Tennessee},
-  location = {Knoxville}
-}
-
-@inproceedings{verilog2sc,
-  author = {L. Mahmoudi Ayough, A. Haj Abutalebi, O. F. Nadjarbashi and S. Hessabi},
-  title  = {Verilog2SC: A Methodology for Converting Verilog. HDL to SystemC},
-  booktitle = {Proceedings of the 11th International HDL Conference (HDL Con 2002)},
-  pages =  {211-217},
-  location = {San Jose, California, USA},
-  year = {2002}
-}
-
-@report{verilator,
-  author = {W. Snyder},
-  title  = {Verilator Environment},
-  note = {in NASCUG},
-  year = {2004}
-}
-
-@inproceedings{AIRE,
-  author = {J. C. Willis and P. A. Wilsey and G. D. Peterson and J. Hines and A. Zamfirescu and D. E. Martin and R. N. Newshutz},
-  title = "Advanced Intermediate Representation with Extensibility (AIRE)",
-  booktitle = "VHDL Users' Group Fall 1996 Conference",
-  pages = {33-40},
-  year = {1996}
-}
-
-@inproceedings{savant,
-  author = {D. E. Martin and P. A. Wilsey and P. Chawla},
-  title  = {SAVANT: An Extensible Object-Oriented Intermediate for VHDL},
-  booktitle = "VHDL Users' Group",
-  year = {1996},
-  pages = {275-281}
-}
-
-@inproceedings{Sil,
-  author = {E. Molenkamp and G. E. Mekenkamp},
-  title = {Sil: an intermediate for syntax based VHDL synthesis},
-  booktitle = {VHDL International Users Forum},
-  pages = {5.1-5.9},
-  year = {1995}
-}
-
-@report{qualitative_subset,
-  author = {D. Déharbe and D. Borrione},
-  title = {A qualitative finite subset of VHDL and semantics},
-  organization = {IMAG Institute},
-  year = {1993}
-}
-
-@inproceedings{doh94,
-  author = {G. Döhmen},
-  title = {Petri Nets as Intermediate Representation Between VHDL and Symbolic
-Transition Systems},
-  booktitle = {EURO-VHDL},
-  pages = {572-577},
-  location = {Grenoble, France},
-  year = {1994}
-}
-
-@inproceedings{OC93,
-  author = {S. Olcoz and J.M. Colom},
-  title  = {A Petri Net Approach for the Analysis of VHDL Descriptions},
-  booktitle = {CHARME},
-  pages  = {15-26},
-  year   = {1993}
-}
-
-@inproceedings{semantics,
-  author = {L. Jacomme and F. Pétrot and R.K. Bawa},
-  title  = {Formal Analysis of Single Wait VHDL Processes for Semantic Based
-Synthesis},
-  booktitle = {12th International Conference on VLSI Design},
-  pages = {151-156},
-  location = {Goa, India},
-  year = {1999}
-}
-
-@inproceedings{EE95,
-  author = {A. Evans and E. Encrenaz},
-  title  = {An Approach to the Synthesis of VHDL Concurrent Processes as a
-FSM},
-  booktitle = {IFIP WG 10.5 Workshop on Logic and Architecture Synthesis},
-  pages = {115-124},
-  location = {Grenoble, France},
-  year = {1995}
-}
-
-@inproceedings{ALLIANCE,
-  author = {A. Greiner and F. Pêcheux},
-  title  = {ALLIANCE : A Complete Set of CAD Tools for Teaching VLSI Design},
-  booktitle = {The 3rd Eurochip Workshop on VLSI Design Training},
-  pages = {230-37},
-  location = {Grenoble, France},
-  year = {1992}
-}
-
-@inproceedings{RTL2CASS,
-  author = {R.K. Bawa and P. Guerrier and L. Jacomme and P. Bazargan-Sabet.},
-  title  = {An approach to behavioral synthesis from a formal model of vhdl},
-  booktitle = {VHDL International Users Forum},
-  pages = {117-126},
-  location = {Durham, Caroline du Nord, USA},
-  year = {1996}
-}
-
-@phdthesis{thesis_mouchard,
-  author= {Mouchard Gilles},
-  title = {Modélisation de Processeurs et de Systèmes},
-  year = {2004},
-  organization = "LRI"
-}
-
-@conference{PAPR1,
-  title = {Modular on chip multi processor for routing applications},
-  author = {E. Faure and D. Genius and F. Pétrot and S. Berrayana},
-  year = {2004},
-  month = september,
-  location = {Pise, Italie},
-  booktitle = {EUROPAR 04},
-  pages = {847-855}
-}
-
-@conference{PAPR2,
-  title = {Application télécom pour processeur réseau},
-  author = {E. Faure and S. Berrayana and D. Genius and F. Pétrot},
-  booktitle = {Sciences Electroniques Technologies de l'Information et des Télécommunications (SETIT'04)},
-  location = {Sousse, Tunisie},
-  month = {mars},
-  year = 2004
-}
-
-@conference{ROBDD1,
-	title = {Efficient implementation of a bdd package},
-  booktitle = {27th ACM/IEEE Design Automation Conference},
-  author = {Karl Brace and Richard Rudell and Randal Bryant},
-  pages = {677-691},
-  month = {August},
-  year = {1986}
-}
-
-@article{ROBDD2,
-	title = {Graph-based algorithms for boolean function manipulation},
-  author = {Randal Bryant},
-  booktitle = {IEEE Transaction on Computers},
-  pages = {677-691},
-  month = {August},
-  year = {1986}
-}
-
-@inproceedings{VHDL2SC,
-  title = {On the Reuse of VHDL Modules into SystemC Designs},
-  author = {N. Agliada and A. Fin and F. Fummi and M. Martignano and G. Pravdelli},
-  booktitle = {Forum on Design Languages (FDL01)},
-  year = {2001}
-}
-
-@inproceedings{stereovision,
-  title = "Mapping an Obstacles Detection, Stereo Vision-based, Software Application on a Multi-Processor System-on-chip",
-  author = {A. Greiner and F. Petrot and M. Carrier and M. Benabdenbi and R. Chotin-avot and R. Labayrade},
-  booktitle = {Proceedings of Intelligent Vehicles Symposium 2006},
-  publisher = {IEEE},
-  year = 2006,
-  month = June,
-  pages = {370-376}
-}
-
-@article{shannon,
- author = {Bernard M. E. Moret},
- title = {Decision Trees and Diagrams},
- journal = {ACM Comput. Surv.},
- volume = {14},
- number = {4},
- year = {1982},
- issn = {0360-0300},
- pages = {593--623},
- doi = {http://doi.acm.org/10.1145/356893.356898},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- }
-
-
Index: branches/with_autoconf/src/SystemCASS.tex
===================================================================
--- branches/with_autoconf/src/SystemCASS.tex	(revision 7)
+++ 	(revision )
@@ -1,273 +1,0 @@
-%%%%%%%%%%
-%
-%$Log: SystemCASS.tex,v $
-%Revision 1.3  2005/03/25 14:33:01  buchmann
-%Typo :
-%-  dependAncy -> dependEncy
-%
-%sc_initialize :
-%-  Use a hash table to speed up elaboration step. (x40 faster)
-%
-%Tracing :
-%-  check for modification BEFORE building bit string.
-%-  use sprintf instead std string concatenation.
-%
-%Revision 1.2  2005/02/22 11:36:58  buchmann
-%Generate correctly documentations.
-%Add special flag to disable PAT tracing support.
-%
-%Revision 1.1  2005/01/20 09:15:12  buchmann
-%add following functions to sc_uint classes :
-%- operator []
-%- range (left,right)
-%
-%support to port dependency declarations.
-%print used precompiled options in verbose mode.
-%use pedantic flag.
-%add some rules to generate documentations.
-%
-%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass{report}
-\usepackage[latin1]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{a4wide}
-\usepackage{charter}
-\usepackage{helvet}
-\usepackage{graphicx}
-\usepackage{amsmath}
-\usepackage{moreverb}
-\usepackage{longtable}
-\usepackage{calc}
-\usepackage{alltt}
-\usepackage{makeidx}
-\usepackage{xspace}
-\renewcommand{\rmdefault}{phv}
-\renewcommand{\sfdefault}{phv}
-\renewcommand{\ttdefault}{pcr}
-\newcommand{\SYSTEMCASS}{\textsc{SystemCASS}\xspace}
-\newcommand{\SYSTEMC}{\textsc{SystemC}\xspace}
-\newcommand{\SOCLIB}{\textsc{SoCLIB}\xspace}
-
-\ifx\pdfoutput\undefined
-\else
-    \pdfpagewidth  21.0cm
-    \pdfpageheight 29.7cm
-\fi
-\usepackage{hyperref}
-
-\voffset   -1in
-\hoffset   -1in
-\headheight 0pt
-\headsep    0pt
-\topmargin     25mm
-\oddsidemargin 29mm
-
-\textwidth     150mm
-\textheight    240mm
-\flushbottom
-\sloppy
-
-\tabcolsep 4pt
-\makeatletter
-\renewcommand{\section}
-   {\@startsection
-   {section}%
-   {1}%
-   {0mm}%
-   {-.5\baselineskip}%
-   {0.5\baselineskip}%
-   {\newpage\flushleft\normalfont\Large\scshape}}
-
-\renewcommand{\subsection}
-   {\@startsection
-   {subsection}%
-   {1}%
-   {0mm}%
-   {-.5\baselineskip}%
-   {0.5\baselineskip}%
-   {\flushleft\normalfont\large\scshape}}
-
-\renewcommand{\@seccntformat}[1]{{\csname the#1\endcsname}.\hspace{0.25em}}
-\makeatother
-\renewcommand{\thesection}{\arabic{section}}
-
-\renewcommand{\listinglabel}[1]{\rlap{\footnotesize\rmfamily\the#1}\hskip2em}
-
-%%%%%%%%%%%%%%%%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-\thispagestyle{empty}
-~\vfill
-\begin{center}
-{\LARGE SystemCASS\\ SystemC Cycle Accurate System Simulator\\}
-\vfill
-\vfill
-%{\Large Documentation by Richard \textsc{Buchmann}}
-\vfill
-
-{\Large \today}
-
-\end{center}
-~\vfill
-
-%%%%%%%%%%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{\SYSTEMCASS Overview}
-\label{SystemCass-overview}
-
-\SYSTEMCASS is a simulator that executes models described in \textbf{SystemC}.
-Its goal is to provide cycle precise simulation of systems build with
-hardware and software components, in order to evaluate performances
-for \emph{i.e.} hardware/software partitioning, system validation, early
-software development.
-
-An example of system is present Figure~\ref{system}.
-
-\begin{figure}[hbtp]\center\leavevmode
-\includegraphics[width=.7\textwidth,angle=270]{figures/SystemeType}
-\caption{Typical embedded system build around VCI interfaces.}
-\label{system}
-\end{figure}
-
-The simulator simulates a \textbf{SystemC} netlist of predefined and/or
-user defined components.
-The components used to validate the methodology\cite{iceec04-buch} are a part of \SOCLIB library.
-Those models are VCI, bit and cycle accurate using the finite state machine with datapath modeling (Figure~\ref{Automate}).
-
-\begin{figure}[hbtp]\center\leavevmode
-\includegraphics[width=.6\linewidth]{figures/Automate}
-\caption{Finite State Machine Modeling}
-\label{Automate}
-\end{figure}
-
-SystemCASS is a SystemC subset including~:
-\begin{itemize}
-\item
-core class~: sc\_module, sc\_signal, sc\_in, sc\_out, sc\_inout...
-\item
-core functions~: sc\_start, sc\_stop, sc\_simulation\_time...
-\item
-basic data types~: sc\_i[u]nt, sc\_big[u]int...
-\end{itemize}
-
-But SystemCASS doesn't include standard channels, 
-methodology-specific channels (master/slave library, verification library) 
-and elementary channels (timer, mutex, semaphore, fifo, etc.).
-
-This cycle accurate engine gives higher simulation speed 
-more suitable for embedded software development,
-and architectural exploration.
-
-%%%%%%%%%%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Installation}
-
-Set \textbf{SYSTEMC} environment variable to the \textbf{SystemCASS} base directory.\\
-Change the current directory to \textbf{\$(SYSTEMC)/src}.\\
-Run the Makefile.\\
-
-The distribution is as follow~:
-\begin{itemize} \itemsep=-0.8ex
-\item
-\emph{src}~: 
-Source files
-\item
-\emph{includes}~:
-Header files
-\item
-\emph{lib-linux}~:
-Debug and optimized libraries for linux distribution
-\item
-\emph{docs}~:
-Documentation
-\item
-\emph{examples}~:
-
-\begin{itemize} \itemsep=-0.8ex
-\item
-\emph{soclib\_date04}~:
-An hardware timer raises some interruptions on 4 Mips R3000 periodically.
-Whenever an interruption occurs, the application running on each CPU prints a "hello" message to its own output window.
-\item
-\emph{soclib\_spg}~:
-An specific hardware configures a DMA. The DMA copies some data into the
-a simple RAM component.
-\end{itemize}
-
-\end{itemize}
-
-%%%%%%%%%%%%%%%%%%%%%%%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ù
-\section{Simulator Execution}
-\label{debbuger-usage}
-To use SystemCASS simulator, you just need to include the SystemCASS headers
-and link to SystemCASS library.
-
-To debug, two ways are available~:
-\begin{itemize}
-\item
-link to the debug library and use a debugger.
-\item
-generate a trace file by using dedicated functions and use a VCD viewer.
-\end{itemize}
-
-%%%%%%%%%%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\section{Simulator Compilation}
-
-Some macro definitions are available 
-to accelerate the simulation, 
-to check the netlist, variable dependancies, the scheduling
-to help on debugging
-and so on.
-
-You need to modify the Options.def file and rebuild the libraries.
-
-\subsection{Scheduling}
-
-The best performance you can reach using \SYSTEMCASS is obtained by using
-static scheduling.
-
-\SYSTEMCASS has two ways to compute the scheduling~:
-
-\begin{itemize}
-\item
-from the static sensitivity list (default)~:
-\SYSTEMC compatibility is good
-\item
-from the port dependency graph\cite{date04-mouchard} (USE\_PORT\_DEPENDENCY defined)~:
-The component designer need to declare the port dependancies in the
-constructor.
-The signal dependency graph is complete and then it has no cycle.
-At initialization step, the engine checks sensitivity list coherence.\\
-\it{Syntax~: outPort(inPort);}\\
-DUMP\_COMBINATIONAL\_LIST2DOT definition generates some DOT files to check
-dependancies.
-\end{itemize}
-
-The generated scheduling is written in code-XXX.cc file.
-KEEP\_GENERATED\_CODE definition allows to keep the file after simulation execution.\\
-
-PRINT\_SCHEDULE definition prints the scheduling at execution time.\\
-DUMP\_SCHEDULE\_STATS prints some miscellanous statistics.\\
-NO\_STATIC\_SCHEDULE disables the static scheduling.
-
-%%%%%%%%%%%%%%%
-%\part{Creating new components for \SYSTEMCASS}
-%%%%%%%%%%%%%%%
-
-%\section{Component description}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bibliography{./SystemCASS}
-\bibliographystyle{unsrt}
-\end{document}
-
Index: branches/with_autoconf/src/alias.cc
===================================================================
--- branches/with_autoconf/src/alias.cc	(revision 7)
+++ branches/with_autoconf/src/alias.cc	(revision 8)
@@ -33,9 +33,12 @@
  */
 
-#include"alias.h"
-#include<string>
-//#include<cstdarg.h>
-//#include<cstdio.h>
-#include<iostream>
+#include "alias.h"
+#include <string>
+//#include <cstdarg.h>
+//#include <cstdio.h>
+#include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 const char * alias ()
Index: branches/with_autoconf/src/assert.h
===================================================================
--- branches/with_autoconf/src/assert.h	(revision 7)
+++ 	(revision )
@@ -1,30 +1,0 @@
-/*------------------------------------------------------------\
-|                                                             |
-| Tool    :                  systemcass                       |
-|                                                             |
-| File    :                 assert.h                          |
-|                                                             |
-| Author  :                 Buchmann Richard                  |
-|                                                             |
-| Date    :                   26_05_2005                      |
-|                                                             |
-\------------------------------------------------------------*/
-#ifndef __ASSERT_H__
-#define __ASSERT_H__
-
-#if defined(DEBUG)
-/////////// DEBUG
-#define ASSERT(x) { if (!(x)) { \
-                      cerr << "ASSERT : " #x \
-                           << " in function '" << __FUNCTION__  \
-                           << "'\n"; exit (-1); \
-                    } \
-                  }
-
-#else
-/////////// _RELEASE (NOT DEBUG)
-#define ASSERT(x)
-
-#endif
-#endif
-
Index: branches/with_autoconf/src/bit2string.cc
===================================================================
--- branches/with_autoconf/src/bit2string.cc	(revision 7)
+++ branches/with_autoconf/src/bit2string.cc	(revision 8)
@@ -41,4 +41,7 @@
 #include <stdlib.h>
 #include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 	
 using namespace std;
Index: branches/with_autoconf/src/casc.h
===================================================================
--- branches/with_autoconf/src/casc.h	(revision 7)
+++ branches/with_autoconf/src/casc.h	(revision 8)
@@ -48,18 +48,18 @@
 EXTERN void simulate_1_cycle (void) 
 {
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = TRANSITION;
 #endif
   transition ();
   update     ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = GEN_MOORE;
 #endif
   moore_generation ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = GEN_MEALY;
 #endif
   mealy_generation (); 
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = STIMULI;
 #endif
Index: branches/with_autoconf/src/data_field.h
===================================================================
--- branches/with_autoconf/src/data_field.h	(revision 7)
+++ branches/with_autoconf/src/data_field.h	(revision 8)
@@ -13,21 +13,9 @@
 #define __DATA_FIELD_H__
 
-#include <endianness.h>
-
 template<int      WIDTH,
          int      PADDING,
          typename data_type>
-struct val_field { /* try to work with little endianess */
-#if defined(little_endian)
-  /* little endian */
-//  data_type pad:PADDING;
+struct val_field {
   data_type valW:WIDTH;
-#elif defined(big_endian)
-  /* big endian */
-  data_type pad:PADDING;
-  data_type valW:WIDTH;
-#else
-#error You must define endianness.
-#endif
 };
 
Index: branches/with_autoconf/src/dump_dot.cc
===================================================================
--- branches/with_autoconf/src/dump_dot.cc	(revision 7)
+++ branches/with_autoconf/src/dump_dot.cc	(revision 8)
@@ -40,4 +40,7 @@
 #include "simplify_string.h"
 #include "sc_ver.h" // sc_version
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 typedef std::list<sc_core::sc_port_base*> port_list_t;
Index: branches/with_autoconf/src/dump_used_env.cc
===================================================================
--- branches/with_autoconf/src/dump_used_env.cc	(revision 7)
+++ branches/with_autoconf/src/dump_used_env.cc	(revision 8)
@@ -35,4 +35,7 @@
 
 #include "dump_used_env.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 std::string
Index: branches/with_autoconf/src/dump_used_options.cc
===================================================================
--- branches/with_autoconf/src/dump_used_options.cc	(revision 7)
+++ branches/with_autoconf/src/dump_used_options.cc	(revision 8)
@@ -35,4 +35,7 @@
 
 #include "dump_used_options.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_core {
@@ -65,12 +68,12 @@
   "DUMP_STAGE, "
 #endif
-#ifdef CHECK_FSM_RULES     
-  "CHECK_FSM_RULES, "
+#ifdef CONFIG_CHECK_FSM_RULES     
+  "CONFIG_CHECK_FSM_RULES, "
 #endif
 #ifdef COMPIL_DEBUG  
   "COMPIL_DEBUG,"       
 #endif
-#ifdef DEBUG
-  "DEBUG, "          
+#ifdef CONFIG_DEBUG
+  "CONFIG_DEBUG, "          
 #endif
 #ifdef UINT64              
Index: branches/with_autoconf/src/entity.cc
===================================================================
--- branches/with_autoconf/src/entity.cc	(revision 7)
+++ branches/with_autoconf/src/entity.cc	(revision 8)
@@ -35,14 +35,17 @@
  */
 
-#include<iomanip>
-#include<list>
-#include<map>
-#include<vector>
-
-#include"assert.h"
-#include"entity.h"
-#include"sc_port.h"
-#include"sc_signal.h"
-#include"sc_module.h"
+#include <iomanip>
+#include <list>
+#include <map>
+#include <vector>
+
+#include <cassert>
+#include "entity.h"
+#include "sc_port.h"
+#include "sc_signal.h"
+#include "sc_module.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -174,5 +177,5 @@
     typedef std::map<const tab_t *,equi_list_t::iterator,predic4tab_t2equi_t_t> tab_t2equi_it_t;
     static tab_t2equi_it_t tab2equi_map;
-    ASSERT(pointer != NULL);
+    assert(pointer != NULL);
 
     // boost
@@ -239,5 +242,5 @@
 	{
 		equi_t::const_iterator top_iter = e.begin ();
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 		if (top_iter == e.end ()) {
 			cerr << "Internal error : no signal in " << e << endl;
@@ -356,5 +359,5 @@
 	}
 	
-#if defined(DUMP_SIGNALS_STATS)
+#if defined(DUMP_SIGNAL_STATS)
 	static unsigned int equi_real_size;
 #endif
@@ -388,5 +391,5 @@
     unsigned int table_size = get_sizeof_signals_table ();
 		equi_table = new tab_t[table_size]; //(0xCD);
-#if defined(DUMP_SIGNALS_STATS)
+#if defined(DUMP_SIGNAL_STATS)
 		equi_real_size = table_size;
 #endif
@@ -402,5 +405,5 @@
   bind_equi_to_table (equi_t &e, tab_t * const pointer)
   {
-    ASSERT(pointer != NULL);
+    assert(pointer != NULL);
     equi_t::iterator i;
     for (i = e.begin (); i != e.end (); ++i) {
@@ -454,5 +457,5 @@
     o << ")";
 #else
-   ASSERT(e.object != NULL); 
+   assert(e.object != NULL); 
    o << e.object->name ();
 #endif
@@ -493,5 +496,5 @@
   print_table_stats (ostream &o)
   {
-#if defined(DUMP_SIGNALS_STATS)
+#if defined(DUMP_SIGNAL_STATS)
 		int nb_reg = 0;
 		int nb_sig = 0;
@@ -536,5 +539,5 @@
 	}
 	const entity &ent = *(eq.begin ());
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (ent.type != sc_core::entity::SIGNAL)
 		exit(28);
@@ -543,5 +546,5 @@
 	const char *sig_name = ent.object->name ();
 	const char *sep  = strchr (sig_name,'.');
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (sep == NULL) {
 		exit (30);
@@ -594,5 +597,5 @@
 #endif
 
-#if defined(DUMP_SIGNALS_STATS)
+#if defined(DUMP_SIGNAL_STATS)
 static unsigned int equi_real_size;
 #endif
@@ -602,5 +605,5 @@
 {
 #if 0 
-//defined(DEBUG)
+//defined(CONFIG_DEBUG)
   equi_list_t::iterator x_equi = get_equi (x);
   if ((x_equi != equi_list.end())) {
@@ -639,6 +642,6 @@
 tbind (sc_port_base &x,T &y)
 {
-//  ASSERT(x.get_pointer () != NULL); // x pointer may be NULL
-//  ASSERT(y.get_pointer () != NULL); // y pointer may be NULL
+//  assert(x.get_pointer () != NULL); // x pointer may be NULL
+//  assert(y.get_pointer () != NULL); // y pointer may be NULL
   equi_list_t::iterator x_equi = get_equi (x);
   equi_list_t::iterator y_equi = get_equi (y);
Index: branches/with_autoconf/src/entity.h
===================================================================
--- branches/with_autoconf/src/entity.h	(revision 7)
+++ branches/with_autoconf/src/entity.h	(revision 8)
@@ -14,9 +14,9 @@
 #define __ENTITY_H__
 
-#include<iostream>
-#include<list>
-#include"sc_fwd.h"
-#include"sc_port.h"
-#include"sc_signal.h"
+#include <iostream>
+#include <list>
+#include "sc_fwd.h"
+#include "sc_port.h"
+#include "sc_signal.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/fsm_rules.h
===================================================================
--- branches/with_autoconf/src/fsm_rules.h	(revision 7)
+++ branches/with_autoconf/src/fsm_rules.h	(revision 8)
@@ -13,5 +13,9 @@
 #define __FSM_RULES_H__
 
-#ifdef CHECK_FSM_RULES
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef CONFIG_CHECK_FSM_RULES
 
 namespace sc_core {
Index: branches/with_autoconf/src/gen_code.cc
===================================================================
--- branches/with_autoconf/src/gen_code.cc	(revision 7)
+++ branches/with_autoconf/src/gen_code.cc	(revision 8)
@@ -35,26 +35,26 @@
  */
 
-#include<stdio.h>
-#include<stdlib.h>
-#include<iostream>
-#include<fstream>
-
-#include"internal.h"
-#include"gen_code.h"
-#include"sc_module.h"
-#include"sc_ver.h"
-#include"process_dependency.h"
-
-#ifdef CHECK_FSM_RULES
-#define fsm_check_flag "-DCHECK_FSM_RULES"
+#include <stdio.h>
+#include <stdlib.h>
+#include <iostream>
+#include <fstream>
+
+#include "internal.h"
+#include "gen_code.h"
+#include "sc_module.h"
+#include "sc_ver.h"
+#include "process_dependency.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef CONFIG_CHECK_FSM_RULES
+#include "fsm_rules.h"
+#define fsm_check_flag "-DCONFIG_CHECK_FSM_RULES"
 #else
 #define fsm_check_flag
 #endif
 
-#define casc_cflags CFLAGS " " fsm_check_flag
-
-#if defined(darwin)
-#define macosx
-#endif
+#define casc_cflags GENERATED_MODULE_CFLAGS " " fsm_check_flag
 
 using namespace std;
@@ -86,5 +86,5 @@
 	  	<< m.module->name() << "->" << m.name << "()\\n\");\n";
   o << " p.integer = " << func << ";\n";
-#if CPP_CALL
+#ifdef CPP_CALL
   o << " (((sc_module*)(" << m.module << "))->*(p.pmf)) (); /* " 
 		<< m.module->name () << "->" << m.name << "() */\n";
@@ -138,5 +138,5 @@
   }
 
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
   cerr << "opened temporary filename : " << temp << "\n";
 #endif
@@ -263,7 +263,7 @@
 
   o << "// generated by " << sc_version () << endl
-		<< "#include<casc.h>\n\n"
-		<< "#include<stdio.h>\n\n"
-//		<< "#include<iostream>\n\n"
+		<< "#include <casc.h>\n\n"
+		<< "#include <stdio.h>\n\n"
+//		<< "#include <iostream>\n\n"
 		<< "namespace sc_core {\n"
     << " typedef void (sc_module::*SC_ENTRY_FUNC)();\n"
@@ -324,7 +324,7 @@
 
   o << "// generated by " << sc_version () << endl
-		<< "#include<casc.h>\n\n"
-		<< "#include<stdio.h>\n\n"
-//		<< "#include<iostream>\n\n"
+		<< "#include <casc.h>\n\n"
+		<< "#include <stdio.h>\n\n"
+//		<< "#include <iostream>\n\n"
 		<< "namespace sc_core {\n"
     << " typedef void (sc_module::*SC_ENTRY_FUNC)();\n"
@@ -372,5 +372,5 @@
 //  const char *target_arch = getenv ("TARGET_ARCH");
 	const char *default_compiler =
-#if CPP_CALL
+#ifdef CPP_CALL
 		"g++";
 #else
@@ -413,33 +413,21 @@
   /* COMPILE */
   /* ******* */
-#if defined(macosx)
-    sprintf(compil_str, 
-				"(cd %s ; %s %s -DSCHEDULING_BY_CASC -I%s/include -fno-common -dynamic -o %s -c %s)",
-        temporary_dir,
-			 	compiler, 
-				casc_cflags, 
-				systemc_dir, 
-				target_name,
-				source_name);
-//    sprintf(compil_str,""); 
-#elif defined(linux)
-    sprintf(compil_str, 
-				"(cd %s ; libtool --mode=compile %s %s -DSCHEDULING_BY_CASC -I%s/include -shared -o %s -c %s)",
-        temporary_dir,
-			 	compiler, 
-				casc_cflags, 
-				systemc_dir, 
-				target_name,
-				source_name);
+  const char *commandline_template =
+#if defined(CONFIG_OS_DARWIN)
+	  "(cd %s ;"                     " %s %s -DSCHEDULING_BY_CASC -I%s/include -fno-common -dynamic -o %s -c %s)"
+#elif defined(CONFIG_OS_LINUX)
+	  "(cd %s ; libtool --mode=compile %s %s -DSCHEDULING_BY_CASC -I%s/include -shared -o %s -c %s)"
 #else
-    sprintf(compil_str, 
-				"(cd %s ; %s %s -DSCHEDULING_BY_CASC -I%s/include -dynamiclib -o %s -c %s)",
-        temporary_dir,
-			 	compiler, 
-				casc_cflags, 
-				systemc_dir, 
-				target_name,
-				source_name);
-#endif
+	  "(cd %s ;"                     " %s %s -DSCHEDULING_BY_CASC -I%s/include -dynamiclib -o %s -c %s)"
+#endif
+	  ;
+  sprintf(compil_str, 
+		  commandline_template,
+		  temporary_dir,
+		  compiler, 
+		  casc_cflags, 
+		  systemc_dir, 
+		  target_name,
+		  source_name);
 
   if (dump_stage) 
@@ -456,5 +444,5 @@
   sprintf (target_name, "%s.so", base_name);
 
-#if defined(linux)
+#ifdef CONFIG_OS_LINUX
   sprintf (source_name, "%s.lo", base_name);
   sprintf(compil_str, "(cd %s ; pwd ; libtool --mode=link %s %s -shared -rdynamic -o %s %s)", /* -L. -L%s/lib-%s */ 
@@ -555,5 +543,5 @@
   for (i = 0; i < n; ++i)
   {
-#if 0 //defined(DEBUG)
+#if 0 //defined(CONFIG_DEBUG)
     sc_module *m = (sc_module*)(fc.instance[i]);
     cerr << m->name () << endl;
@@ -570,18 +558,18 @@
 void static_simulate_1_cycle (void) 
 {
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = TRANSITION;
 #endif
   call_functions (pf[0]); // transition
   update     ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = GEN_MOORE;
 #endif
   call_functions (pf[1]); // moore generation
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = GEN_MEALY;
 #endif
   call_functions (pf[2]); // mealy generation
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = STIMULI;
 #endif
@@ -629,5 +617,5 @@
 void quasistatic_simulate_1_cycle (void) 
 {
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = TRANSITION;
 #endif
@@ -639,5 +627,5 @@
   }
   update     ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = GEN_MOORE;
 #endif
@@ -647,9 +635,9 @@
     Call (m);
   }
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = GEN_MEALY;
 #endif
   quasistatic_mealy_generation ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = STIMULI;
 #endif
Index: branches/with_autoconf/src/gen_code.h
===================================================================
--- branches/with_autoconf/src/gen_code.h	(revision 7)
+++ branches/with_autoconf/src/gen_code.h	(revision 8)
@@ -14,10 +14,10 @@
 #define __GEN_CODE_H__
 
-#include"internal.h"
-#include"global_functions.h"
-#include"graph.h"
-#include"sc_port.h"
-#include"sc_trace.h"
-#include"process_dependency.h"
+#include "internal.h"
+#include "global_functions.h"
+#include "graph.h"
+#include "sc_port.h"
+#include "sc_trace.h"
+#include "process_dependency.h"
 
 //-------------------------------------------------------------------
@@ -105,5 +105,5 @@
 internal_sc_cycle0( double duration )  // in default time units
 {
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	// Check dynamic linkage
   if ((func_combinationals == NULL) || (func_simulate_1_cycle == NULL)) {
@@ -121,5 +121,5 @@
 #endif
   	update ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 		casc_fsm_step = GEN_MEALY;
 #endif
@@ -132,5 +132,5 @@
   if (is_posted_write ()) {
     update ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 		casc_fsm_step = GEN_MEALY;
 #endif
Index: branches/with_autoconf/src/global_functions.cc
===================================================================
--- branches/with_autoconf/src/global_functions.cc	(revision 7)
+++ branches/with_autoconf/src/global_functions.cc	(revision 8)
@@ -35,13 +35,20 @@
  */
 
-#include<iostream>
-#include<dlfcn.h>
-#include"schedulers.h" // get_scheduling & run_schedule_editor
-#include"sc_module.h" // check_all_method_process
-#include"gen_code.h"  // gen_scheduling_code_for_dynamic_link & gen_scheduling_code_for_static_func
-#include"sc_clock_ext.h" // clock list
-#include"usage.h"
-#include"module_hierarchy2dot.h"
-#include"assert.h"
+#include <iostream>
+#include <dlfcn.h>
+#include "schedulers.h" // get_scheduling & run_schedule_editor
+#include "sc_module.h" // check_all_method_process
+#include "gen_code.h"  // gen_scheduling_code_for_dynamic_link & gen_scheduling_code_for_static_func
+#include "sc_clock_ext.h" // clock list
+#include "usage.h"
+#include "module_hierarchy2dot.h"
+#include "assert.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef CONFIG_CHECK_FSM_RULES
+#include "fsm_rules.h"
+#endif
 
 using namespace std;
@@ -218,7 +225,7 @@
    
   char lib_absolutepath[256]; 
-#if defined(darwin) //macosx)
+#if defined(CONFIG_OS_DARWIN)
   sprintf(lib_absolutepath, "/tmp/%s.so", base_name);
-#elif defined(linux)
+#elif defined(CONFIG_OS_LINUX)
   sprintf(lib_absolutepath, "/tmp/%s.so", base_name);
 #else
@@ -255,5 +262,5 @@
   }
   // Init variables to be able to run combinational functions
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = STIMULI;
 #endif
Index: branches/with_autoconf/src/global_functions.h
===================================================================
--- branches/with_autoconf/src/global_functions.h	(revision 7)
+++ branches/with_autoconf/src/global_functions.h	(revision 8)
@@ -13,6 +13,6 @@
 #define __GLOBAL_FUNCTIONS_H__
 
-#include"sc_fwd.h"
-#include"sc_time.h"
+#include "sc_fwd.h"
+#include "sc_time.h"
 
 extern int sc_main(int, char **);
Index: branches/with_autoconf/src/graph.cc
===================================================================
--- branches/with_autoconf/src/graph.cc	(revision 7)
+++ branches/with_autoconf/src/graph.cc	(revision 8)
@@ -113,4 +113,7 @@
 #include "sc_module.h"
 #include "sc_port.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -154,5 +157,5 @@
 {
 Arc *a;
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if ((u == NULL) || (v == NULL))
 		exit(29042004);
Index: branches/with_autoconf/src/graph_cass.cc
===================================================================
--- branches/with_autoconf/src/graph_cass.cc	(revision 7)
+++ branches/with_autoconf/src/graph_cass.cc	(revision 8)
@@ -129,4 +129,7 @@
 #include "simplify_string.h" // simplify_string
 #include "sc_ver_ext.h"      // sc_version for dumping to DOT
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/graph_signals.cc
===================================================================
--- branches/with_autoconf/src/graph_signals.cc	(revision 7)
+++ branches/with_autoconf/src/graph_signals.cc	(revision 8)
@@ -139,4 +139,7 @@
 #include "sc_module.h"
 #include "sc_port.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/guess_endianness.cc
===================================================================
--- branches/with_autoconf/src/guess_endianness.cc	(revision 7)
+++ 	(revision )
@@ -1,35 +1,0 @@
-// CODE FROM WIKIPEDIA
-
-#define LITTLE_ENDIAN 0
-#define BIG_ENDIAN    1
-
-int machineEndianness()
-{
-   int i = 1;
-   char *p = (char *) &i;
-   if (p[0] == 1) // Lowest address contains the least significant byte
-      return LITTLE_ENDIAN;
-   else
-      return BIG_ENDIAN;
-}
-
-#include <stdio.h>
-
-int
-main (int argc, char** argv)
-{
-  printf ("#define ");
-  switch (machineEndianness()) {
-  case LITTLE_ENDIAN : 
-    printf ("little_endian\n");
-    break;
-  case BIG_ENDIAN : 
-    printf ("big_endian\n");
-    break;
-  default:
-    printf ("unknown_endian\n");
-    break;
-  }
-  return 0;
-}
-
Index: branches/with_autoconf/src/guess_os.sh
===================================================================
--- branches/with_autoconf/src/guess_os.sh	(revision 7)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#!/bin/sh
-
-# --------------------------------------------------------------------
-# Function  :  `guess_os()'.
-
- guess_os ()
- {
-   case "`uname -sr`" in
-     Linux*2.4.9*)  echo "Linux.RH71";;
-     Linux*FC2*)    echo "Linux.FC2";;
-     Linux*EL*)     echo "Linux.SLA4x";;
-     SunOS\ 5*)     echo "Solaris";;
-     Darwin*)       echo "Darwin";;
-     *)             echo "`uname -sr`";;
-   esac
- }
-
-
-echo `guess_os`
Index: branches/with_autoconf/src/hex2string.cc
===================================================================
--- branches/with_autoconf/src/hex2string.cc	(revision 7)
+++ branches/with_autoconf/src/hex2string.cc	(revision 8)
@@ -41,4 +41,7 @@
 #include <stdlib.h>
 #include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 	
 using namespace std;
Index: branches/with_autoconf/src/methodprocess_dependency.cc
===================================================================
--- branches/with_autoconf/src/methodprocess_dependency.cc	(revision 7)
+++ branches/with_autoconf/src/methodprocess_dependency.cc	(revision 8)
@@ -34,5 +34,5 @@
  */
 
-#include "assert.h"
+#include <cassert>
 #include "methodprocess_dependency.h"
 #include "simplify_string.h"
@@ -40,4 +40,7 @@
 #include <iostream>
 #include <fstream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -47,7 +50,7 @@
 get_name (const method_process_t *method)
 {
-  ASSERT(method != NULL);
+  assert(method != NULL);
   const sc_module *module = method->module;
-  ASSERT(module != NULL);
+  assert(module != NULL);
   const char *module_name = module->name ();
   const char *function_name = method->name;
@@ -85,5 +88,5 @@
     const SignalDependency &sd = *it;
     const equi_t           *source_equi     = sd.source;
-    ASSERT(source_equi != NULL);
+    assert(source_equi != NULL);
 	  const method_process_t *source_method   = table[source_equi];
     if (source_method == NULL)
Index: branches/with_autoconf/src/module_hierarchy.cc
===================================================================
--- branches/with_autoconf/src/module_hierarchy.cc	(revision 7)
+++ branches/with_autoconf/src/module_hierarchy.cc	(revision 8)
@@ -36,6 +36,9 @@
 #include "module_hierarchy.h"
 #include "sc_module.h"
-#include "assert.h"
+#include <cassert>
 #include <map>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -71,5 +74,5 @@
       return; //obj_list = &top_level_objects;
     else {
-      ASSERT(parent != &obj);
+      assert(parent != &obj);
       const sc_object *pobj      = (const sc_module *) parent;
       obj_list = &(object2childs[pobj]);
Index: branches/with_autoconf/src/module_hierarchy2dot.cc
===================================================================
--- branches/with_autoconf/src/module_hierarchy2dot.cc	(revision 7)
+++ branches/with_autoconf/src/module_hierarchy2dot.cc	(revision 8)
@@ -43,6 +43,9 @@
 #include "sc_signal.h"
 #include "entity.h"
-#include "assert.h"
+#include <cassert>
 #include "internal.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -88,5 +91,5 @@
       const entity &in_entity  = *it;
       sc_object    *in_obj     = in_entity.object;
-      ASSERT(in_obj != NULL);
+      assert(in_obj != NULL);
       const sc_module *in_parent = NULL;
       switch (in_entity.type) {
Index: branches/with_autoconf/src/mouchard_scheduling.cc
===================================================================
--- branches/with_autoconf/src/mouchard_scheduling.cc	(revision 7)
+++ branches/with_autoconf/src/mouchard_scheduling.cc	(revision 8)
@@ -45,4 +45,7 @@
 #include "sc_module.h"
 #include "sc_ver.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/port_dependency.cc
===================================================================
--- branches/with_autoconf/src/port_dependency.cc	(revision 7)
+++ branches/with_autoconf/src/port_dependency.cc	(revision 8)
@@ -44,4 +44,7 @@
 #include "sc_port.h"
 #include "sc_ver_ext.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -107,5 +110,5 @@
 	p.destination = &b;
 	aPortDependencyGraph.push_back (p);
-#if DUMP_PORT_DEPENDENCY
+#ifdef DUMP_PORT_DEPENDENCY
 	if (a) {
 		cerr << "'" << ((sc_object&)b).name()
Index: branches/with_autoconf/src/process_dependency.cc
===================================================================
--- branches/with_autoconf/src/process_dependency.cc	(revision 7)
+++ branches/with_autoconf/src/process_dependency.cc	(revision 8)
@@ -44,4 +44,7 @@
 #include "sc_module.h"
 #include "sc_ver.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/sc_bigint.h
===================================================================
--- branches/with_autoconf/src/sc_bigint.h	(revision 7)
+++ branches/with_autoconf/src/sc_bigint.h	(revision 8)
@@ -22,5 +22,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_biguint.h
===================================================================
--- branches/with_autoconf/src/sc_biguint.h	(revision 7)
+++ branches/with_autoconf/src/sc_biguint.h	(revision 8)
@@ -18,5 +18,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_bit.h
===================================================================
--- branches/with_autoconf/src/sc_bit.h	(revision 7)
+++ branches/with_autoconf/src/sc_bit.h	(revision 8)
@@ -13,9 +13,9 @@
 #define __SC_BIT_H__
 
-#include"sc_nbdefs.h"
-#include"sc_fwd.h"
-#include"sc_logic.h"
-#include"sc_string.h"
-#include"sc_numrep.h"
+#include "sc_nbdefs.h"
+#include "sc_fwd.h"
+#include "sc_logic.h"
+#include "sc_string.h"
+#include "sc_numrep.h"
 
 // ----------------------------------------------------------------------------
Index: branches/with_autoconf/src/sc_bv.h
===================================================================
--- branches/with_autoconf/src/sc_bv.h	(revision 7)
+++ branches/with_autoconf/src/sc_bv.h	(revision 8)
@@ -18,10 +18,10 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
-#include"sc_logic.h"
-#include"sc_unsigned.h"
-#include"sc_signed.h"
-#include"sc_uint.h"
-#include"sc_int.h"
+#include "sc_nbdefs.h"
+#include "sc_logic.h"
+#include "sc_unsigned.h"
+#include "sc_signed.h"
+#include "sc_uint.h"
+#include "sc_int.h"
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_clock.cc
===================================================================
--- branches/with_autoconf/src/sc_clock.cc	(revision 7)
+++ branches/with_autoconf/src/sc_clock.cc	(revision 8)
@@ -35,6 +35,9 @@
  */
 
-#include"sc_clock.h"
-#include"assert.h"
+#include "sc_clock.h"
+#include <cassert>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -69,7 +72,7 @@
 {
 	init ();
-  ASSERT(period_     == 1);
-  ASSERT(duty_cycle_ == 0.5);
-  ASSERT(start_time_ == SC_ZERO_TIME);
+  assert(period_     == 1);
+  assert(duty_cycle_ == 0.5);
+  assert(start_time_ == SC_ZERO_TIME);
   posedge_first = posedge_first_;
 }
@@ -82,7 +85,7 @@
 {
 	init ();
-  ASSERT(period_     == 1);
-  ASSERT(duty_cycle_ == 0.5);
-  ASSERT(start_time_ == SC_ZERO_TIME);
+  assert(period_     == 1);
+  assert(duty_cycle_ == 0.5);
+  assert(start_time_ == SC_ZERO_TIME);
   posedge_first = posedge_first_;
 }
Index: branches/with_autoconf/src/sc_clock.h
===================================================================
--- branches/with_autoconf/src/sc_clock.h	(revision 7)
+++ branches/with_autoconf/src/sc_clock.h	(revision 8)
@@ -14,5 +14,5 @@
 #define __SC_CLOCK_H__
 
-#include"sc_clock_ext.h"
+#include "sc_clock_ext.h"
 
 
Index: branches/with_autoconf/src/sc_event.cc
===================================================================
--- branches/with_autoconf/src/sc_event.cc	(revision 7)
+++ branches/with_autoconf/src/sc_event.cc	(revision 8)
@@ -35,8 +35,11 @@
 
 
-#include<iostream>
-#include"sc_event.h"
-#include"sc_interface.h"
-#include"sc_port_ext.h"
+#include <iostream>
+#include "sc_event.h"
+#include "sc_interface.h"
+#include "sc_port_ext.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/sc_event.h
===================================================================
--- branches/with_autoconf/src/sc_event.h	(revision 7)
+++ branches/with_autoconf/src/sc_event.h	(revision 8)
@@ -13,5 +13,5 @@
 #define __SC_EVENT_H__
 
-#include"sc_fwd.h"
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_event_finder.cc
===================================================================
--- branches/with_autoconf/src/sc_event_finder.cc	(revision 7)
+++ branches/with_autoconf/src/sc_event_finder.cc	(revision 8)
@@ -35,5 +35,8 @@
 
 
-#include"sc_event_finder.h"
+#include "sc_event_finder.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_event_finder.h
===================================================================
--- branches/with_autoconf/src/sc_event_finder.h	(revision 7)
+++ branches/with_autoconf/src/sc_event_finder.h	(revision 8)
@@ -13,5 +13,5 @@
 #define __SC_EVENT_FINDER_H__
 
-#include"sc_fwd.h"
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_int.h
===================================================================
--- branches/with_autoconf/src/sc_int.h	(revision 7)
+++ branches/with_autoconf/src/sc_int.h	(revision 8)
@@ -28,5 +28,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_interface.cc
===================================================================
--- branches/with_autoconf/src/sc_interface.cc	(revision 7)
+++ branches/with_autoconf/src/sc_interface.cc	(revision 8)
@@ -34,9 +34,12 @@
  */
 
-#include"sc_interface.h"
-#include"sc_event.h"
-#include"assert.h"
-#include<iostream>
-#include<map>
+#include "sc_interface.h"
+#include "sc_event.h"
+#include "assert.h"
+#include <iostream>
+#include <map>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -105,5 +108,5 @@
 {
 	interface2infos_t::iterator i = interface2infos.find (this);
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (i == interface2infos.end ()) {
 		cerr << "Internal error : can't find data size of " << this << "\n";
@@ -118,5 +121,5 @@
 {
 	interface2infos_t::iterator i = interface2infos.find (this);
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (i == interface2infos.end ()) {
 		cerr << "Internal error : can't find default event of " << this << "\n";
Index: branches/with_autoconf/src/sc_interface.h
===================================================================
--- branches/with_autoconf/src/sc_interface.h	(revision 7)
+++ branches/with_autoconf/src/sc_interface.h	(revision 8)
@@ -13,6 +13,6 @@
 #define __SC_INTERFACE_H__
 
-#include"sc_fwd.h"
-#include"internal_ext.h"
+#include "sc_fwd.h"
+#include "internal_ext.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_logic.cc
===================================================================
--- branches/with_autoconf/src/sc_logic.cc	(revision 7)
+++ branches/with_autoconf/src/sc_logic.cc	(revision 8)
@@ -39,5 +39,8 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_logic.h"
+#include "sc_logic.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_logic.h
===================================================================
--- branches/with_autoconf/src/sc_logic.h	(revision 7)
+++ branches/with_autoconf/src/sc_logic.h	(revision 8)
@@ -18,6 +18,6 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
-#include"sc_fwd.h"
+#include "sc_nbdefs.h"
+#include "sc_fwd.h"
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_lv.h
===================================================================
--- branches/with_autoconf/src/sc_lv.h	(revision 7)
+++ branches/with_autoconf/src/sc_lv.h	(revision 8)
@@ -18,10 +18,10 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
-#include"sc_logic.h"
-#include"sc_unsigned.h"
-#include"sc_signed.h"
-#include"sc_uint.h"
-#include"sc_int.h"
+#include "sc_nbdefs.h"
+#include "sc_logic.h"
+#include "sc_unsigned.h"
+#include "sc_signed.h"
+#include "sc_uint.h"
+#include "sc_int.h"
 
 
Index: branches/with_autoconf/src/sc_main.cc
===================================================================
--- branches/with_autoconf/src/sc_main.cc	(revision 7)
+++ branches/with_autoconf/src/sc_main.cc	(revision 8)
@@ -35,17 +35,20 @@
  */
 
-#include<sstream>
-#include<string>
-#include<list>
-#include<set>
-#include"internal.h"
-#include"global_functions.h"
-#include"sc_ver.h"
-#include"sc_module.h"
-#include"sc_signal.h" // pending_write_vector
-#include"dump_dot.h"
-#include"dump_used_options.h"
-#include"dump_used_env.h"
-#include"assert.h"
+#include <sstream>
+#include <string>
+#include <list>
+#include <set>
+#include "internal.h"
+#include "global_functions.h"
+#include "sc_ver.h"
+#include "sc_module.h"
+#include "sc_signal.h" // pending_write_vector
+#include "dump_dot.h"
+#include "dump_used_options.h"
+#include "dump_used_env.h"
+#include <cassert>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 //
@@ -59,5 +62,9 @@
 
 bool        check_port_dependencies = false;
+#ifdef CONFIG_DEFAULT_RUNTIME_COMPILATION
+bool        dynamic_link_of_scheduling_code = true;
+#else
 bool        dynamic_link_of_scheduling_code = false;
+#endif
 bool        dump_netlist_info       = false;
 bool        dump_funclist_info      = false;
@@ -107,5 +114,5 @@
   switch (scheduling_method) {
   case CASS_SCHEDULING :
-    ASSERT(use_port_dependency == false);
+    assert(use_port_dependency == false);
     break;
   case BUCHMANN_SCHEDULING :
@@ -124,5 +131,5 @@
     exit (33);
   }
-  ASSERT(use_port_dependency || use_sensitivity_list);
+  assert(use_port_dependency || use_sensitivity_list);
 }
 
Index: branches/with_autoconf/src/sc_module.cc
===================================================================
--- branches/with_autoconf/src/sc_module.cc	(revision 7)
+++ branches/with_autoconf/src/sc_module.cc	(revision 8)
@@ -49,5 +49,8 @@
 #include "sc_clock.h" // is_clock
 #include "entity.h"
-#include "assert.h"
+#include <cassert>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 //
@@ -161,5 +164,5 @@
   sensitivity_list_t::iterator i;
   for (i = sensitivity_list.begin (); i != sensitivity_list.end (); ++i) {
-#if defined(_DEBUG)
+#if defined(CONFIG_DEBUG) && 0
     if (i->get_interface() == NULL)
     {
@@ -239,5 +242,5 @@
 	  sensitive (this)
 {
-  ASSERT(nm != NULL);
+  assert(nm != NULL);
 #if 0
   cerr << "sc_module constructor with const char * parameter\n";
@@ -499,5 +502,5 @@
   if (m_pushed == false)
     return;
-  ASSERT(sc_core::module_name_stack.empty () == false);
+  assert(sc_core::module_name_stack.empty () == false);
   sc_core::module_name_stack.pop_back ();
 	modules_stack.pop ();
@@ -505,5 +508,5 @@
   cout << "~sc_module_name <- " << m_name << endl;
 #endif
-  ASSERT(temp_list.empty () == false);
+  assert(temp_list.empty () == false);
   sc_module *last1 = temp_list.back();
   temp_list.pop_back();
@@ -527,6 +530,6 @@
   if (m.dont_initialize == false)
   {
-    ASSERT(m.module != NULL);
-#if DEBUG
+    assert(m.module != NULL);
+#ifdef CONFIG_DEBUG
     std::cerr << "Warning : SystemCASS doesn't perform SC_METHOD(S) initializations.\n"
               << "Please turn off automatic initialization for '" << m.name 
Index: branches/with_autoconf/src/sc_module.h
===================================================================
--- branches/with_autoconf/src/sc_module.h	(revision 7)
+++ branches/with_autoconf/src/sc_module.h	(revision 8)
@@ -16,11 +16,11 @@
 #include "sc_module_ext.h"
 
-#include<list>
-#include<set>
-#include<stack>
-#include"sc_fwd.h"
-#include"internal.h"
-#include"sc_object.h"
-#include"sc_sensitive.h"
+#include <list>
+#include <set>
+#include <stack>
+#include "sc_fwd.h"
+#include "internal.h"
+#include "sc_object.h"
+#include "sc_sensitive.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_module_ext.h
===================================================================
--- branches/with_autoconf/src/sc_module_ext.h	(revision 7)
+++ branches/with_autoconf/src/sc_module_ext.h	(revision 8)
@@ -38,9 +38,9 @@
 #define __SC_MODULE_EXT_H__
 
-#include"sc_fwd.h"
-#include"internal_ext.h"
-#include"sc_object.h"
-#include"sc_sensitive.h"
-#include"serialization_ext.h"
+#include "sc_fwd.h"
+#include "internal_ext.h"
+#include "sc_object.h"
+#include "sc_sensitive.h"
+#include "serialization_ext.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_module_name.h
===================================================================
--- branches/with_autoconf/src/sc_module_name.h	(revision 7)
+++ branches/with_autoconf/src/sc_module_name.h	(revision 8)
@@ -14,5 +14,5 @@
 #define __SC_MODULE_NAME_H__
 
-#include"sc_fwd.h"
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_numrep.cc
===================================================================
--- branches/with_autoconf/src/sc_numrep.cc	(revision 7)
+++ branches/with_autoconf/src/sc_numrep.cc	(revision 8)
@@ -36,4 +36,7 @@
 #include <string>
 #include "sc_numrep.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_object.cc
===================================================================
--- branches/with_autoconf/src/sc_object.cc	(revision 7)
+++ branches/with_autoconf/src/sc_object.cc	(revision 8)
@@ -39,5 +39,5 @@
 #include <map>
 
-#include "assert.h"
+#include <cassert>
 #include "sc_object.h"
 //#include "sc_port.h"
@@ -45,4 +45,7 @@
 #include "sc_signal.h"
 #include "module_hierarchy.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -70,5 +73,5 @@
 //    out += ".";
   }
-//  ASSERT(name != NULL);
+//  assert(name != NULL);
   if (name)
     out += name;
@@ -202,5 +205,5 @@
 {
 	object2name_t::iterator i = object2fullname.find (this);
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (i == object2fullname.end ()) {
 		cerr << "Internal error : can't find name of " << this << "\n";
@@ -216,5 +219,5 @@
 /*
 	object2name_t::iterator i = object2fullname.find (this);
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (i == object2fullname.end ()) {
 		cerr << "Internal error : can't find name of " << this << "\n";
@@ -234,5 +237,5 @@
     string     out;
     sc_object* obj = *it;
-    ASSERT(obj != NULL);
+    assert(obj != NULL);
     build_full_name (out, *obj);
   }
@@ -242,5 +245,5 @@
 {
 	object2infos_t::iterator i = object2infos.find (this);
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (i == object2infos.end ()) {
 		cerr << "Internal error : can't find kind of " << this << "\n";
Index: branches/with_autoconf/src/sc_pat_trace.cc
===================================================================
--- branches/with_autoconf/src/sc_pat_trace.cc	(revision 7)
+++ branches/with_autoconf/src/sc_pat_trace.cc	(revision 8)
@@ -36,13 +36,16 @@
 
 
-#include"sc_trace.h"
-#include"sc_pat_trace.h"
-#include"sc_ver.h"
-#include"internal.h" // notrace
+#include "sc_trace.h"
+#include "sc_pat_trace.h"
+#include "sc_ver.h"
+#include "internal.h" // notrace
 
-#include<time.h>
-#include<string>
+#include <time.h>
+#include <string>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
-#ifdef PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 
 //-----------------------------------------
Index: branches/with_autoconf/src/sc_port.cc
===================================================================
--- branches/with_autoconf/src/sc_port.cc	(revision 7)
+++ branches/with_autoconf/src/sc_port.cc	(revision 8)
@@ -36,15 +36,18 @@
 
 
-#include<iomanip>
-#include<list>
-#include<map>
-#include<vector>
-
-#include"sc_port.h"
-#include"sc_signal.h"
-#include"sc_module.h"
-#include"entity.h"
-#include"global_functions.h"
-#include"assert.h"
+#include <iomanip>
+#include <list>
+#include <map>
+#include <vector>
+
+#include "sc_port.h"
+#include "sc_signal.h"
+#include "sc_module.h"
+#include "entity.h"
+#include "global_functions.h"
+#include <cassert>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 extern "C" {
@@ -56,6 +59,6 @@
 using namespace std;
 
-#ifdef CHECK_FSM_RULES
-#include"fsm_rules.h"
+#ifdef CONFIG_CHECK_FSM_RULES
+#include "fsm_rules.h"
 namespace sc_core {
 casc_fsm_step_t casc_fsm_step = ELABORATION;
@@ -110,5 +113,5 @@
 sc_port_base::init ()
 {
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (modules_stack.empty ()) {
 		cerr << "Internal error : modules stack empty\n";
@@ -235,5 +238,5 @@
 #endif
 #define iter (sc_core::pending_write_vector[i])
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 		if (iter.pointer == NULL) {
 			cerr << "Internal error : trying to apply a posted write from an unassigned signal/port\n";
@@ -257,5 +260,5 @@
   cerr << "done.\n";
 #endif
-#if defined(CHECK_MULTIWRITING2REGISTER)
+#if defined(CONFIG_CHECK_MULTIWRITING2REGISTER)
   sc_core::pending_writing2register_clear ();
 #endif
@@ -312,5 +315,5 @@
 {
   const tab_t *pointer = port.get_pointer ();
-  //ASSERT(pointer != NULL);
+  //assert(pointer != NULL);
   if (pointer == NULL)
     return false; // case : sc_in not bound
@@ -345,5 +348,5 @@
   {
     /*const*/ sc_port_base *port = i->first;
-    ASSERT(port != NULL);
+    assert(port != NULL);
     check_port (*port);
   }
@@ -352,5 +355,5 @@
 }
 
-#if defined(CHECK_MULTIWRITING2REGISTER)
+#if defined(CONFIG_CHECK_MULTIWRITING2REGISTER)
 typedef set<const tab_t*> pending_writing2register_set_t;
 pending_writing2register_set_t pending_writing2register_set;
Index: branches/with_autoconf/src/sc_port.h
===================================================================
--- branches/with_autoconf/src/sc_port.h	(revision 7)
+++ branches/with_autoconf/src/sc_port.h	(revision 8)
@@ -14,7 +14,7 @@
 #define __SC_PORT_H__
 
-#include"sc_port_ext.h"
-#include"sc_fwd.h"
-//#include"internal_ext.h"
+#include "sc_port_ext.h"
+#include "sc_fwd.h"
+//#include "internal_ext.h"
 
 #include <list>
Index: branches/with_autoconf/src/sc_port_ext.h
===================================================================
--- branches/with_autoconf/src/sc_port_ext.h	(revision 7)
+++ branches/with_autoconf/src/sc_port_ext.h	(revision 8)
@@ -15,14 +15,14 @@
 
 // Define registers writing method
-#include<iostream>
-#include"sc_fwd.h"
-#include"sc_nbdefs.h"
-//#include"sc_event_finder.h"
-#include"sc_event.h"
-#include"sc_object.h"
-#include"sc_interface.h"
-#include"internal_ext.h"
-#include"port_dependency_ext.h"
-#include"fsm_rules.h"
+#include <iostream>
+#include "sc_fwd.h"
+#include "sc_nbdefs.h"
+//#include "sc_event_finder.h"
+#include "sc_event.h"
+#include "sc_object.h"
+#include "sc_interface.h"
+#include "internal_ext.h"
+#include "port_dependency_ext.h"
+#include "fsm_rules.h"
 
 
@@ -53,5 +53,5 @@
 	///////////////////// DEPRECATED
 // C ANSI-only since it is needed to link with extern "C"
-// this declaration is not in casc.h since the CHECK_FSM_RULES macro
+// this declaration is not in casc.h since the CONFIG_CHECK_FSM_RULES macro
 // is not defined.
 
@@ -183,5 +183,5 @@
 	 	<< " on signal " << name () << "\n";
 #endif
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	if (casc_fsm_step == GEN_MOORE) {
 		std::cerr << "FSM rules error : trying to read on input port '" 
@@ -293,5 +293,5 @@
 	 	<< " on signal " << name () << "\n";
 #endif
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	if (casc_fsm_step == GEN_MOORE) {
 		std::cerr << "FSM rules error : trying to read on input/output port " 
@@ -315,5 +315,5 @@
             << " on in/out port (writing into a signal) '" << name () << "'\n";
 #endif
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	if ((casc_fsm_step != GEN_MOORE) && ( casc_fsm_step != GEN_MEALY)) {
 		std::cerr << "FSM rules error : trying to write on output port " 
@@ -324,5 +324,5 @@
 #endif
 //	T& ref = *(T*)(get_pointer());
-#if defined(CHECK_MULTIWRITING2PORT)
+#if defined(CONFIG_CHECK_MULTIWRITING2PORT)
   check_multiwriting2port ();
 #endif
Index: branches/with_autoconf/src/sc_sensitive.cc
===================================================================
--- branches/with_autoconf/src/sc_sensitive.cc	(revision 7)
+++ branches/with_autoconf/src/sc_sensitive.cc	(revision 8)
@@ -35,10 +35,13 @@
 
 
-#include"sc_sensitive.h"
-#include"sc_port.h"
-#include"sc_event.h"
-#include"sc_event_finder.h"
-#include"sc_module.h"
-#include"internal.h"
+#include "sc_sensitive.h"
+#include "sc_port.h"
+#include "sc_event.h"
+#include "sc_event_finder.h"
+#include "sc_module.h"
+#include "internal.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/sc_sensitive.h
===================================================================
--- branches/with_autoconf/src/sc_sensitive.h	(revision 7)
+++ branches/with_autoconf/src/sc_sensitive.h	(revision 8)
@@ -13,9 +13,9 @@
 #define __SC_SENSITIVE_H__
 
-#include<list>
-#include"sc_fwd.h"
-//#include"sc_event.h"
-//#include"sc_interface.h"
-//#include"internal_ext.h"
+#include <list>
+#include "sc_fwd.h"
+//#include "sc_event.h"
+//#include "sc_interface.h"
+//#include "internal_ext.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_signal.h
===================================================================
--- branches/with_autoconf/src/sc_signal.h	(revision 7)
+++ branches/with_autoconf/src/sc_signal.h	(revision 8)
@@ -15,14 +15,17 @@
 
 // Define registers writing method
-#include<iostream>
-#include"sc_fwd.h"
-#include"sc_nbdefs.h"
-//#include"sc_event_finder.h"
-//#include"sc_event.h"
-#include"sc_time.h" // SC_ZERO_TIME
-#include"sc_object.h"
-#include"sc_interface.h"
-#include"internal_ext.h"
+#include <iostream>
+#include "sc_fwd.h"
+#include "sc_nbdefs.h"
+//#include "sc_event_finder.h"
+//#include "sc_event.h"
+#include "sc_time.h" // SC_ZERO_TIME
+#include "sc_object.h"
+#include "sc_interface.h"
+#include "internal_ext.h"
+
+#ifdef CONFIG_CHECK_FSM_RULES
 #include "fsm_rules.h"
+#endif
 
 namespace sc_core {
@@ -41,5 +44,5 @@
 	///////////////////// DEPRECATED
 // C ANSI-only since it is needed to link with extern "C"
-// this declaration is not in casc.h since the CHECK_FSM_RULES macro
+// this declaration is not in casc.h since the CONFIG_CHECK_FSM_RULES macro
 // is not defined.
 
@@ -97,5 +100,5 @@
 		post_multiwrite (pointer_,value_);
 	} else {
-#if defined(DEBUG)
+#if defined(CONFIG_DEBUG)
 	if (pending_write_vector_nb >= pending_write_vector_capacity) {
 	//if (pending_write_vector_nb >= pending_write_vector_capacity * sizeof(pending_write)) {
@@ -105,5 +108,5 @@
 		exit (-1);
 	}
-#endif // DEBUG
+#endif // CONFIG_DEBUG
   pending_write_vector[pending_write_vector_nb].pointer = pointer_;
 //	pending_write_vector[pending_write_vector_nb++].value = *(reinterpret_cast<const base_type*const>(&value_)); => bug !
@@ -244,5 +247,5 @@
 	 	<< " on signal " << name () << "\n";
 #endif
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	// we can read value from sc_signal type (used like a register) at any time
 #endif	
@@ -256,5 +259,5 @@
 sc_signal<T>::write( const data_type& value_ )
 {
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	if ((casc_fsm_step != TRANSITION) 
 			&& ( casc_fsm_step != STIMULI)) {
@@ -265,5 +268,5 @@
 	}		
 #endif
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
   if (get_pointer() == NULL)
   {
@@ -272,5 +275,5 @@
   }
 #endif
-#ifdef CHECK_MULTIWRITING2REGISTER
+#ifdef CONFIG_CHECK_MULTIWRITING2REGISTER
   pending_writing2register_record_and_check (get_pointer ());
 #endif
Index: branches/with_autoconf/src/sc_time.cc
===================================================================
--- branches/with_autoconf/src/sc_time.cc	(revision 7)
+++ branches/with_autoconf/src/sc_time.cc	(revision 8)
@@ -35,9 +35,12 @@
 
 
-#include"sc_time.h"
+#include "sc_time.h"
 #include <time.h>
 #include <sys/time.h>
 #include <string>
 #include <sstream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_core {
Index: branches/with_autoconf/src/sc_trace.cc
===================================================================
--- branches/with_autoconf/src/sc_trace.cc	(revision 7)
+++ branches/with_autoconf/src/sc_trace.cc	(revision 8)
@@ -41,9 +41,12 @@
 #include "bit2string.h"
 #include "hex2string.h"
-#include "assert.h"
+#include <cassert>
 
 #include <list>
 #include <stdio.h>
 #include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 //-----------------------------------------
@@ -52,5 +55,5 @@
 
 //-----------------------------------------
-#ifdef PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 
 extern "C" {
@@ -62,5 +65,5 @@
 #include <stdio.h>
 
-#endif // PAT_TRACE_FORMAT
+#endif // CONFIG_PAT_TRACE_FORMAT
 //-----------------------------------------
 
@@ -164,5 +167,5 @@
     {
       sc_trace_file *tf = *ptf;
-      ASSERT(tf != NULL);
+      assert(tf != NULL);
 	  	trace (*tf, part);
     }
@@ -172,5 +175,5 @@
 }
 
-#if PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 static void
 pat_set_value (char *buf, const signal2trace &s)
@@ -282,5 +285,5 @@
 {
 }
-#endif // PAT_TRACE_FORMAT
+#endif // CONFIG_PAT_TRACE_FORMAT
 
 static
@@ -413,5 +416,5 @@
   else
     vcd_signal_table = (tab_t*) malloc (sizeof (tab_t) * size);
-#if DEBUG
+#ifdef CONFIG_DEBUG
   if (vcd_signal_table == NULL)
   {
@@ -485,5 +488,5 @@
       vcd_trace_init (tf);
   } else {
-#if defined(DEBUG)
+#if defined(CONFIG_DEBUG)
       if (vcd_signal_table == NULL)
       {
@@ -579,5 +582,5 @@
 &name)
 {
-#ifdef PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 	//exemple:
 	//DECLAR ("a", ":2", "X", IN, "3  downto 0", "" );
@@ -629,5 +632,5 @@
 #endif
 	DECLAR ((char*)(name.c_str ()), ":1", format, dir,(char *) downto.c_str(), "" );
-#endif // PAT_TRACE_FORMAT
+#endif // CONFIG_PAT_TRACE_FORMAT
 }
 
Index: branches/with_autoconf/src/sc_uint.h
===================================================================
--- branches/with_autoconf/src/sc_uint.h	(revision 7)
+++ branches/with_autoconf/src/sc_uint.h	(revision 8)
@@ -24,5 +24,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: branches/with_autoconf/src/sc_uint_subref_r.cc
===================================================================
--- branches/with_autoconf/src/sc_uint_subref_r.cc	(revision 7)
+++ branches/with_autoconf/src/sc_uint_subref_r.cc	(revision 8)
@@ -36,4 +36,7 @@
 #include <iostream>
 #include "sc_uint.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/sc_unsigned.h
===================================================================
--- branches/with_autoconf/src/sc_unsigned.h	(revision 7)
+++ branches/with_autoconf/src/sc_unsigned.h	(revision 8)
@@ -18,6 +18,6 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
-#include"sc_logic.h"
+#include "sc_nbdefs.h"
+#include "sc_logic.h"
 
 
Index: branches/with_autoconf/src/sc_vcd_trace.cc
===================================================================
--- branches/with_autoconf/src/sc_vcd_trace.cc	(revision 7)
+++ branches/with_autoconf/src/sc_vcd_trace.cc	(revision 8)
@@ -36,12 +36,15 @@
 
 
-#include"sc_trace.h"
-#include"sc_vcd_trace.h"
-#include"sc_ver.h"
-#include"internal.h"
-#include"assert.h"
+#include "sc_trace.h"
+#include "sc_vcd_trace.h"
+#include "sc_ver.h"
+#include "internal.h"
+#include <cassert>
 
-#include<time.h>
-#include<string>
+#include <time.h>
+#include <string>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 //-----------------------------------------*/
@@ -58,5 +61,5 @@
   if (notrace)
     return NULL;
-  ASSERT(name != NULL);
+  assert(name != NULL);
 	string filename;
 	filename = name;
Index: branches/with_autoconf/src/sc_ver.cc
===================================================================
--- branches/with_autoconf/src/sc_ver.cc	(revision 7)
+++ branches/with_autoconf/src/sc_ver.cc	(revision 8)
@@ -38,4 +38,7 @@
 #include <string>
 #include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_core {
@@ -60,5 +63,5 @@
 	"\n"
 	"         Cycle Accurate System Simulator\n"
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
   "            DEBUG version\n"
 #endif
Index: branches/with_autoconf/src/schedulers.cc
===================================================================
--- branches/with_autoconf/src/schedulers.cc	(revision 7)
+++ branches/with_autoconf/src/schedulers.cc	(revision 8)
@@ -35,15 +35,18 @@
  */
 
-#include<iostream>
-#include"sc_module.h" // method_process_t
-#include"gen_code.h"  // gen_scheduling_code_for_dynamic_link & gen_scheduling_code_for_static_func
-#include"internal.h"  // dump_all_graph
-#include"graph_cass.h" // makegraph
-#include"process_dependency.h" // MakeProcessDependencyList
-#include"signal_dependency.h" // MakeSignalDependencyGraph
-#include"mouchard_scheduling.h" // MakeMouchardScheduling
-#include"graph_signals.h" // makegraph
-//#include"module_hierarchy2dot.h"
-#include"assert.h"
+#include <iostream>
+#include "sc_module.h" // method_process_t
+#include "gen_code.h"  // gen_scheduling_code_for_dynamic_link & gen_scheduling_code_for_static_func
+#include "internal.h"  // dump_all_graph
+#include "graph_cass.h" // makegraph
+#include "process_dependency.h" // MakeProcessDependencyList
+#include "signal_dependency.h" // MakeSignalDependencyGraph
+#include "mouchard_scheduling.h" // MakeMouchardScheduling
+#include "graph_signals.h" // makegraph
+//#include "module_hierarchy2dot.h"
+#include <cassert>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -94,6 +97,6 @@
                          const method_process_t *a2)
 {
-  ASSERT(a1 != NULL);
-  ASSERT(a2 != NULL);
+  assert(a1 != NULL);
+  assert(a2 != NULL);
   sc_module *m1 = a1->module;
   sc_module *m2 = a2->module;
@@ -113,5 +116,5 @@
     addr1.func = a1->func;
     addr2.func = a2->func;
-    ASSERT(addr1.addr_ll != addr2.addr_ll);
+    assert(addr1.addr_ll != addr2.addr_ll);
     if ( sizeof(SC_ENTRY_FUNC) == 4 ) {
         return (addr1.addr_l < addr2.addr_l);
@@ -129,6 +132,6 @@
                     const method_process_t *a2)
 {
-  ASSERT(a1 != NULL);
-  ASSERT(a2 != NULL);
+  assert(a1 != NULL);
+  assert(a2 != NULL);
   return (a1->module < a2->module);
 }
@@ -139,6 +142,6 @@
                  const method_process_t *a2)
 {
-    ASSERT(a1 != NULL);
-    ASSERT(a2 != NULL);
+    assert(a1 != NULL);
+    assert(a2 != NULL);
     union {
         SC_ENTRY_FUNC func;
@@ -236,8 +239,8 @@
 {
   SignalDependencyGraph *sig_graph = MakeAcyclicSignalDependencyGraph ();
-  ASSERT(sig_graph != NULL);
+  assert(sig_graph != NULL);
   // Create the process evaluation list
   ProcessDependencyList* process_list = MakeMouchardScheduling (*sig_graph);
-  ASSERT(process_list != NULL);
+  assert(process_list != NULL);
 
   if (dump_all_graph)
@@ -283,6 +286,8 @@
     // Uses port dependancies like Dr. Mouchard.
     ProcessDependencyList* process_list = BuchmannScheduling ();
-    base_name = gen_scheduling_code_for_dynamic_link (transition_func_list, moore_func_list,*process_list);
-    gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
+	if (dynamic_link_of_scheduling_code)
+		base_name = gen_scheduling_code_for_dynamic_link (transition_func_list, moore_func_list,*process_list);
+	else
+		gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
     break;
   }
@@ -294,6 +299,8 @@
     // and does not use an event-driven scheduler.
     ProcessDependencyList* process_list = MouchardScheduling ();
-    base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*process_list);
-    gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
+	if (dynamic_link_of_scheduling_code)
+		base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*process_list);
+	else
+		gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
     break;
   }
@@ -306,6 +313,8 @@
       graph2dot("module_graph", *g);
     strong_component_list_t *strong_list = strong_component (g);
-    base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*strong_list);
-    gen_scheduling_code_for_quasistatic_func (transition_func_list, moore_func_list, *strong_list);
+	if (dynamic_link_of_scheduling_code)
+		base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*strong_list);
+	else
+		gen_scheduling_code_for_quasistatic_func (transition_func_list, moore_func_list, *strong_list);
     break;
   }
Index: branches/with_autoconf/src/schedulers.h
===================================================================
--- branches/with_autoconf/src/schedulers.h	(revision 7)
+++ branches/with_autoconf/src/schedulers.h	(revision 8)
@@ -13,6 +13,6 @@
 #define __SCHEDULERS_H__
 
-#include"sc_fwd.h"
-#include"sc_time.h"
+#include "sc_fwd.h"
+#include "sc_time.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/serialization.cc
===================================================================
--- branches/with_autoconf/src/serialization.cc	(revision 7)
+++ branches/with_autoconf/src/serialization.cc	(revision 8)
@@ -35,14 +35,17 @@
 
 
-#include<vector>
-#include<map>
-#include<fstream> // save_module_hierarchy
-#include"internal_ext.h" // tab_t
-#include"serialization.h"
-#include"entity.h"
-#include"sc_module.h"
-#include"sc_object.h"
-#include"hex2string.h"
-#include"assert.h"
+#include <vector>
+#include <map>
+#include <fstream> // save_module_hierarchy
+#include "internal_ext.h" // tab_t
+#include "serialization.h"
+#include "entity.h"
+#include "sc_module.h"
+#include "sc_object.h"
+#include "hex2string.h"
+#include <cassert>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -83,5 +86,5 @@
             int          bit_number)
 {
-  ASSERT(bit_number <= 64);
+  assert(bit_number <= 64);
   if (bit_number == 1) {
     bool v = *((const bool*) val);
@@ -139,5 +142,5 @@
                     save_fct_t1      fct)
 {
-  //ASSERT(fct != NULL);
+  //assert(fct != NULL);
   //sc_module2save_fct_t1::value_type pair(&mod,fct);
   //save_handler_table.insert (pair);
@@ -157,6 +160,6 @@
     const sc_module *mod = it->first;
     save_fct_t1      fct = it->second;
-    ASSERT(mod != NULL);
-//    ASSERT(fct != NULL);
+    assert(mod != NULL);
+//    assert(fct != NULL);
     //o << mod->name () << endl;
     fprintf (o,"module\n%s\n",mod->name ());
@@ -184,5 +187,5 @@
   file.close ();
   FILE *f = fopen (filename, "a+");
-  ASSERT(f != NULL);
+  assert(f != NULL);
   save_modules (f);
   fclose (f);
Index: branches/with_autoconf/src/serialization.h
===================================================================
--- branches/with_autoconf/src/serialization.h	(revision 7)
+++ branches/with_autoconf/src/serialization.h	(revision 8)
@@ -13,6 +13,6 @@
 #define __SERIALIZATION_H__
 
-#include"serialization_ext.h"
-#include"sc_fwd.h"
+#include "serialization_ext.h"
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/serialization_ext.h
===================================================================
--- branches/with_autoconf/src/serialization_ext.h	(revision 7)
+++ branches/with_autoconf/src/serialization_ext.h	(revision 8)
@@ -37,6 +37,6 @@
 #define __SERIALIZATION_EXT_H__
 
-#include<iostream>
-#include"sc_fwd.h"
+#include <iostream>
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: branches/with_autoconf/src/signal_dependency.cc
===================================================================
--- branches/with_autoconf/src/signal_dependency.cc	(revision 7)
+++ branches/with_autoconf/src/signal_dependency.cc	(revision 8)
@@ -43,4 +43,7 @@
 #include "sc_module.h"
 #include "sc_ver_ext.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/simplify_string.cc
===================================================================
--- branches/with_autoconf/src/simplify_string.cc	(revision 7)
+++ branches/with_autoconf/src/simplify_string.cc	(revision 8)
@@ -35,4 +35,7 @@
 
 #include "simplify_string.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: branches/with_autoconf/src/systemc
===================================================================
--- branches/with_autoconf/src/systemc	(revision 7)
+++ branches/with_autoconf/src/systemc	(revision 8)
@@ -29,5 +29,4 @@
 #include"sc_vcd_trace.h"
 #include"sc_pat_trace.h"
-#include"endianness.h"
 
 #endif
