1llvm-config - Print LLVM compilation options 2============================================ 3 4.. program:: llvm-config 5 6SYNOPSIS 7-------- 8 9**llvm-config** *option* [*components*...] 10 11DESCRIPTION 12----------- 13 14**llvm-config** makes it easier to build applications that use LLVM. It can 15print the compiler flags, linker flags and object libraries needed to link 16against LLVM. 17 18EXAMPLES 19-------- 20 21To link against the JIT: 22 23.. code-block:: sh 24 25 g++ `llvm-config --cxxflags` -o HowToUseJIT.o -c HowToUseJIT.cpp 26 g++ `llvm-config --ldflags` -o HowToUseJIT HowToUseJIT.o \ 27 `llvm-config --libs engine bcreader scalaropts` 28 29OPTIONS 30------- 31 32**--assertion-mode** 33 34 Print the assertion mode used when LLVM was built (ON or OFF). 35 36**--bindir** 37 38 Print the installation directory for LLVM binaries. 39 40**--build-mode** 41 42 Print the build mode used when LLVM was built (e.g. Debug or Release). 43 44**--build-system** 45 46 Print the build system used to build LLVM (e.g. `cmake` or `gn`). 47 48**--cflags** 49 50 Print the C compiler flags needed to use LLVM headers. 51 52**--cmakedir** 53 54 Print the installation directory for LLVM CMake modules. 55 56**--components** 57 58 Print all valid component names. 59 60**--cppflags** 61 62 Print the C preprocessor flags needed to use LLVM headers. 63 64**--cxxflags** 65 66 Print the C++ compiler flags needed to use LLVM headers. 67 68**--has-rtti** 69 70 Print whether or not LLVM was built with rtti (YES or NO). 71 72**--help** 73 74 Print a summary of **llvm-config** arguments. 75 76**--host-target** 77 78 Print the target triple used to configure LLVM. 79 80**--ignore-libllvm** 81 82 Ignore libLLVM and link component libraries instead. 83 84**--includedir** 85 86 Print the installation directory for LLVM headers. 87 88**--ldflags** 89 90 Print the flags needed to link against LLVM libraries. 91 92**--libdir** 93 94 Print the installation directory for LLVM libraries. 95 96**--libfiles** 97 98 Similar to **--libs**, but print the full path to each library file. This is 99 useful when creating makefile dependencies, to ensure that a tool is relinked if 100 any library it uses changes. 101 102**--libnames** 103 104 Similar to **--libs**, but prints the bare filenames of the libraries 105 without **-l** or pathnames. Useful for linking against a not-yet-installed 106 copy of LLVM. 107 108**--libs** 109 110 Print all the libraries needed to link against the specified LLVM 111 *components*, including any dependencies. 112 113**--link-shared** 114 115 Link the components as shared libraries. 116 117**--link-static** 118 119 Link the component libraries statically. 120 121**--obj-root** 122 123 Print the object root used to build LLVM. 124 125**--prefix** 126 127 Print the installation prefix for LLVM. 128 129**--shared-mode** 130 131 Print how the provided components can be collectively linked (`shared` or `static`). 132 133**--src-root** 134 135 Print the source root from which LLVM was built. 136 137**--system-libs** 138 139 Print all the system libraries needed to link against the specified LLVM 140 *components*, including any dependencies. 141 142**--targets-built** 143 144 Print the component names for all targets supported by this copy of LLVM. 145 146**--version** 147 148 Print the version number of LLVM. 149 150 151COMPONENTS 152---------- 153 154To print a list of all available components, run **llvm-config 155--components**. In most cases, components correspond directly to LLVM 156libraries. Useful "virtual" components include: 157 158**all** 159 160 Includes all LLVM libraries. The default if no components are specified. 161 162**backend** 163 164 Includes either a native backend or the C backend. 165 166**engine** 167 168 Includes either a native JIT or the bitcode interpreter. 169 170 171EXIT STATUS 172----------- 173 174If **llvm-config** succeeds, it will exit with 0. Otherwise, if an error 175occurs, it will exit with a non-zero value. 176