llvm每日談之三 如何建立一個LLVM工程

做者:snsn1984 html

閱讀了文檔《Creating an LLVM Project》(地址:http://llvm.org/docs/Projects.html)以後,本身照着作了一遍,記錄一下本身的過程。 ui

實際作的時候跟文檔上仍是有不一樣的。 .net

1.首先我係統上的llvm3.1是以前已經下好,而且make過的。我打開llvm-3.1/projects目錄,看到下面有一個我以前放的compiler-rt目錄和另一個原本這裏就有的sample。把sample這個文件夾copy到llvm3.1的同級目錄。修改文件夾名字爲MyFirstLLVM。 htm

2. 打開MyFirstLLVM/autoconf目錄,打開configure.ac. blog

3. AC_INIT後面的括號裏面有三個中括號,第一個中括號要填的是這個項目的名字,第二個是這個項目的版本號,第三個是做者的聯繫郵箱,可改可不改。 文檔

4. 由於如今MyFirstLLVM已經和llvm-3.1在同級目錄了,因此修改接下來的LLVM_SRC_ROOT="../../llvm-3.1" LLVM_OBJ_ROOT="../../llvm-3.1/build"。llvm-3.1/build目錄是我編譯llvm-3.1的目錄。 terminal

5. 修改AC_CONFIG_AUX_DIR後面的內容爲:(["../../llvm-3.1/autoconf"])。 get

6. 而後保存,在terminal中運行./AutoRegen.sh。這時候系統提示:Your autoconf was not detected as being 2.5x or 2.6x。 編譯

7. 查了下,是機器上沒裝autoconf的緣故,使用sudo apt-get install autoconf安裝以後,就能夠正常運行了。 項目

8. 而後在MyFirstLLVM目錄之下,創建一個build目錄,在build目錄下運行../configure。

9. 在build目錄下運行make,結束以後能夠看到build目錄下有一個Release+Asserts目錄,打開這個目錄,能夠看到lib和bin兩個目錄。

10. 在bin目錄之下運行./Sample獲得一個輸出的結果5。

這樣就已經完成了一個LLVM工程的創建。這是創建LLVM工程的兩種方式之一,另一種方式就是從零開始,本身一點一點創建,這樣相對來講會複雜點。


PS:

創建LLVM工程和編譯LLVM是兩回事,不要搞混了。

相關文章
相關標籤/搜索