=pod =head1 NAME llvmc - The LLVM Compiler Driver (WIP) =head1 SYNOPSIS B [I] I =head1 DESCRIPTION B is a configurable driver for invoking other LLVM (and non-LLVM) tools in order to compile, optimize and link software for multiple languages. For those familiar with FSF's B tool, it is very similar. Please note that B is considered an experimental tool. =head1 OPTIONS =head2 Built-in Options LLVMC has some built-in options that can't be overridden in the configuration libraries. =over =item B<-o> I Output file name. =item B<-x> I Specify the language of the following input files until the next B<-x> option. =item B<-load> I Load the specified plugin DLL. Example: S<-load $LLVM_DIR/Release/lib/LLVMCSimple.so>. =item B<-v> or B<--verbose> Enable verbose mode, i.e. print out all executed commands. =item B<--view-graph> Show a graphical representation of the compilation graph. Requires that you have I and I programs installed. Hidden option, useful for debugging. =item B<--write-graph> Write a I file in the current directory with the compilation graph description in the Graphviz format. Hidden option, useful for debugging. =item B<--save-temps> Write temporary files to the current directory and do not delete them on exit. Hidden option, useful for debugging. =item B<--help> Print a summary of command-line options and exit. =item B<--help-hidden> Print a summary of command-line options and exit. Print help even for options intended for developers. =item B<--version> Print version information and exit. =back =head2 Control Options By default, LLVMC is built with some standard configuration libraries that define the following options: =over =item B<-I> I Add a directory to the header file search path. This option can be repeated. =item B<-L> I Add I to the library search path. This option can be repeated. =item B<-l>I Link in the library libI.[bc | a | so]. This library should be a bitcode library. =item B<-emit-llvm> Make the output be LLVM bitcode (with B<-c>) or assembly (with B<-s>) instead of native object (or assembly). If B<-emit-llvm> is given without either B<-c> or B<-S> it has no effect. =back =head1 EXIT STATUS If B succeeds, it will exit with code 0. Otherwise, if an error occurs, it will exit with a non-zero value. If one of the compilation tools returns a non-zero status, pending actions will be discarded and B will return the same result code as the failing compilation tool. =head1 SEE ALSO L, L, L, L, L, L =head1 AUTHORS Maintained by the LLVM Team (L). =cut