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 的构建系统(例如 cmake 或 gn)。
–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
打印提供的组件如何可以一起链接(shared 或 static)。
–system-libs
打印链接到指定的 LLVM 组件所需的所有系统库,包括任何依赖项。
–targets-built
打印此 LLVM 副本支持的所有目标的组件名称。
–version
打印 LLVM 的版本号。
组件¶
要打印所有可用组件的列表,请运行 llvm-config –components。在大多数情况下,组件直接对应于 LLVM 库。有用的“虚拟”组件包括
all
包含所有 LLVM 库。如果未指定组件,则为默认值。
backend
包含原生后端或 C 后端。
engine
包含原生 JIT 或位码解释器。
退出状态¶
如果 llvm-config 成功,它将以 0 退出。否则,如果发生错误,它将以非零值退出。