Index: Makefile.in
===================================================================
--- Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -135,4 +135,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
Index: configure
===================================================================
--- configure	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ configure	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -668,4 +668,5 @@
 CFA_BACKEND_CC
 BACKEND_CC
+CFA_NAME
 MAINT
 MAINTAINER_MODE_FALSE
@@ -3001,4 +3002,31 @@
 			# may require auto* software to be installed
 
+# Allow program name tansformation
+# will fille program_transform_name with appropriate sed regex
+
+#autoconf escapes $ and \ since automake wiill un-escape them.
+#Since we need to use the sed transform in autoconf we need to manualy un-escape these characters
+name_transform=`echo ${program_transform_name} | sed 's/\\$\\$/\\$/g' | sed 's/\\\\\\\/\\\/g'`
+cfa_name=`echo cfa | sed ${name_transform}`
+cc1_name=`echo cc1 | sed ${name_transform}`
+cpp_name=`echo cfa-cpp | sed ${name_transform}`
+
+#Trasforming cc1 will break compilation
+if ! test "${cc1_name}" = "cc1"; then
+    as_fn_error $? "Program transform must not modify cc1.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[Desired name here]/' instead" "$LINENO" 5
+fi
+#We could support transforming cfa-cpp but since it is located in a unique subfolder we don't need to
+if ! test "${cpp_name}" = "cfa-cpp"; then
+    as_fn_error $? "Program transform must not modify cfa-cpp.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[Desired name here]/' instead" "$LINENO" 5
+fi
+
+#Define the new name of the installed command
+CFA_NAME=${cfa_name}
+
+
 rm -f version
 echo ${PACKAGE_VERSION} > version		# file containing version number for other tools
@@ -3238,5 +3266,5 @@
 
 if test "$includedir" = '${prefix}/include'; then
- 	cfa_incdir="${cfa_prefix}/include/cfa"
+ 	cfa_incdir="${cfa_prefix}/include/${cfa_name}"
 else
  	cfa_incdir=${includedir}
@@ -3264,5 +3292,5 @@
 
 if test "$libdir" = '${exec_prefix}/lib'; then
- 	cfa_libdir=${cfa_prefix}/lib
+ 	cfa_libdir="${cfa_prefix}/lib/${cfa_name}"
 else
  	cfa_libdir=${libdir}
Index: configure.ac
===================================================================
--- configure.ac	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ configure.ac	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -17,4 +17,30 @@
 AM_INIT_AUTOMAKE
 AM_MAINTAINER_MODE(enable)			# may require auto* software to be installed
+
+# Allow program name tansformation
+# will fille program_transform_name with appropriate sed regex
+AC_ARG_PROGRAM
+#autoconf escapes $ and \ since automake wiill un-escape them.
+#Since we need to use the sed transform in autoconf we need to manualy un-escape these characters
+name_transform=`echo ${program_transform_name} | sed 's/\\$\\$/\\$/g' | sed 's/\\\\\\\/\\\/g'`
+cfa_name=`echo cfa | sed ${name_transform}`
+cc1_name=`echo cc1 | sed ${name_transform}`
+cpp_name=`echo cfa-cpp | sed ${name_transform}`
+
+#Trasforming cc1 will break compilation
+if ! test "${cc1_name}" = "cc1"; then
+    AC_MSG_ERROR([Program transform must not modify cc1.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[[Desired name here]]/' instead])
+fi
+#We could support transforming cfa-cpp but since it is located in a unique subfolder we don't need to
+if ! test "${cpp_name}" = "cfa-cpp"; then
+    AC_MSG_ERROR([Program transform must not modify cfa-cpp.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[[Desired name here]]/' instead])
+fi
+
+#Define the new name of the installed command
+AC_SUBST(CFA_NAME, ${cfa_name})
 
 rm -f version
@@ -129,5 +155,5 @@
 
 if test "$includedir" = '${prefix}/include'; then
- 	cfa_incdir="${cfa_prefix}/include/cfa"
+ 	cfa_incdir="${cfa_prefix}/include/${cfa_name}"
 else
  	cfa_incdir=${includedir}
@@ -145,5 +171,5 @@
 
 if test "$libdir" = '${exec_prefix}/lib'; then
- 	cfa_libdir=${cfa_prefix}/lib
+ 	cfa_libdir="${cfa_prefix}/lib/${cfa_name}"
 else
  	cfa_libdir=${libdir}
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/Makefile.am	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -38,5 +38,5 @@
 
 # put into lib for now
-cfa_cpplibdir = ${libdir}
+cfa_cpplibdir = ${CFA_LIBDIR}
 cfa_cpplib_PROGRAMS = driver/cfa-cpp
 driver_cfa_cpp_SOURCES = ${SRC}
Index: src/Makefile.in
===================================================================
--- src/Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -276,4 +276,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
@@ -436,5 +437,5 @@
 
 # put into lib for now
-cfa_cpplibdir = ${libdir}
+cfa_cpplibdir = ${CFA_LIBDIR}
 driver_cfa_cpp_SOURCES = ${SRC}
 driver_cfa_cpp_LDADD = ${LEXLIB} -ldl			# yywrap
Index: src/benchmark/Makefile.am
===================================================================
--- src/benchmark/Makefile.am	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/benchmark/Makefile.am	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -18,5 +18,5 @@
 CFLAGS =
 AM_CFLAGS = -g -Wall -Wno-unused-function -O2
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 
 noinst_PROGRAMS = bench ctxswitch-coroutine ctxswitch-thread
Index: src/benchmark/Makefile.in
===================================================================
--- src/benchmark/Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/benchmark/Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -94,5 +94,5 @@
 AWK = @AWK@
 BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -104,4 +104,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 
Index: src/driver/Makefile.am
===================================================================
--- src/driver/Makefile.am	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/driver/Makefile.am	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -32,5 +32,5 @@
 
 # put into lib for now
-cc1libdir = ${libdir}
+cc1libdir = ${CFA_LIBDIR}
 cc1lib_PROGRAMS = cc1
 cc1_SOURCES = cc1.cc
Index: src/driver/Makefile.in
===================================================================
--- src/driver/Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/driver/Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -106,4 +106,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
@@ -212,5 +213,5 @@
 
 # put into lib for now
-cc1libdir = ${libdir}
+cc1libdir = ${CFA_LIBDIR}
 cc1_SOURCES = cc1.cc
 MAINTAINERCLEANFILES = @CFA_PREFIX@/bin/${bin_PROGRAMS} @CFA_PREFIX@/lib/${cc1lib_PROGRAMS}
Index: src/examples/Makefile.am
===================================================================
--- src/examples/Makefile.am	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/examples/Makefile.am	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -18,5 +18,5 @@
 CFLAGS =
 AM_CFLAGS = -g -Wall -Wno-unused-function -O2
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 
 noinst_PROGRAMS = fstream_test vector_test avl_test Bench # build but do not install
Index: src/examples/Makefile.in
===================================================================
--- src/examples/Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/examples/Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -105,5 +105,5 @@
 AWK = @AWK@
 BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -115,4 +115,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 
Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/libcfa/Makefile.am	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -18,4 +18,5 @@
 AUTOMAKE_OPTIONS = subdir-objects
 
+libdir = ${CFA_LIBDIR}
 lib_LIBRARIES =
 
@@ -67,5 +68,4 @@
 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator
 
-
 libcfa_a_SOURCES = ${libsrc}
 libcfa_a_CFLAGS = -nodebug -O2
@@ -75,5 +75,5 @@
 stdhdr = ${shell echo stdhdr/*}
 
-cfa_includedir = $(includedir)/cfa
+cfa_includedir = $(CFA_INCDIR)
 nobase_cfa_include_HEADERS = ${headers} ${stdhdr} concurrency/invoke.h
 
@@ -81,3 +81,3 @@
 
 maintainer-clean-local:
-	-rm -rf ${includedir}/*
+	-rm -rf ${includedir}/* ${libdir}/*
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/libcfa/Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -201,4 +201,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = -quiet -no-include-stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS}
@@ -281,5 +282,5 @@
 infodir = @infodir@
 install_sh = @install_sh@
-libdir = @libdir@
+libdir = ${CFA_LIBDIR}
 libexecdir = @libexecdir@
 localedir = @localedir@
@@ -315,5 +316,5 @@
 libcfa_d_a_CFLAGS = -debug -O0
 stdhdr = ${shell echo stdhdr/*}
-cfa_includedir = $(includedir)/cfa
+cfa_includedir = $(CFA_INCDIR)
 nobase_cfa_include_HEADERS = ${headers} ${stdhdr} concurrency/invoke.h
 CLEANFILES = libcfa-prelude.c
@@ -1160,5 +1161,5 @@
 
 maintainer-clean-local:
-	-rm -rf ${includedir}/*
+	-rm -rf ${includedir}/* ${libdir}/*
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: src/libcfa/iostream
===================================================================
--- src/libcfa/iostream	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/libcfa/iostream	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Mar  6 17:48:01 2017
-// Update Count     : 97
+// Last Modified On : Mon Mar  6 20:51:35 2017
+// Update Count     : 98
 //
 
Index: src/libcfa/iostream.c
===================================================================
--- src/libcfa/iostream.c	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/libcfa/iostream.c	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Mar  6 17:48:05 2017
-// Update Count     : 312
+// Last Modified On : Mon Mar  6 20:52:02 2017
+// Update Count     : 313
 //
 
Index: src/libcfa/stdlib
===================================================================
--- src/libcfa/stdlib	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/libcfa/stdlib	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Feb 24 21:07:16 2017
-// Update Count     : 101
+// Last Modified On : Sat Mar  4 22:03:54 2017
+// Update Count     : 102
 //
 
Index: src/libcfa/stdlib.c
===================================================================
--- src/libcfa/stdlib.c	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/libcfa/stdlib.c	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:10:29 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Feb 24 21:08:11 2017
-// Update Count     : 171
+// Last Modified On : Sat Mar  4 22:02:22 2017
+// Update Count     : 172
 //
 
Index: src/prelude/Makefile.am
===================================================================
--- src/prelude/Makefile.am	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/prelude/Makefile.am	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -19,5 +19,5 @@
 
 # put into lib for now
-cfalibdir = ${libdir}
+cfalibdir = ${CFA_LIBDIR}
 cfalib_DATA = builtins.cf extras.cf prelude.cf bootloader.c
 noinst_DATA = ../libcfa/libcfa-prelude.c
Index: src/prelude/Makefile.in
===================================================================
--- src/prelude/Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/prelude/Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -105,4 +105,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
@@ -209,5 +210,5 @@
 
 # put into lib for now
-cfalibdir = ${libdir}
+cfalibdir = ${CFA_LIBDIR}
 cfalib_DATA = builtins.cf extras.cf prelude.cf bootloader.c
 noinst_DATA = ../libcfa/libcfa-prelude.c
Index: src/tests/Makefile.am
===================================================================
--- src/tests/Makefile.am	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/tests/Makefile.am	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -30,5 +30,5 @@
 EXTRA_FLAGS =
 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ ${EXTRA_FLAGS}
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 
 .PHONY : list
Index: src/tests/Makefile.in
===================================================================
--- src/tests/Makefile.in	(revision c443d1d3435a17963bd6f81fa826d1d31a83512a)
+++ src/tests/Makefile.in	(revision 2988eebb61a23bfe28efea59b2bdd2e4fb6028c1)
@@ -113,5 +113,5 @@
 AWK = @AWK@
 BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -123,4 +123,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ ${EXTRA_FLAGS}
