Configurable language configuration files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18181 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvmc/c.in b/tools/llvmc/c.in
new file mode 100644
index 0000000..9124e9e
--- /dev/null
+++ b/tools/llvmc/c.in
@@ -0,0 +1,64 @@
+# 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
+ lang.libs=@LLVMGCCDIR@/lib @LLVMGCCDIR@/bytecode-libs \
+ @LLVMGCCDIR@/lib/gcc/@LLVMGCCARCH@
+
+##########################################################
+# 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=@LLVMCC1@ -quiet %in% -o %out% \
+ %opt% %incls% %defs% %WOpts% %fOpts% %MOpts% %args%
+
+ # 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=true
+
+ # Output of the translator is assembly
+ translator.output=assembly
+
+##########################################################
+# Optimizer definitions
+##########################################################
+
+ # For optimization, we use the LLVM "opt" program
+ optimizer.command=@LLVM_BINDIR@/gccas %in% -o %out% %args%
+
+ optimizer.required = true
+
+ # opt doesn't translate
+ optimizer.translates = false
+
+ # opt doesn't preprocess
+ optimizer.preprocesses=false
+
+ # opt produces bytecode
+ optimizer.output = bytecode
+
+##########################################################
+# Assembler definitions
+##########################################################
+ assembler.command=llc %in% -o %out% %target% %time% %stats%