Originally a github fork of the llvm-py repository from http://www.mdevan.org/llvm-py/index.html updated to work with LLVM 3.x. Since then it has changed significantly with multiple sub-projects. www.llvmpy.org
Find a file
2014-04-29 13:25:43 -05:00
buildscripts/condarecipe Disable check_intrinsic 2014-03-13 13:47:09 -05:00
docs fixing index.rst 2013-11-18 15:59:01 -06:00
example fix loop-vectorize for llvm-3.3 2013-11-05 16:58:20 -06:00
llpython Remove shebangs from library code 2013-09-09 13:00:01 +02:00
llrtc add div64 and mod64 2013-08-14 17:24:34 -05:00
llvm Disable isolated test in conda build 2014-03-13 13:20:08 -05:00
llvm_array fix spaces redundant trailing spaces and missing line break at EOF 2013-09-18 11:58:05 -05:00
llvm_cbuilder Fix deprecated function use 2014-02-18 14:13:40 -06:00
llvmpy Fixing leaks (#92); thanks to ksshelt and eltjpm. 2014-04-04 15:14:47 -05:00
test change module name from llvm.test_llvmpy to llvm.tests.support 2013-12-03 02:37:47 -07:00
tools add NVPTX for LLVM 3.2; 2012-08-18 15:29:26 -07:00
www cleanup 2013-01-31 17:54:20 -06:00
.gitattributes add missing llvm/_version.py 2013-02-01 16:04:58 -06:00
.gitignore Finished wrapper in llvm.core 2013-02-08 18:13:45 -06:00
.travis.yml Changed test command for travis 2013-03-04 23:37:28 -03:00
CHANGELOG Update changelog 2014-04-28 11:06:48 -05:00
LICENSE Update license and README 2012-08-02 02:46:10 -05:00
llvm-config-win32.py fix windows build: include all LLVM static library 2013-09-19 17:38:46 -05:00
MANIFEST.in Update MANIFEST.in (#99) 2014-04-28 11:03:13 -05:00
README.rst Update README.rst 2014-04-29 13:25:43 -05:00
README_LLVM_CBUILDER.md Add Stephen's llvm-cbuilder examples. 2012-12-17 14:12:48 -06:00
setup.py Update setup.py 2014-01-16 17:11:21 -06:00
versioneer.py add versioneer 2013-02-01 15:55:12 -06:00

================================
llvmpy: Python bindings for LLVM
================================

Home page
---------

http://www.llvmpy.org

Versions
--------

This package has been tested with LLVM 3.2, Python 2.6, 2.7 and 3.3.
Other Python versions may work.

Quickstart
----------

1. Get and extract LLVM 3.2 source tarball from
   `llvm.org <http://llvm.org/releases/download.html#3.2>`_.  Then, ``cd`` into
   the extracted directory.

2. Run ``./configure --enable-optimized --prefix=LLVM_INSTALL_PATH``.

    **Note**: Without the ``--enable-optimized`` flag, debug build will be
    selected.  Unless you are developing LLVM or llvmpy, it is recommended
    that the flag is used to reduce build time and binary size.
    
    **Note**: Use prefix to select the installation path.  It is recommended
    to separate your custom build from the default system package.  Please
    replace ``LLVM_INSTALL_PATH`` with your own path.

3. Run ``REQUIRES_RTTI=1 make install`` to build and install.

    **Note**: With LLVM 3.2, the default build configuration has C++ RTTI 
    disabled.  However, llvmpy requires RTTI.
    
    **Note**: Use ``make -j2 install`` to enable concurrent build.  
    Replace ``2`` with the actual number of processor you have. 

4. Get llvm-py and install it::

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

   Run the tests::

   $ python -c "import llvm; llvm.test()"

5. See documentation at 'http://www.llvmpy.org' and examples
   under 'test'.
   
Common Build Problems
---------------------

1. If llvmpy cannot be imported due to "undefined symbol:
   _ZTIN4llvm24PassRegistrationListenerE", it is because RTTI is not enabled
   when building LLVM.  "_ZTIN4llvm24PassRegistrationListenerE" is the typeinfo
   of PassRegistrationListener class.

LICENSE
-------

llvmpy is distributed under the new BSD license, which is similar to the LLVM
license itself.
See the file called LICENSE for the full license text.