This is in reference to (4) in this mailing list discussion.
Certain sections of setup.py assume a specific location of the C++ libraries. Removing this hard assumption will simplify PyArrow builds significantly. As far as I could tell these assumptions are made in the build_ext._run_cmake() method (wherever bundling of C++ libraries are handled).
- The first occurrence is before invoking cmake (see line 237).
- The second occurrence is when the C++ libraries are moved from their build directory to the Python tree (see line 347). The actual implementation is in the function _move_shared_libs_unix(..) (see line 468).
Hope this helps.