Index: libcfa/src/Makefile.am
===================================================================
--- libcfa/src/Makefile.am	(revision 72b057346c6dc86124d02abb317c6b1e7d54d04d)
+++ libcfa/src/Makefile.am	(revision 41cca44b5b36b35c27f252878c7488107149c20a)
@@ -36,9 +36,14 @@
 
 #----------------------------------------------------------------------------------------------------------------
+if BUILDLIB
 headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
 	  containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa
 
+headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa
+
 # not all platforms support concurrency, add option do disable it
 headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa
+
+headers_nosrc += concurrency/invoke.h
 
 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa}
@@ -46,12 +51,18 @@
 # not all platforms support concurrency, add option do disable it
 libsrc += concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa
+else
+headers =
+headers_nosrc =
+libsrc =
+endif
+
 
 #----------------------------------------------------------------------------------------------------------------
 # add dependency to cfa-cpp so all libraries are rebuilt with new translator
-#@CFACC@ @CFACPP@ prelude.cf
+#@CFACC@ @CFACPP@ prelude.cfa
 
 # add dependency of cfa files
 libobjs = $(addsuffix .o, $(basename $(filter %.cfa,$(libsrc))))
-$(libobjs) : @CFACC@ @CFACPP@ prelude.cf
+$(libobjs) : @CFACC@ @CFACPP@ prelude.cfa
 
 
@@ -64,27 +75,16 @@
 -include $(libdeps)
 
-prelude.o : prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
-	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -in-tree -XCFA -l ${<} -c -o ${@}
+prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
+	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
 
 
 
 #----------------------------------------------------------------------------------------------------------------
-libcfa_a_SOURCES = prelude.o ${libsrc}
+libcfa_a_SOURCES = prelude.cfa ${libsrc}
 
 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "}
 
 cfa_includedir = $(CFA_INCDIR)
-nobase_cfa_include_HEADERS = \
-	${headers}             \
-	${stdhdr}              \
-	math.hfa               \
-	gmp.hfa                \
-	time_t.hfa             \
-	bits/align.hfa         \
-	bits/containers.hfa    \
-	bits/defs.hfa          \
-	bits/debug.hfa         \
-	bits/locks.hfa         \
-	concurrency/invoke.h
+nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc}
 
 #----------------------------------------------------------------------------------------------------------------
Index: libcfa/src/Makefile.in
===================================================================
--- libcfa/src/Makefile.in	(revision 72b057346c6dc86124d02abb317c6b1e7d54d04d)
+++ libcfa/src/Makefile.in	(revision 41cca44b5b36b35c27f252878c7488107149c20a)
@@ -96,6 +96,6 @@
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(nobase_cfa_include_HEADERS) \
-	$(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(am__nobase_cfa_include_HEADERS_DIST) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_CLEAN_FILES =
@@ -137,20 +137,37 @@
 libcfa_a_AR = $(AR) $(ARFLAGS)
 libcfa_a_LIBADD =
+am__libcfa_a_SOURCES_DIST = prelude.cfa startup.cfa interpose.cfa \
+	bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa \
+	fstream.cfa iostream.cfa iterator.cfa limits.cfa rational.cfa \
+	time.cfa stdlib.cfa common.cfa containers/maybe.cfa \
+	containers/pair.cfa containers/result.cfa \
+	containers/vector.cfa concurrency/coroutine.cfa \
+	concurrency/thread.cfa concurrency/kernel.cfa \
+	concurrency/monitor.cfa concurrency/mutex.cfa \
+	concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \
+	concurrency/invoke.c concurrency/preemption.cfa
 am__dirstamp = $(am__leading_dot)dirstamp
-am__objects_1 = fstream.$(OBJEXT) iostream.$(OBJEXT) \
-	iterator.$(OBJEXT) limits.$(OBJEXT) rational.$(OBJEXT) \
-	time.$(OBJEXT) stdlib.$(OBJEXT) common.$(OBJEXT) \
-	containers/maybe.$(OBJEXT) containers/pair.$(OBJEXT) \
-	containers/result.$(OBJEXT) containers/vector.$(OBJEXT) \
-	concurrency/coroutine.$(OBJEXT) concurrency/thread.$(OBJEXT) \
-	concurrency/kernel.$(OBJEXT) concurrency/monitor.$(OBJEXT) \
-	concurrency/mutex.$(OBJEXT)
-am__objects_2 = startup.$(OBJEXT) interpose.$(OBJEXT) \
-	bits/debug.$(OBJEXT) assert.$(OBJEXT) exception.$(OBJEXT) \
-	virtual.$(OBJEXT) heap.$(OBJEXT) $(am__objects_1) \
-	concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT) \
-	concurrency/alarm.$(OBJEXT) concurrency/invoke.$(OBJEXT) \
-	concurrency/preemption.$(OBJEXT)
-am_libcfa_a_OBJECTS = $(am__objects_2)
+@BUILDLIB_TRUE@am__objects_1 = fstream.$(OBJEXT) iostream.$(OBJEXT) \
+@BUILDLIB_TRUE@	iterator.$(OBJEXT) limits.$(OBJEXT) \
+@BUILDLIB_TRUE@	rational.$(OBJEXT) time.$(OBJEXT) \
+@BUILDLIB_TRUE@	stdlib.$(OBJEXT) common.$(OBJEXT) \
+@BUILDLIB_TRUE@	containers/maybe.$(OBJEXT) \
+@BUILDLIB_TRUE@	containers/pair.$(OBJEXT) \
+@BUILDLIB_TRUE@	containers/result.$(OBJEXT) \
+@BUILDLIB_TRUE@	containers/vector.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/coroutine.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/thread.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/kernel.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/monitor.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/mutex.$(OBJEXT)
+@BUILDLIB_TRUE@am__objects_2 = startup.$(OBJEXT) interpose.$(OBJEXT) \
+@BUILDLIB_TRUE@	bits/debug.$(OBJEXT) assert.$(OBJEXT) \
+@BUILDLIB_TRUE@	exception.$(OBJEXT) virtual.$(OBJEXT) \
+@BUILDLIB_TRUE@	heap.$(OBJEXT) $(am__objects_1) \
+@BUILDLIB_TRUE@	concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/alarm.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/invoke.$(OBJEXT) \
+@BUILDLIB_TRUE@	concurrency/preemption.$(OBJEXT)
+am_libcfa_a_OBJECTS = prelude.$(OBJEXT) $(am__objects_2)
 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS)
 AM_V_P = $(am__v_P_@AM_V@)
@@ -189,5 +206,5 @@
 am__v_CCLD_1 = 
 SOURCES = $(libcfa_a_SOURCES)
-DIST_SOURCES = $(libcfa_a_SOURCES)
+DIST_SOURCES = $(am__libcfa_a_SOURCES_DIST)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
@@ -195,4 +212,13 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__nobase_cfa_include_HEADERS_DIST = ${shell find ${srcdir}/stdhdr \
+	-type f -printf "%p "} fstream.hfa iostream.hfa iterator.hfa \
+	limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
+	containers/maybe.hfa containers/pair.hfa containers/result.hfa \
+	containers/vector.hfa concurrency/coroutine.hfa \
+	concurrency/thread.hfa concurrency/kernel.hfa \
+	concurrency/monitor.hfa concurrency/mutex.hfa math.hfa gmp.hfa \
+	time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa \
+	bits/debug.hfa bits/locks.hfa concurrency/invoke.h
 HEADERS = $(nobase_cfa_include_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
@@ -242,4 +268,5 @@
 CFLAGS = @CFLAGS@
 CONFIGURATION = @CONFIGURATION@
+CONFIG_BUILDLIB = @CONFIG_BUILDLIB@
 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@
 CONFIG_CFLAGS = @CONFIG_CFLAGS@
@@ -343,24 +370,34 @@
 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
+@BUILDLIB_FALSE@headers = 
 
 #----------------------------------------------------------------------------------------------------------------
 
 # not all platforms support concurrency, add option do disable it
-headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa \
-	rational.hfa time.hfa stdlib.hfa common.hfa \
-	containers/maybe.hfa containers/pair.hfa containers/result.hfa \
-	containers/vector.hfa concurrency/coroutine.hfa \
-	concurrency/thread.hfa concurrency/kernel.hfa \
-	concurrency/monitor.hfa concurrency/mutex.hfa
+@BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa \
+@BUILDLIB_TRUE@	limits.hfa rational.hfa time.hfa stdlib.hfa \
+@BUILDLIB_TRUE@	common.hfa containers/maybe.hfa \
+@BUILDLIB_TRUE@	containers/pair.hfa containers/result.hfa \
+@BUILDLIB_TRUE@	containers/vector.hfa concurrency/coroutine.hfa \
+@BUILDLIB_TRUE@	concurrency/thread.hfa concurrency/kernel.hfa \
+@BUILDLIB_TRUE@	concurrency/monitor.hfa concurrency/mutex.hfa
+@BUILDLIB_FALSE@headers_nosrc = 
+@BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa \
+@BUILDLIB_TRUE@	bits/align.hfa bits/containers.hfa \
+@BUILDLIB_TRUE@	bits/defs.hfa bits/debug.hfa bits/locks.hfa \
+@BUILDLIB_TRUE@	concurrency/invoke.h
+@BUILDLIB_FALSE@libsrc = 
 
 # not all platforms support concurrency, add option do disable it
-libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa \
-	exception.c virtual.c heap.cfa ${headers:.hfa=.cfa} \
-	concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \
-	concurrency/invoke.c concurrency/preemption.cfa
+@BUILDLIB_TRUE@libsrc = startup.cfa interpose.cfa bits/debug.cfa \
+@BUILDLIB_TRUE@	assert.cfa exception.c virtual.c heap.cfa \
+@BUILDLIB_TRUE@	${headers:.hfa=.cfa} \
+@BUILDLIB_TRUE@	concurrency/CtxSwitch-@ARCHITECTURE@.S \
+@BUILDLIB_TRUE@	concurrency/alarm.cfa concurrency/invoke.c \
+@BUILDLIB_TRUE@	concurrency/preemption.cfa
 
 #----------------------------------------------------------------------------------------------------------------
 # add dependency to cfa-cpp so all libraries are rebuilt with new translator
-#@CFACC@ @CFACPP@ prelude.cf
+#@CFACC@ @CFACPP@ prelude.cfa
 
 # add dependency of cfa files
@@ -375,20 +412,8 @@
 
 #----------------------------------------------------------------------------------------------------------------
-libcfa_a_SOURCES = prelude.o ${libsrc}
+libcfa_a_SOURCES = prelude.cfa ${libsrc}
 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "}
 cfa_includedir = $(CFA_INCDIR)
-nobase_cfa_include_HEADERS = \
-	${headers}             \
-	${stdhdr}              \
-	math.hfa               \
-	gmp.hfa                \
-	time_t.hfa             \
-	bits/align.hfa         \
-	bits/containers.hfa    \
-	bits/defs.hfa          \
-	bits/debug.hfa         \
-	bits/locks.hfa         \
-	concurrency/invoke.h
-
+nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc}
 all: all-am
 
@@ -799,10 +824,10 @@
 	$(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
 	$(am__mv) $$depbase.Tpo $$depbase.Po
-$(libobjs) : @CFACC@ @CFACPP@ prelude.cf
+$(libobjs) : @CFACC@ @CFACPP@ prelude.cfa
 
 -include $(libdeps)
 
-prelude.o : prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
-	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -in-tree -XCFA -l ${<} -c -o ${@}
+prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
+	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
 
 #----------------------------------------------------------------------------------------------------------------
