176 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
llvm-config - Print LLVM compilation options
 | 
						|
============================================
 | 
						|
 | 
						|
.. program:: llvm-config
 | 
						|
 | 
						|
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
 | 
						|
-------
 | 
						|
 | 
						|
**--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`).
 | 
						|
 | 
						|
**--src-root**
 | 
						|
 | 
						|
 Print the source root from which LLVM was built.
 | 
						|
 | 
						|
**--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.
 |