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.
