llvm-config - 打印 LLVM 编译选项

概要

llvm-config 选项 [组件…]

描述

llvm-config 使构建使用 LLVM 的应用程序更加容易。它可以打印链接到 LLVM 所需的编译器标志、链接器标志和对象库。

示例

链接到 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`

选项

–assertion-mode

打印 LLVM 构建时使用的断言模式(ON 或 OFF)。

–bindir

打印 LLVM 二进制文件的安装目录。

–build-mode

打印 LLVM 构建时使用的构建模式(例如 Debug 或 Release)。

–build-system

打印用于构建 LLVM 的构建系统(例如 cmakegn)。

–cflags

打印使用 LLVM 头文件所需的 C 编译器标志。

–cmakedir

打印 LLVM CMake 模块的安装目录。

–components

打印所有有效的组件名称。

–cppflags

打印使用 LLVM 头文件所需的 C 预处理器标志。

–cxxflags

打印使用 LLVM 头文件所需的 C++ 编译器标志。

–has-rtti

打印 LLVM 是否使用 rtti 构建(YES 或 NO)。

–help

打印 llvm-config 参数的摘要。

–host-target

打印用于配置 LLVM 的目标三元组。

–ignore-libllvm

忽略 libLLVM 并链接组件库。

–includedir

打印 LLVM 头文件的安装目录。

–ldflags

打印链接到 LLVM 库所需的标志。

–libdir

打印 LLVM 库的安装目录。

–libfiles

类似于 –libs,但打印每个库文件的完整路径。这在创建 makefile 依赖项时很有用,以确保如果工具使用的任何库发生更改,则重新链接该工具。

–libnames

类似于 –libs,但打印库的裸文件名,不带 -l 或路径名。在链接到尚未安装的 LLVM 副本时很有用。

–libs

打印链接到指定的 LLVM 组件所需的所有库,包括任何依赖项。

–link-shared

将组件链接为共享库。

–link-static

静态链接组件库。

–obj-root

打印用于构建 LLVM 的对象根目录。

–prefix

打印 LLVM 的安装前缀。

–shared-mode

打印提供的组件如何可以一起链接(sharedstatic)。

–system-libs

打印链接到指定的 LLVM 组件所需的所有系统库,包括任何依赖项。

–targets-built

打印此 LLVM 副本支持的所有目标的组件名称。

–version

打印 LLVM 的版本号。

组件

要打印所有可用组件的列表,请运行 llvm-config –components。在大多数情况下,组件直接对应于 LLVM 库。有用的“虚拟”组件包括

all

包含所有 LLVM 库。如果未指定组件,则为默认值。

backend

包含原生后端或 C 后端。

engine

包含原生 JIT 或位码解释器。

退出状态

如果 llvm-config 成功,它将以 0 退出。否则,如果发生错误,它将以非零值退出。