llvm-config - Print LLVM compilation options#

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:

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 the components as shared libraries.

Link the component libraries statically.

--obj-root#

Print the object root used to build LLVM.

--prefix#

Print the installation prefix for LLVM.

--quote-paths#

Quote and escape paths when needed, most notably when a quote, space, backslash or dollar sign characters are present in the path.

--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.