summaryrefslogtreecommitdiff
path: root/tools/llvmc/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvmc/cpp')
-rw-r--r--tools/llvmc/cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/tools/llvmc/cpp b/tools/llvmc/cpp
new file mode 100644
index 0000000000..5f20fd8d4d
--- /dev/null
+++ b/tools/llvmc/cpp
@@ -0,0 +1,61 @@
+# C++ 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%/lib \
+ %llvmgccdir%/lib/gcc/%llvmgccarch%
+
+##########################################################
+# Pre-processor definitions
+##########################################################
+
+ # We use g++ as our pre-processor
+ preprocessor.command=g++ -E %in% -o %out% %incls% %defs%
+ preprocessor.required=true
+
+##########################################################
+# Translator definitions
+##########################################################
+
+ # To compile C++ source, just use llvm-g++'s cc1
+ translator.command=%llvmcc1plus% -quiet %in% -o %out% \
+ %opt% %incls% %defs% %WOpts% %fOpts% %MOpts% %args% \
+ -D_GNU_SOURCE
+
+ # llvm-g++ does not pre-process
+ translator.preprocesses=false
+
+ # The translator is required to run.
+ translator.required=true
+
+ # Output of translator is assembly
+ translator.output=assembly
+
+##########################################################
+# Optimizer definitions
+##########################################################
+
+ # Use gccas to clean up the generated code
+ optimizer.command=%bindir%/gccas %in% -o %out% %args%
+ optimizer.required = true
+
+ # gccas doesn't translate
+ optimizer.translates = false
+
+ # gccas doesn't preprocess
+ optimizer.preprocesses=false
+
+ # gccas produces bytecode
+ optimizer.output = bytecode
+
+##########################################################
+# Assembler definitions
+##########################################################
+ assembler.command=%bindir%/llc %in% -o %out% %target% %time% %stats%