Index: sources/src/Makefile
===================================================================
--- sources/src/Makefile	(revision 22)
+++ 	(revision )
@@ -1,393 +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 guess_endianness.x
-	#rm -f $(DOCS) # DONT do it. ${DOCS} includes txt files...
Index: sources/src/Makefile.am
===================================================================
--- sources/src/Makefile.am	(revision 27)
+++ sources/src/Makefile.am	(revision 27)
@@ -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: sources/src/Options.def
===================================================================
--- sources/src/Options.def	(revision 22)
+++ 	(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: sources/src/SystemCASS.bib
===================================================================
--- sources/src/SystemCASS.bib	(revision 22)
+++ 	(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: sources/src/SystemCASS.tex
===================================================================
--- sources/src/SystemCASS.tex	(revision 22)
+++ 	(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: sources/src/alias.cc
===================================================================
--- sources/src/alias.cc	(revision 22)
+++ sources/src/alias.cc	(revision 27)
@@ -33,6 +33,9 @@
  */
 
-#include"alias.h"
-#include<iostream>
+#include "alias.h"
+#include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 const char * alias ()
Index: sources/src/assert.h
===================================================================
--- sources/src/assert.h	(revision 22)
+++ 	(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: sources/src/bit2string.cc
===================================================================
--- sources/src/bit2string.cc	(revision 22)
+++ sources/src/bit2string.cc	(revision 27)
@@ -41,4 +41,7 @@
 #include <cstdlib>
 #include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 	
 using namespace std;
Index: sources/src/casc.h
===================================================================
--- sources/src/casc.h	(revision 22)
+++ sources/src/casc.h	(revision 27)
@@ -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: sources/src/data_field.h
===================================================================
--- sources/src/data_field.h	(revision 22)
+++ sources/src/data_field.h	(revision 27)
@@ -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: sources/src/dump_dot.cc
===================================================================
--- sources/src/dump_dot.cc	(revision 22)
+++ sources/src/dump_dot.cc	(revision 27)
@@ -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: sources/src/dump_used_env.cc
===================================================================
--- sources/src/dump_used_env.cc	(revision 22)
+++ sources/src/dump_used_env.cc	(revision 27)
@@ -36,4 +36,7 @@
 #include <cstdlib>
 #include "dump_used_env.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 std::string
Index: sources/src/dump_used_options.cc
===================================================================
--- sources/src/dump_used_options.cc	(revision 22)
+++ sources/src/dump_used_options.cc	(revision 27)
@@ -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: sources/src/entity.cc
===================================================================
--- sources/src/entity.cc	(revision 22)
+++ sources/src/entity.cc	(revision 27)
@@ -35,15 +35,18 @@
  */
 
-#include<cstring>
-#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 <cstring>
+#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;
@@ -175,5 +178,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
@@ -240,5 +243,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;
@@ -357,5 +360,5 @@
 	}
 	
-#if defined(DUMP_SIGNALS_STATS)
+#if defined(DUMP_SIGNAL_STATS)
 	static unsigned int equi_real_size;
 #endif
@@ -389,5 +392,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
@@ -403,5 +406,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) {
@@ -455,5 +458,5 @@
     o << ")";
 #else
-   ASSERT(e.object != NULL); 
+   assert(e.object != NULL); 
    o << e.object->name ();
 #endif
@@ -494,5 +497,5 @@
   print_table_stats (ostream &o)
   {
-#if defined(DUMP_SIGNALS_STATS)
+#if defined(DUMP_SIGNAL_STATS)
 		int nb_reg = 0;
 		int nb_sig = 0;
@@ -537,5 +540,5 @@
 	}
 	const entity &ent = *(eq.begin ());
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (ent.type != sc_core::entity::SIGNAL)
 		exit(28);
@@ -544,5 +547,5 @@
 	const char *sig_name = ent.object->name ();
 	const char *sep  = strchr (sig_name,'.');
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (sep == NULL) {
 		exit (30);
@@ -595,5 +598,5 @@
 #endif
 
-#if defined(DUMP_SIGNALS_STATS)
+#if defined(DUMP_SIGNAL_STATS)
 static unsigned int equi_real_size;
 #endif
@@ -603,5 +606,5 @@
 {
 #if 0 
-//defined(DEBUG)
+//defined(CONFIG_DEBUG)
   equi_list_t::iterator x_equi = get_equi (x);
   if ((x_equi != equi_list.end())) {
@@ -640,6 +643,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: sources/src/entity.h
===================================================================
--- sources/src/entity.h	(revision 22)
+++ sources/src/entity.h	(revision 27)
@@ -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: sources/src/fsm_rules.h
===================================================================
--- sources/src/fsm_rules.h	(revision 22)
+++ sources/src/fsm_rules.h	(revision 27)
@@ -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: sources/src/gen_code.cc
===================================================================
--- sources/src/gen_code.cc	(revision 22)
+++ sources/src/gen_code.cc	(revision 27)
@@ -34,7 +34,7 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-#ifndef _WIN32
+#if defined(__linux__)
 #include <linux/limits.h>
-#else
+#elif defined(WIN32)
 #include <windows.h>
 #endif
@@ -45,21 +45,24 @@
 #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 "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
+
+// Enable CPP call, this is useful for typeinfo-enabled classes
+#define CPP_CALL
 
 using namespace std;
@@ -91,5 +94,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";
@@ -143,5 +146,5 @@
   }
 
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
   cerr << "opened temporary filename : " << temp << "\n";
 #endif
@@ -268,7 +271,7 @@
 
   o << "// generated by " << sc_version () << endl
-		<< "#include<casc.h>\n\n"
-		<< "#include<cstdio>\n\n"
-//		<< "#include<iostream>\n\n"
+		<< "#include <casc.h>\n\n"
+		<< "#include <cstdio>\n\n"
+//		<< "#include <iostream>\n\n"
 		<< "namespace sc_core {\n"
     << " typedef void (sc_module::*SC_ENTRY_FUNC)();\n"
@@ -329,7 +332,7 @@
 
   o << "// generated by " << sc_version () << endl
-		<< "#include<casc.h>\n\n"
-		<< "#include<cstdio>\n\n"
-//		<< "#include<iostream>\n\n"
+		<< "#include <casc.h>\n\n"
+		<< "#include <cstdio>\n\n"
+//		<< "#include <iostream>\n\n"
 		<< "namespace sc_core {\n"
     << " typedef void (sc_module::*SC_ENTRY_FUNC)();\n"
@@ -377,5 +380,5 @@
 //  const char *target_arch = getenv ("TARGET_ARCH");
 	const char *default_compiler =
-#if CPP_CALL
+#ifdef CPP_CALL
 		"g++";
 #else
@@ -418,33 +421,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) 
@@ -461,5 +452,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 */ 
@@ -560,5 +551,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;
@@ -575,18 +566,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
@@ -634,5 +625,5 @@
 void quasistatic_simulate_1_cycle (void) 
 {
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = TRANSITION;
 #endif
@@ -644,5 +635,5 @@
   }
   update     ();
-#ifdef CHECK_FSM_RULES
+#ifdef CONFIG_CHECK_FSM_RULES
 	casc_fsm_step = GEN_MOORE;
 #endif
@@ -652,9 +643,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: sources/src/gen_code.h
===================================================================
--- sources/src/gen_code.h	(revision 22)
+++ sources/src/gen_code.h	(revision 27)
@@ -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: sources/src/global_functions.cc
===================================================================
--- sources/src/global_functions.cc	(revision 22)
+++ sources/src/global_functions.cc	(revision 27)
@@ -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: sources/src/global_functions.h
===================================================================
--- sources/src/global_functions.h	(revision 22)
+++ sources/src/global_functions.h	(revision 27)
@@ -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: sources/src/graph.cc
===================================================================
--- sources/src/graph.cc	(revision 22)
+++ sources/src/graph.cc	(revision 27)
@@ -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: sources/src/graph_cass.cc
===================================================================
--- sources/src/graph_cass.cc	(revision 22)
+++ sources/src/graph_cass.cc	(revision 27)
@@ -130,4 +130,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: sources/src/graph_signals.cc
===================================================================
--- sources/src/graph_signals.cc	(revision 22)
+++ sources/src/graph_signals.cc	(revision 27)
@@ -138,4 +138,7 @@
 #include "sc_module.h"
 #include "sc_port.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: sources/src/guess_endianness.cc
===================================================================
--- sources/src/guess_endianness.cc	(revision 22)
+++ 	(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 <cstdio>
-
-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: sources/src/guess_os.sh
===================================================================
--- sources/src/guess_os.sh	(revision 22)
+++ 	(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: sources/src/hex2string.cc
===================================================================
--- sources/src/hex2string.cc	(revision 22)
+++ sources/src/hex2string.cc	(revision 27)
@@ -41,4 +41,7 @@
 #include <cstdlib>
 #include <iostream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 	
 using namespace std;
Index: sources/src/methodprocess_dependency.cc
===================================================================
--- sources/src/methodprocess_dependency.cc	(revision 22)
+++ sources/src/methodprocess_dependency.cc	(revision 27)
@@ -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: sources/src/module_hierarchy.cc
===================================================================
--- sources/src/module_hierarchy.cc	(revision 22)
+++ sources/src/module_hierarchy.cc	(revision 27)
@@ -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
 #include <cstdlib>
 #include <cstring>
@@ -73,5 +76,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: sources/src/module_hierarchy2dot.cc
===================================================================
--- sources/src/module_hierarchy2dot.cc	(revision 22)
+++ sources/src/module_hierarchy2dot.cc	(revision 27)
@@ -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: sources/src/mouchard_scheduling.cc
===================================================================
--- sources/src/mouchard_scheduling.cc	(revision 22)
+++ sources/src/mouchard_scheduling.cc	(revision 27)
@@ -45,4 +45,7 @@
 #include "sc_module.h"
 #include "sc_ver.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: sources/src/port_dependency.cc
===================================================================
--- sources/src/port_dependency.cc	(revision 22)
+++ sources/src/port_dependency.cc	(revision 27)
@@ -45,4 +45,7 @@
 #include "sc_port.h"
 #include "sc_ver_ext.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -108,5 +111,5 @@
 	p.destination = &b;
 	aPortDependencyGraph.push_back (p);
-#if DUMP_PORT_DEPENDENCY
+#ifdef DUMP_PORT_DEPENDENCY
 	if (a) {
 		cerr << "'" << ((sc_object&)b).name()
Index: sources/src/process_dependency.cc
===================================================================
--- sources/src/process_dependency.cc	(revision 22)
+++ sources/src/process_dependency.cc	(revision 27)
@@ -44,4 +44,7 @@
 #include "sc_module.h"
 #include "sc_ver.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: sources/src/sc_bigint.h
===================================================================
--- sources/src/sc_bigint.h	(revision 22)
+++ sources/src/sc_bigint.h	(revision 27)
@@ -22,5 +22,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: sources/src/sc_biguint.h
===================================================================
--- sources/src/sc_biguint.h	(revision 22)
+++ sources/src/sc_biguint.h	(revision 27)
@@ -18,5 +18,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: sources/src/sc_bit.h
===================================================================
--- sources/src/sc_bit.h	(revision 22)
+++ sources/src/sc_bit.h	(revision 27)
@@ -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: sources/src/sc_bv.h
===================================================================
--- sources/src/sc_bv.h	(revision 22)
+++ sources/src/sc_bv.h	(revision 27)
@@ -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: sources/src/sc_clock.cc
===================================================================
--- sources/src/sc_clock.cc	(revision 22)
+++ sources/src/sc_clock.cc	(revision 27)
@@ -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: sources/src/sc_clock.h
===================================================================
--- sources/src/sc_clock.h	(revision 22)
+++ sources/src/sc_clock.h	(revision 27)
@@ -14,5 +14,5 @@
 #define __SC_CLOCK_H__
 
-#include"sc_clock_ext.h"
+#include "sc_clock_ext.h"
 
 
Index: sources/src/sc_event.cc
===================================================================
--- sources/src/sc_event.cc	(revision 22)
+++ sources/src/sc_event.cc	(revision 27)
@@ -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: sources/src/sc_event.h
===================================================================
--- sources/src/sc_event.h	(revision 22)
+++ sources/src/sc_event.h	(revision 27)
@@ -13,5 +13,6 @@
 #define __SC_EVENT_H__
 
-#include"sc_fwd.h"
+#include "sc_fwd.h"
+#include <iostream>
 #include<iostream>
 
Index: sources/src/sc_event_finder.cc
===================================================================
--- sources/src/sc_event_finder.cc	(revision 22)
+++ sources/src/sc_event_finder.cc	(revision 27)
@@ -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: sources/src/sc_event_finder.h
===================================================================
--- sources/src/sc_event_finder.h	(revision 22)
+++ sources/src/sc_event_finder.h	(revision 27)
@@ -13,5 +13,5 @@
 #define __SC_EVENT_FINDER_H__
 
-#include"sc_fwd.h"
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: sources/src/sc_int.h
===================================================================
--- sources/src/sc_int.h	(revision 22)
+++ sources/src/sc_int.h	(revision 27)
@@ -29,5 +29,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: sources/src/sc_interface.cc
===================================================================
--- sources/src/sc_interface.cc	(revision 22)
+++ sources/src/sc_interface.cc	(revision 27)
@@ -34,9 +34,13 @@
  */
 
-#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
+#include <cstdlib>  //exit
 #include<cstdlib>  //exit
 
@@ -106,5 +110,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";
@@ -119,5 +123,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: sources/src/sc_interface.h
===================================================================
--- sources/src/sc_interface.h	(revision 22)
+++ sources/src/sc_interface.h	(revision 27)
@@ -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: sources/src/sc_logic.cc
===================================================================
--- sources/src/sc_logic.cc	(revision 22)
+++ sources/src/sc_logic.cc	(revision 27)
@@ -39,5 +39,8 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_logic.h"
+#include "sc_logic.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_dt {
Index: sources/src/sc_logic.h
===================================================================
--- sources/src/sc_logic.h	(revision 22)
+++ sources/src/sc_logic.h	(revision 27)
@@ -18,6 +18,6 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
-#include"sc_fwd.h"
+#include "sc_nbdefs.h"
+#include "sc_fwd.h"
 
 namespace sc_dt {
Index: sources/src/sc_lv.h
===================================================================
--- sources/src/sc_lv.h	(revision 22)
+++ sources/src/sc_lv.h	(revision 27)
@@ -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: sources/src/sc_main.cc
===================================================================
--- sources/src/sc_main.cc	(revision 22)
+++ sources/src/sc_main.cc	(revision 27)
@@ -35,18 +35,22 @@
  */
 
-#include<sstream>
-#include<list>
-#include<set>
-#include<cstring> // strcmp
-
-#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 <list>
+#include <set>
+#include <cstring> // strcmp
+#include <cassert>
+
+#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"
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 //
@@ -60,5 +64,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;
@@ -108,5 +116,5 @@
   switch (scheduling_method) {
   case CASS_SCHEDULING :
-    ASSERT(use_port_dependency == false);
+    assert(use_port_dependency == false);
     break;
   case BUCHMANN_SCHEDULING :
@@ -125,5 +133,5 @@
     exit (33);
   }
-  ASSERT(use_port_dependency || use_sensitivity_list);
+  assert(use_port_dependency || use_sensitivity_list);
 }
 
Index: sources/src/sc_module.cc
===================================================================
--- sources/src/sc_module.cc	(revision 22)
+++ sources/src/sc_module.cc	(revision 27)
@@ -48,5 +48,8 @@
 #include "sc_clock.h" // is_clock
 #include "entity.h"
-#include "assert.h"
+#include <cassert>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 //
@@ -160,5 +163,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)
     {
@@ -238,5 +241,5 @@
 	  sensitive (this)
 {
-  ASSERT(nm != NULL);
+  assert(nm != NULL);
 #if 0
   cerr << "sc_module constructor with const char * parameter\n";
@@ -498,5 +501,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 ();
@@ -504,5 +507,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();
@@ -526,6 +529,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: sources/src/sc_module.h
===================================================================
--- sources/src/sc_module.h	(revision 22)
+++ sources/src/sc_module.h	(revision 27)
@@ -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: sources/src/sc_module_ext.h
===================================================================
--- sources/src/sc_module_ext.h	(revision 22)
+++ sources/src/sc_module_ext.h	(revision 27)
@@ -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: sources/src/sc_module_name.h
===================================================================
--- sources/src/sc_module_name.h	(revision 22)
+++ sources/src/sc_module_name.h	(revision 27)
@@ -14,5 +14,5 @@
 #define __SC_MODULE_NAME_H__
 
-#include"sc_fwd.h"
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: sources/src/sc_numrep.cc
===================================================================
--- sources/src/sc_numrep.cc	(revision 22)
+++ sources/src/sc_numrep.cc	(revision 27)
@@ -36,4 +36,7 @@
 #include <string>
 #include "sc_numrep.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_dt {
Index: sources/src/sc_object.cc
===================================================================
--- sources/src/sc_object.cc	(revision 22)
+++ sources/src/sc_object.cc	(revision 27)
@@ -40,5 +40,5 @@
 #include <map>
 
-#include "assert.h"
+#include <cassert>
 #include "sc_object.h"
 //#include "sc_port.h"
@@ -46,4 +46,7 @@
 #include "sc_signal.h"
 #include "module_hierarchy.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -71,5 +74,5 @@
 //    out += ".";
   }
-//  ASSERT(name != NULL);
+//  assert(name != NULL);
   if (name)
     out += name;
@@ -203,5 +206,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";
@@ -217,5 +220,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";
@@ -235,5 +238,5 @@
     string     out;
     sc_object* obj = *it;
-    ASSERT(obj != NULL);
+    assert(obj != NULL);
     build_full_name (out, *obj);
   }
@@ -243,5 +246,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: sources/src/sc_pat_trace.cc
===================================================================
--- sources/src/sc_pat_trace.cc	(revision 22)
+++ sources/src/sc_pat_trace.cc	(revision 27)
@@ -36,12 +36,15 @@
 
 
-#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<ctime>
+#include <ctime>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
-#ifdef PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 
 //-----------------------------------------
Index: sources/src/sc_port.cc
===================================================================
--- sources/src/sc_port.cc	(revision 22)
+++ sources/src/sc_port.cc	(revision 27)
@@ -36,13 +36,17 @@
 
 
-#include<iomanip>
-#include<map>
-
-#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 <map>
+#include <cassert>
+
+#include "sc_port.h"
+#include "sc_signal.h"
+#include "sc_module.h"
+#include "entity.h"
+#include "global_functions.h"
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 extern "C" {
@@ -54,6 +58,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;
@@ -108,5 +112,5 @@
 sc_port_base::init ()
 {
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
 	if (modules_stack.empty ()) {
 		cerr << "Internal error : modules stack empty\n";
@@ -233,5 +237,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";
@@ -255,5 +259,5 @@
   cerr << "done.\n";
 #endif
-#if defined(CHECK_MULTIWRITING2REGISTER)
+#if defined(CONFIG_CHECK_MULTIWRITING2REGISTER)
   sc_core::pending_writing2register_clear ();
 #endif
@@ -310,5 +314,5 @@
 {
   const tab_t *pointer = port.get_pointer ();
-  //ASSERT(pointer != NULL);
+  //assert(pointer != NULL);
   if (pointer == NULL)
     return false; // case : sc_in not bound
@@ -343,5 +347,5 @@
   {
     /*const*/ sc_port_base *port = i->first;
-    ASSERT(port != NULL);
+    assert(port != NULL);
     check_port (*port);
   }
@@ -350,5 +354,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: sources/src/sc_port.h
===================================================================
--- sources/src/sc_port.h	(revision 22)
+++ sources/src/sc_port.h	(revision 27)
@@ -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: sources/src/sc_port_ext.h
===================================================================
--- sources/src/sc_port_ext.h	(revision 22)
+++ sources/src/sc_port_ext.h	(revision 27)
@@ -15,15 +15,15 @@
 
 // Define registers writing method
-#include<iostream>
-#include<cstdlib>
-#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 <cstdlib>
+#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"
 
 
@@ -54,5 +54,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.
 
@@ -184,5 +184,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 '" 
@@ -294,5 +294,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 " 
@@ -316,5 +316,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 " 
@@ -325,5 +325,5 @@
 #endif
 //	T& ref = *(T*)(get_pointer());
-#if defined(CHECK_MULTIWRITING2PORT)
+#if defined(CONFIG_CHECK_MULTIWRITING2PORT)
   check_multiwriting2port ();
 #endif
Index: sources/src/sc_sensitive.cc
===================================================================
--- sources/src/sc_sensitive.cc	(revision 22)
+++ sources/src/sc_sensitive.cc	(revision 27)
@@ -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: sources/src/sc_sensitive.h
===================================================================
--- sources/src/sc_sensitive.h	(revision 22)
+++ sources/src/sc_sensitive.h	(revision 27)
@@ -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: sources/src/sc_signal.h
===================================================================
--- sources/src/sc_signal.h	(revision 22)
+++ sources/src/sc_signal.h	(revision 27)
@@ -15,15 +15,18 @@
 
 // Define registers writing method
-#include<iostream>
-#include<cstdlib>
-#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 <cstdlib>
+#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 {
@@ -42,5 +45,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.
 
@@ -79,5 +82,5 @@
 	size_t size = (sizeof (T)-1) / sizeof (base_type);
 	size_t i = 0;
-	const base_type *pvalue = (const base_type*)(&value_);
+	const base_type *pvalue = (const base_type*)(void*)(&value_);
 	do {
 #if 0
@@ -98,5 +101,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)) {
@@ -106,5 +109,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 !
@@ -229,5 +232,5 @@
 sc_signal<T>::init()
 {
-  set_pointer ((tab_t*)&val);
+	set_pointer ((tab_t*)(void*)&val);
   set_kind    (kind_string);
   sc_interface::init (sizeof (data_type)); 
@@ -247,5 +250,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	
@@ -259,5 +262,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)) {
@@ -268,5 +271,5 @@
 	}		
 #endif
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
   if (get_pointer() == NULL)
   {
@@ -275,5 +278,5 @@
   }
 #endif
-#ifdef CHECK_MULTIWRITING2REGISTER
+#ifdef CONFIG_CHECK_MULTIWRITING2REGISTER
   pending_writing2register_record_and_check (get_pointer ());
 #endif
Index: sources/src/sc_time.cc
===================================================================
--- sources/src/sc_time.cc	(revision 22)
+++ sources/src/sc_time.cc	(revision 27)
@@ -35,9 +35,12 @@
 
 
-#include"sc_time.h"
+#include "sc_time.h"
 #include <ctime>
 #include <sys/time.h>
 #include <string>
 #include <sstream>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 namespace sc_core {
Index: sources/src/sc_trace.cc
===================================================================
--- sources/src/sc_trace.cc	(revision 22)
+++ sources/src/sc_trace.cc	(revision 27)
@@ -41,6 +41,6 @@
 #include "bit2string.h"
 #include "hex2string.h"
-#include "assert.h"
-
+
+#include <cassert>
 #include <list>
 #include <cstdio>
@@ -48,4 +48,8 @@
 #include <cstring> //strlen
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 //-----------------------------------------
 
@@ -53,5 +57,5 @@
 
 //-----------------------------------------
-#ifdef PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 
 extern "C" {
@@ -63,5 +67,5 @@
 #include <cstdio>
 
-#endif // PAT_TRACE_FORMAT
+#endif // CONFIG_PAT_TRACE_FORMAT
 //-----------------------------------------
 
@@ -165,5 +169,5 @@
     {
       sc_trace_file *tf = *ptf;
-      ASSERT(tf != NULL);
+      assert(tf != NULL);
 	  	trace (*tf, part);
     }
@@ -173,5 +177,5 @@
 }
 
-#if PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 static void
 pat_set_value (char *buf, const signal2trace &s)
@@ -283,5 +287,5 @@
 {
 }
-#endif // PAT_TRACE_FORMAT
+#endif // CONFIG_PAT_TRACE_FORMAT
 
 static
@@ -414,5 +418,5 @@
   else
     vcd_signal_table = (tab_t*) malloc (sizeof (tab_t) * size);
-#if DEBUG
+#ifdef CONFIG_DEBUG
   if (vcd_signal_table == NULL)
   {
@@ -486,5 +490,5 @@
       vcd_trace_init (tf);
   } else {
-#if defined(DEBUG)
+#if defined(CONFIG_DEBUG)
       if (vcd_signal_table == NULL)
       {
@@ -580,5 +584,5 @@
 &name)
 {
-#ifdef PAT_TRACE_FORMAT
+#ifdef CONFIG_PAT_TRACE_FORMAT
 	//exemple:
 	//DECLAR ("a", ":2", "X", IN, "3  downto 0", "" );
@@ -630,5 +634,5 @@
 #endif
 	DECLAR ((char*)(name.c_str ()), ":1", format, dir,(char *) downto.c_str(), "" );
-#endif // PAT_TRACE_FORMAT
+#endif // CONFIG_PAT_TRACE_FORMAT
 }
 
Index: sources/src/sc_uint.h
===================================================================
--- sources/src/sc_uint.h	(revision 22)
+++ sources/src/sc_uint.h	(revision 27)
@@ -25,5 +25,5 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
+#include "sc_nbdefs.h"
 
 namespace sc_dt {
Index: sources/src/sc_uint_subref_r.cc
===================================================================
--- sources/src/sc_uint_subref_r.cc	(revision 22)
+++ sources/src/sc_uint_subref_r.cc	(revision 27)
@@ -36,4 +36,7 @@
 #include <iostream>
 #include "sc_uint.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: sources/src/sc_unsigned.h
===================================================================
--- sources/src/sc_unsigned.h	(revision 22)
+++ sources/src/sc_unsigned.h	(revision 27)
@@ -18,6 +18,6 @@
 // ----------------------------------------------------------------------------
 
-#include"sc_nbdefs.h"
-#include"sc_logic.h"
+#include "sc_nbdefs.h"
+#include "sc_logic.h"
 
 
Index: sources/src/sc_vcd_trace.cc
===================================================================
--- sources/src/sc_vcd_trace.cc	(revision 22)
+++ sources/src/sc_vcd_trace.cc	(revision 27)
@@ -36,12 +36,16 @@
 
 
-#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<ctime>
-#include<string>
+#include <cassert>
+#include <ctime>
+#include <string>
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 //-----------------------------------------*/
@@ -58,5 +62,5 @@
   if (notrace)
     return NULL;
-  ASSERT(name != NULL);
+  assert(name != NULL);
 	string filename;
 	filename = name;
Index: sources/src/sc_ver.cc
===================================================================
--- sources/src/sc_ver.cc	(revision 22)
+++ sources/src/sc_ver.cc	(revision 27)
@@ -40,4 +40,8 @@
 #include <cstdlib> //exit
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 namespace sc_core {
 
@@ -61,5 +65,5 @@
 	"\n"
 	"         Cycle Accurate System Simulator\n"
-#ifdef DEBUG
+#ifdef CONFIG_DEBUG
   "            DEBUG version\n"
 #endif
Index: sources/src/schedulers.cc
===================================================================
--- sources/src/schedulers.cc	(revision 22)
+++ sources/src/schedulers.cc	(revision 27)
@@ -35,16 +35,21 @@
  */
 
-#include<iostream>
-#include<algorithm> //std::sort
-#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 "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>
+#include <iostream>
+#include <algorithm> //std::sort
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -95,6 +100,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;
@@ -114,5 +119,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);
@@ -130,6 +135,6 @@
                     const method_process_t *a2)
 {
-  ASSERT(a1 != NULL);
-  ASSERT(a2 != NULL);
+  assert(a1 != NULL);
+  assert(a2 != NULL);
   return (a1->module < a2->module);
 }
@@ -140,6 +145,6 @@
                  const method_process_t *a2)
 {
-    ASSERT(a1 != NULL);
-    ASSERT(a2 != NULL);
+    assert(a1 != NULL);
+    assert(a2 != NULL);
     union {
         SC_ENTRY_FUNC func;
@@ -237,8 +242,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)
@@ -284,6 +289,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;
   }
@@ -295,6 +302,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;
   }
@@ -307,6 +316,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: sources/src/schedulers.h
===================================================================
--- sources/src/schedulers.h	(revision 22)
+++ sources/src/schedulers.h	(revision 27)
@@ -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: sources/src/serialization.cc
===================================================================
--- sources/src/serialization.cc	(revision 22)
+++ sources/src/serialization.cc	(revision 27)
@@ -35,15 +35,19 @@
 
 
-#include<map>
-#include<fstream>
-//#include<vector> // 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 "internal_ext.h" // tab_t
+#include "serialization.h"
+#include "entity.h"
+#include "sc_module.h"
+#include "sc_object.h"
+#include "hex2string.h"
+
+#include <cassert>
+#include <map>
+#include <fstream>
+//#include <vector> // save_module_hierarchy
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
@@ -84,5 +88,5 @@
             int          bit_number)
 {
-  ASSERT(bit_number <= 64);
+  assert(bit_number <= 64);
   if (bit_number == 1) {
     bool v = *((const bool*) val);
@@ -140,5 +144,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);
@@ -158,6 +162,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 ());
@@ -185,5 +189,5 @@
   file.close ();
   FILE *f = fopen (filename, "a+");
-  ASSERT(f != NULL);
+  assert(f != NULL);
   save_modules (f);
   fclose (f);
Index: sources/src/serialization.h
===================================================================
--- sources/src/serialization.h	(revision 22)
+++ sources/src/serialization.h	(revision 27)
@@ -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: sources/src/serialization_ext.h
===================================================================
--- sources/src/serialization_ext.h	(revision 22)
+++ sources/src/serialization_ext.h	(revision 27)
@@ -37,6 +37,6 @@
 #define __SERIALIZATION_EXT_H__
 
-#include<iostream>
-#include"sc_fwd.h"
+#include <iostream>
+#include "sc_fwd.h"
 
 namespace sc_core {
Index: sources/src/signal_dependency.cc
===================================================================
--- sources/src/signal_dependency.cc	(revision 22)
+++ sources/src/signal_dependency.cc	(revision 27)
@@ -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: sources/src/simplify_string.cc
===================================================================
--- sources/src/simplify_string.cc	(revision 22)
+++ sources/src/simplify_string.cc	(revision 27)
@@ -35,4 +35,7 @@
 
 #include "simplify_string.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 using namespace std;
Index: sources/src/systemc
===================================================================
--- sources/src/systemc	(revision 22)
+++ sources/src/systemc	(revision 27)
@@ -29,5 +29,4 @@
 #include"sc_vcd_trace.h"
 #include"sc_pat_trace.h"
-#include"endianness.h"
 
 #endif
