This release is a pre-release and may not be stable for production use.
Home page
Versions
This package has been tested with LLVM 3.3, Python 2.6, 2.7, 3.3 and 3.4. Other Python versions may work.
Quickstart
Get and extract LLVM 3.3 source tarball from llvm.org. Then, cd into the extracted directory.
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.
Run REQUIRES_RTTI=1 make install to build and install.
Note: With LLVM 3.3, 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.
Get llvm-py and install it:
$ git clone https://github.com/llvmpy/llvmpy.git $ cd llvmpy $ LLVM_CONFIG_PATH=LLVM_INSTALL_PATH/bin/llvm-config python setup.py install
Note: Some OS has a default python that may install to system locations thus requiring root permission. In that case, use:
$ LLVM_CONFIG_PATH=LLVM_INSTALL_PATH/bin/llvm-config python setup.py install --user
Run the tests:
$ python -c "import llvm; llvm.test()"
See documentation at ‘http://www.llvmpy.org’ and examples under ‘test’.
Common Build Problems
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.
LLVM3.3 ssize_t mismatch on 64-bit Windows. Get patch from http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130701/180049.html
OSX 10.9 Mavericks uses libc++ by default but Anaconda distributes LLVM binaries link with the old libstdc++. The two binaries are incompatible but there are no compile/link time warnings. The resulting binaries may generate segmentation fault at runtime (probably due to ABI mismatch). The Fix: Use the following c++ flags: -std=libstdc++ -mmacosx-version-min=10.6.
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.
Metadata
Release files for llvmpy 0.12.7-9-g60b512d
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| llvmpy-0.12.7-9-g60b512d.tar.gz | 1.1 MB | Without provenance | Details |
Release files / llvmpy-0.12.7-9-g60b512d.tar.gz
| Download URL | llvmpy-0.12.7-9-g60b512d.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b8a42c49bb104d91cef33f041497bd2dd0db99b27f5cab944faa7752d74b370
|
|
BLAKE2b-256 checksum How to use checksums |
5523e523382a8ca3e076c4af59201f0eb29cfadeb194c02d8365c9f4b5b2e897
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for llvmpy 0.12.7-9-g60b512d
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.