zoukankan      html  css  js  c++  java
  • LLVM每日谈之三 如何创建一个LLVM工程

    作者:snsn1984

    阅读了文档《Creating an LLVM Project》(地址:http://llvm.org/docs/Projects.html)之后,自己照着做了一遍,记录一下自己的过程。

    实际做的时候跟文档上还是有不同的。

    1.首先我系统上的llvm3.1是之前已经下好,并且make过的。我打开llvm-3.1/projects目录,看到下面有一个我之前放的compiler-rt目录和另外一个本来这里就有的sample。把sample这个文件夹copy到llvm3.1的同级目录。修改文件夹名字为MyFirstLLVM。

    2. 打开MyFirstLLVM/autoconf目录,打开configure.ac.

    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的目录。

    5. 修改AC_CONFIG_AUX_DIR后面的内容为:(["../../llvm-3.1/autoconf"])。

    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是两回事,不要搞混了。


  • 相关阅读:
    Linux workqueue疑问【转】
    Java中基础类库使用
    Sdut 2164 Binomial Coeffcients (组合数学) (山东省ACM第二届省赛 D 题)
    python中使用mahotas包实现高斯模糊
    ZOJ1372 POJ 1287 Networking 网络设计 Kruskal算法
    Android 属性动画(Property Animation) 全然解析 (下)
    MySQL搜索: WHERE 多条件
    点滴记录——Centos 6.5 yum安装Ganglia
    标准linuxserver搭建
    检查ORACLE的警告文件的脚本
  • 原文地址:https://www.cnblogs.com/ainima/p/6332007.html
Copyright © 2011-2022 走看看