Initial commit of a configuration file for compiling C++ programs with
the file name pattern *.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16117 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvmc/cpp b/tools/llvmc/cpp
new file mode 100644
index 0000000..dd945ff
--- /dev/null
+++ b/tools/llvmc/cpp
@@ -0,0 +1,61 @@
+# Stacker Configuration File For llvmc
+
+##########################################################
+# Language definitions
+##########################################################
+  lang.name=C++ 
+  lang.opt1=-O1
+  lang.opt2=-O2
+  lang.opt3=-O3
+  lang.opt4=-O3
+  lang.opt5=-O3
+
+##########################################################
+# Pre-processor definitions
+##########################################################
+
+  # Stacker doesn't have a preprocessor but the following
+  # allows the -E option to be supported
+  preprocessor.command=g++ -E %in% -o %out% %incls% %defs%
+  preprocessor.required=false
+
+##########################################################
+# Translator definitions
+##########################################################
+
+  # To compile stacker source, we just run the stacker
+  # compiler with a default stack size of 2048 entries.
+  translator.command=g++ -c -x c++ %in% -o %out% %opt% %incls% %libs% %defs%
+
+  # stkrc doesn't preprocess but we set this to true so
+  # that we don't run the cp command by default.
+  translator.preprocesses=true
+
+  # The translator is required to run.
+  translator.required=false
+
+  # stkrc doesn't handle the -On options
+  translator.output=bytecode
+
+##########################################################
+# Optimizer definitions
+##########################################################
+  
+  # For optimization, we use the LLVM "opt" program
+  optimizer.command=g++ -c -x c++ %in% -o %out% %opt% %args% %incls% %libs% %defs%
+
+  optimizer.required = true
+
+  # opt doesn't translate
+  optimizer.translates = true
+
+  # opt doesn't preprocess
+  optimizer.preprocesses=true
+
+  # opt produces bytecode
+  optimizer.output = bc
+
+##########################################################
+# Assembler definitions
+##########################################################
+  assembler.command=llc %in% -o %out% %target% %time% %stats%