Numpy requires severals requirements:
- It absolutely requires unittest, that was deleted before
(reduce-python.sh)
- It requires future_builtins (ModuleSetup)
- Deduplication of symbols now can merge multiple .a for easier
management in Xcode (tools/environments.sh)
- Avoid passing specific linker parameters to ar (-Wl ignored in
tools/liblink).
Numpy itself have few patch for:
- force endianess to be little, using directly endian.h leads to
detection error during the build process.
- force not BLAS to be built, Accelerate framework already have it
- rework the dependencies relation for lapack_lite and _umath_linalg,
to prevent duplicate symbols and force compilation of necessary module
/ missing symbols.
Now all the cythonized modules are rewrite with a mangled name of
package + module name. This avoid symbol conflict if you have the same
module.so as another library (for example, audiostream.sources.thread
and python thread.so was in conflict).
Then, a custom builtin importer is loaded before the application start,
and when you will want to import audiostream.sources.thread, if will
import builtin audiostream_sources_thread.
kivy/ios/lxml/audiostream recipes are impacted. A full rebuild is
needed.