pyodide/pyodide-build
Hood Chatham 37057d1704
Set PLATFORM_TRIPLET, include platform in so names, only load compatible so files (#2299)
For reasons that are a bit beyond me, `--host` and `PLATFORM_TRIPLET`
seem to be independent, in particular we've had an empty
`PLATFORM_TRIPLET`. This is unfortunate because `PLATFORM_TRIPLET`
is used to generate the SOABI config variable which in turn is used
to decide whether a .so file is a good match for loading. We'd like
for linux Pythons not to try to import emscripten .so files (it
raises `ImportError: some_file.so: invalid ELF header`). Similarly,
we'd like to avoid attempting to load linux .so files in wasm. These
platform tags are our friends.

Anyways, this PR sets `PLATFORM_TRIPLET` and ensures that .so files
built by pywasmcross are tagged with our SOABI tag.

I moved the .so file renaming from pywasmcross to buildpkg just
before running the post script. That is a better place to put it in
case the package wants to look at the .so file after linking it. It
might be surprised that we moved it.

I also improved the error message if we try to `loadWebAssemblyModule`
something that is actually say a Linux .so file and updated get_dynlibs
to filter out .so files that have an incompatible abi tag.
2022-03-28 20:07:36 -07:00
..
pyodide_build Set PLATFORM_TRIPLET, include platform in so names, only load compatible so files (#2299) 2022-03-28 20:07:36 -07:00
README.md Split off load-pyodide.js from pyodide.js (#1578) 2021-05-05 11:30:48 -07:00
pyproject.toml Add pyb2d package (#1968) 2021-12-17 08:24:13 -08:00
setup.cfg Revert "Pyodide v0.20.0a1" 2022-03-24 09:28:09 -07:00
setup.py Add package config for pyodide package (#1848) 2021-09-21 08:46:44 +02:00

README.md

pyodide-build

Tools for building Pyodide.

See http://github.com/pyodide/pyodide for more information.

License

Pyodide uses the Mozilla Public License Version 2.0.