(output_suffix "bc"),
(cmd_line (case
(switch_on "E"),
- "llvm-g++ -E -x c $INFILE",
+ (case (not_empty "o"),
+ "llvm-gcc -E -x c++ $INFILE -o $OUTFILE",
+ (default),
+ "llvm-gcc -E -x c++ $INFILE"),
(default),
- "llvm-g++ -c -x c $INFILE -o $OUTFILE -emit-llvm")),
+ "llvm-gcc -c -x c $INFILE -o $OUTFILE -emit-llvm")),
(switch_option "E", (stop_compilation),
(help "Stop after the preprocessing stage, do not run the compiler")),
(sink)
(output_suffix "bc"),
(cmd_line (case
(switch_on "E"),
- // TOFIX: this does not play well with -o
- "llvm-g++ -E -x c++ $INFILE",
+ (case (not_empty "o"),
+ "llvm-g++ -E -x c++ $INFILE -o $OUTFILE",
+ (default),
+ "llvm-g++ -E -x c++ $INFILE"),
(default),
"llvm-g++ -c -x c++ $INFILE -o $OUTFILE -emit-llvm")),
(switch_option "E", (stop_compilation)),
(out_language "llvm-bitcode"),
(switch_option "opt", (help "Enable opt")),
(output_suffix "bc"),
- (cmd_line "opt $INFILE -o $OUTFILE")
+ (cmd_line "opt -f $INFILE -o $OUTFILE")
]>;
def llvm_as : Tool<
(cmd_line "llvm-gcc -c -x assembler $INFILE -o $OUTFILE"),
(switch_option "c", (stop_compilation),
(help "Compile and assemble, but do not link")),
- (prefix_list_option "Wa,", (unpack_values), (help "pass options to assembler"))
+ (prefix_list_option "Wa,", (unpack_values), (help "Pass options to assembler"))
]>;
// Default linker
(output_suffix "out"),
(cmd_line "llvm-gcc $INFILE -o $OUTFILE"),
(join),
- (prefix_list_option "L", (forward), (help "add a directory to link path")),
- (prefix_list_option "l", (forward), (help "search a library when linking")),
- (prefix_list_option "Wl,", (unpack_values), (help "pass options to linker"))
+ (prefix_list_option "L", (forward), (help "Add a directory to link path")),
+ (prefix_list_option "l", (forward), (help "Search a library when linking")),
+ (prefix_list_option "Wl,", (unpack_values), (help "Pass options to linker"))
]>;
// Alternative linker for C++