llvm-config - Print LLVM compilation options
============================================

.. program:: llvm-config

SYNOPSIS
--------


**llvm-config** *option* [*components*...]


DESCRIPTION
-----------


**llvm-config** makes it easier to build applications that use LLVM.  It can
print the compiler flags, linker flags and object libraries needed to link
against LLVM.


EXAMPLES
--------


To link against the JIT:


.. code-block:: sh

   g++ `llvm-config --cxxflags` -o HowToUseJIT.o -c HowToUseJIT.cpp
   g++ `llvm-config --ldflags` -o HowToUseJIT HowToUseJIT.o \
       `llvm-config --libs engine bcreader scalaropts`



OPTIONS
-------



**--version**

 Print the version number of LLVM.



**-help**

 Print a summary of **llvm-config** arguments.



**--prefix**

 Print the installation prefix for LLVM.



**--src-root**

 Print the source root from which LLVM was built.



**--obj-root**

 Print the object root used to build LLVM.



**--bindir**

 Print the installation directory for LLVM binaries.



**--includedir**

 Print the installation directory for LLVM headers.



**--libdir**

 Print the installation directory for LLVM libraries.



**--cxxflags**

 Print the C++ compiler flags needed to use LLVM headers.



**--ldflags**

 Print the flags needed to link against LLVM libraries.



**--libs**

 Print all the libraries needed to link against the specified LLVM
 *components*, including any dependencies.



**--libnames**

 Similar to **--libs**, but prints the bare filenames of the libraries
 without **-l** or pathnames.  Useful for linking against a not-yet-installed
 copy of LLVM.



**--libfiles**

 Similar to **--libs**, but print the full path to each library file.  This is
 useful when creating makefile dependencies, to ensure that a tool is relinked if
 any library it uses changes.



**--components**

 Print all valid component names.



**--targets-built**

 Print the component names for all targets supported by this copy of LLVM.



**--build-mode**

 Print the build mode used when LLVM was built (e.g. Debug or Release)




COMPONENTS
----------


To print a list of all available components, run **llvm-config
--components**.  In most cases, components correspond directly to LLVM
libraries.  Useful "virtual" components include:


**all**

 Includes all LLVM libraries.  The default if no components are specified.



**backend**

 Includes either a native backend or the C backend.



**engine**

 Includes either a native JIT or the bitcode interpreter.




EXIT STATUS
-----------


If **llvm-config** succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.
