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 ------- **--assertion-mode** Print the assertion mode used when LLVM was built (ON or OFF). **--bindir** Print the installation directory for LLVM binaries. **--build-mode** Print the build mode used when LLVM was built (e.g. Debug or Release). **--build-system** Print the build system used to build LLVM (e.g. `cmake` or `gn`). **--cflags** Print the C compiler flags needed to use LLVM headers. **--cmakedir** Print the installation directory for LLVM CMake modules. **--components** Print all valid component names. **--cppflags** Print the C preprocessor flags needed to use LLVM headers. **--cxxflags** Print the C++ compiler flags needed to use LLVM headers. **--has-rtti** Print whether or not LLVM was built with rtti (YES or NO). **--help** Print a summary of **llvm-config** arguments. **--host-target** Print the target triple used to configure LLVM. **--ignore-libllvm** Ignore libLLVM and link component libraries instead. **--includedir** Print the installation directory for LLVM headers. **--ldflags** Print the flags needed to link against LLVM libraries. **--libdir** Print the installation directory for LLVM libraries. **--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. **--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. **--libs** Print all the libraries needed to link against the specified LLVM *components*, including any dependencies. **--link-shared** Link the components as shared libraries. **--link-static** Link the component libraries statically. **--obj-root** Print the object root used to build LLVM. **--prefix** Print the installation prefix for LLVM. **--shared-mode** Print how the provided components can be collectively linked (`shared` or `static`). **--system-libs** Print all the system libraries needed to link against the specified LLVM *components*, including any dependencies. **--targets-built** Print the component names for all targets supported by this copy of LLVM. **--version** Print the version number of LLVM. 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.