LLVM-CONFIG(1)

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

Author
Maintained by the LLVM Team (https://llvm.org/).

Copyright
2003-2025, LLVM Project