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
列印如何集體連結提供的元件 (共用 或 靜態)。
–system-libs
列印連結到指定的 LLVM 元件 所需的所有系統程式庫,包括任何相依性。
–targets-built
列印此 LLVM 副本支援的所有目標的元件名稱。
–version
印出 LLVM 的版本號。
組件¶
若要印出所有可用組件的清單,請執行 llvm-config –components。在大多數情況下,組件會直接對應到 LLVM 函式庫。有用的「虛擬」組件包括:
all
包含所有 LLVM 函式庫。如果未指定任何組件,則為預設值。
backend
包含原生後端或 C 語言後端。
engine
包含原生 JIT 編譯器或位元碼解譯器。
結束狀態¶
如果 llvm-config 成功執行,它會以 0 結束。否則,如果發生錯誤,它會以非零值結束。