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 退出。否則,如果發生錯誤,它將以非零值退出。