llvm-config.rst 2.55 KB

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

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