跳转到主要内容

LLVM的Python绑定

项目描述

主页

http://www.llvmpy.org

版本

此软件包已与LLVM 3.3、Python 2.6、2.7、3.3和3.4进行测试。其他Python版本可能也可以工作。

快速入门

  1. llvm.org 获取并提取LLVM 3.2源代码tar包。然后,在提取的目录中运行cd

  2. 运行 ./configure --enable-optimized --prefix=LLVM_INSTALL_PATH

    注意:如果没有使用--enable-optimized标志,则会选择调试构建。除非您正在开发LLVM或llvmpy,否则建议使用此标志以减少构建时间和二进制文件大小。

    注意:使用前缀来选择安装路径。建议将自定义构建与默认系统软件包分开。请将LLVM_INSTALL_PATH替换为您自己的路径。

  3. 运行 REQUIRES_RTTI=1 make install 以构建和安装。

    注意:从LLVM 3.3开始,默认的构建配置已禁用C++ RTTI。然而,llvmpy需要RTTI。

    注意:使用make -j2 install来启用并行构建。将2替换为您实际拥有的处理器数量。

  4. 获取llvm-py并安装它

    $ git clone https://github.com/llvmpy/llvmpy.git
    $ cd llvmpy
    $ LLVM_CONFIG_PATH=LLVM_INSTALL_PATH/bin/llvm-config python setup.py install

    运行测试

    $ python -c "import llvm; llvm.test()"
  5. 请参阅‘http://www.llvmpy.org’处的文档以及‘test’下的示例。

常见构建问题

  1. 如果由于“undefined symbol: _ZTIN4llvm24PassRegistrationListenerE”无法导入llvmpy,那么是因为在构建LLVM时未启用RTTI。“_ZTIN4llvm24PassRegistrationListenerE”是PassRegistrationListener类的typeinfo。

  2. LLVM3.3在64位Windows上ssize_t不匹配。http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130701/180049.html获取补丁。

  3. OSX 10.9 Mavericks默认使用libc++,但Anaconda分发的LLVM二进制文件链接的是旧的libstdc++。这两个二进制文件是不兼容的,但在编译/链接时没有警告。生成的二进制文件可能在运行时产生段错误(可能由于ABI不匹配)。解决方案:使用以下c++标志:-std=libstdc++ -mmacosx-version-min=10.6

许可证

llvmpy在新的BSD许可证下分发,这与LLVM许可证本身相似。请参阅名为LICENSE的文件以获取完整的许可证文本。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

llvmpy-0.12.7.tar.gz (657.1 kB 查看散列)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面