llvm-project/llvm/docs/CommandGuide/llvm-config.rst

177 lines
2.6 KiB
ReStructuredText
Raw Normal View History

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