Add support for importing symbols from static library
This pull request adds support for importing symbols from a static library into the execution engine.
@gmarkall I made fixes/updates for all your comments.
cc1: fatal error: /home/vsts/miniconda3/envs/cienv/lib/python3.8/site-packages/llvmlite/tests/a.c: No such file or directory
see error log at https://dev.azure.com/numba/numba/_build/results?buildId=14315&view=logs&j=fd18f1e2-1ae3-5f4d-9319-996752c1f67c&t=85c24074-1b78-5ee7-1f6d-6e0b210c5911&l=27
You'll need to add the .c files as package data. They are not being installed.
@sklam and @gmarkall all errors resolved.
@gmarkall all feedback incorporated.
@gmarkall ready for review.
@apmasell all your feedback has been incorporated and the PR is ready for further review.
@apmasell and @gmarkall I have updated the code. I am skipping the test on Windows and provided a detailed comment at the top of the test class. There is a error on macOS/Python 3.9 that appears related to a missing llvm-ar. All other versions of macOS succeed.
Note for https://github.com/numba/llvmlite/pull/902/commits/269cd6d713d00be8cf77d856d8c967029bf3e2ea
The Anaconda build of Python 3.9 is using a hardcoded path for llvm-ar from the build environment. I tested it on conda-forge build of Python 3.9 and it works without problem.
@apmasell and @gmarkall ready for review.
If there's a way to get the binary to load on Windows using a non-distutils tool chain, that should be done rather than skipping the test.
If there's a way to get the binary to load on Windows using a non-
distutilstool chain, that should be done rather than skipping the test.
Are there other
If there's a way to get the binary to load on Windows using a non-
distutilstool chain, that should be done rather than skipping the test.
@apmasell unless you are aware of another solution it appears I will need to invoke the visual studio c++ compiler directly from the Python code for Windows plaltforms.
@apmasell, @sklam and @gmarkall Windows error resolved and ready for review.