[CallSite removal] Migrate all Alias Analysis APIs to use the newly
[llvm-complete.git] / docs / CommandGuide / llvm-config.rst
blob34075d0b3086eb794a1fdd925566ff125db15cae
1 llvm-config - Print LLVM compilation options
2 ============================================
5 SYNOPSIS
6 --------
9 **llvm-config** *option* [*components*...]
12 DESCRIPTION
13 -----------
16 **llvm-config** makes it easier to build applications that use LLVM.  It can
17 print the compiler flags, linker flags and object libraries needed to link
18 against LLVM.
21 EXAMPLES
22 --------
25 To link against the JIT:
28 .. code-block:: sh
30    g++ `llvm-config --cxxflags` -o HowToUseJIT.o -c HowToUseJIT.cpp
31    g++ `llvm-config --ldflags` -o HowToUseJIT HowToUseJIT.o \
32        `llvm-config --libs engine bcreader scalaropts`
36 OPTIONS
37 -------
41 **--version**
43  Print the version number of LLVM.
47 **-help**
49  Print a summary of **llvm-config** arguments.
53 **--prefix**
55  Print the installation prefix for LLVM.
59 **--src-root**
61  Print the source root from which LLVM was built.
65 **--obj-root**
67  Print the object root used to build LLVM.
71 **--bindir**
73  Print the installation directory for LLVM binaries.
77 **--includedir**
79  Print the installation directory for LLVM headers.
83 **--libdir**
85  Print the installation directory for LLVM libraries.
89 **--cxxflags**
91  Print the C++ compiler flags needed to use LLVM headers.
95 **--ldflags**
97  Print the flags needed to link against LLVM libraries.
101 **--libs**
103  Print all the libraries needed to link against the specified LLVM
104  *components*, including any dependencies.
108 **--libnames**
110  Similar to **--libs**, but prints the bare filenames of the libraries
111  without **-l** or pathnames.  Useful for linking against a not-yet-installed
112  copy of LLVM.
116 **--libfiles**
118  Similar to **--libs**, but print the full path to each library file.  This is
119  useful when creating makefile dependencies, to ensure that a tool is relinked if
120  any library it uses changes.
124 **--components**
126  Print all valid component names.
130 **--targets-built**
132  Print the component names for all targets supported by this copy of LLVM.
136 **--build-mode**
138  Print the build mode used when LLVM was built (e.g. Debug or Release)
143 COMPONENTS
144 ----------
147 To print a list of all available components, run **llvm-config
148 --components**.  In most cases, components correspond directly to LLVM
149 libraries.  Useful "virtual" components include:
152 **all**
154  Includes all LLVM libraries.  The default if no components are specified.
158 **backend**
160  Includes either a native backend or the C backend.
164 **engine**
166  Includes either a native JIT or the bitcode interpreter.
171 EXIT STATUS
172 -----------
175 If **llvm-config** succeeds, it will exit with 0.  Otherwise, if an error
176 occurs, it will exit with a non-zero value.