【LLVM】LLVM的安裝與配置

LLVM學(xué)習(xí)入門

入門學(xué)習(xí)LLVM開始,回顧一下之前的知識(shí)。
首先,LLVM由三個(gè)部分組成,

  • 第一部分是LLVM組件,它包括工具集,庫(kù)文件以及LLVM需要用到的頭文件。它包括匯編程序,反匯編程序,bitcode分析器和二進(jìn)制代碼優(yōu)化器。它也包括基本的對(duì)于Clang前端和LLVM工具的測(cè)試。
  • 第二部分是Clang前端,它可以把C、C++、Objective C,以及Objective C++編譯為bitcode,一旦編譯成為L(zhǎng)LVM的bitcode,LLVM組件即可使用相關(guān)的工具對(duì)其進(jìn)行控制操作。
  • 第三部分是可選部分,稱作測(cè)試組件。用來(lái)測(cè)試LLVM的功能和性能。

快速開始

如果是類UNIX系統(tǒng),確保有安裝GCC和Clang。Windows系統(tǒng)請(qǐng)安裝Visual Studio。
以下均在類UNIX系統(tǒng)下,Windows請(qǐng)自行查閱文檔
GNU Make 3.79,3.79.1
GCC >= 4.8.0
Python >= 2.7
zlib >= 1.2.3.4

  • 使用SVN將LLVM checkout下來(lái)
    • cd llvm注意不要是根目錄
    • svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
  • 使用SVN將Clang checkout下來(lái)
    • cd llvm
    • cd llvm/tools
    • svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
  • 使用SVN將額外的Clang 工具checkout下來(lái)(可選)
    • cd llvm
    • cd llvm/tools/clang/tools
    • svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
  • 使用SVN將LLD linker checkout下來(lái)(可選)
    • cd llvm
    • cd llvm/tools
    • svn co http://llvm.org/svn/llvm-project/lld/trunk lld
  • 使用SVN將Polly Loop Optimizer checkout下來(lái)(可選)
    • cd llvm
    • cd llvm/tools
    • svn co http://llvm.org/svn/llvm-project/polly/trunk polly
  • 使用SVN將Compiler-RT checkout下來(lái)(可選)
    • cd llvm
    • cd llvm/projects
  • 使用SVN將Libomp checkout下來(lái)(可選)
    • cd llvm
    • cd llvm/projects
    • svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp
  • 使用SVN將libcxx checkout下來(lái)(可選)
    • cd llvm
    • cd llvm/projects
    • svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
    • svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi
  • 獲取測(cè)試源代碼(可選)
    • cd llvm
    • cd llvm/projects
    • svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suite
      接下來(lái)需要配置LLVM和Clang:
      使用CMake來(lái)buildLLVM和Clang,要求的是CMake3.4.3以上。步驟如下:
  • cd dir_you_want_to_build
  • mkdir build
  • cd build
  • cmake -G <generator> [options] <path to llvm sources>
    其中一些generators如下(即編譯工具):
  • Unix Makefiles
  • Ninja
  • Visual Studio
  • Xcode
    其中可選項(xiàng)options如下:
  • -DCMAKE_INSTALL_PREFIX=directory 明確LLVM工具和庫(kù)被安裝的位置,默認(rèn)在/usr/local下。
  • -DCMAKE_BUILD_TYPE=type Debug選項(xiàng),默認(rèn)就是使用Debug。
  • -DLLVM_ENABLE_ASSERTIONS=On 編譯時(shí)開啟斷言檢查(assertion),默認(rèn)就是開啟
    要注意整個(gè)llvm和build的絕對(duì)路徑中不要出現(xiàn)中文,否則會(huì)出問(wèn)題。

最后使用make命令編譯一下即可,生成的文件位于build/bin目錄下。
因?yàn)椴襟E中需要用到cmake,最后附上cmake的下載鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容