|
1 | | -# Faasm CPython build |
| 1 | +# Faasm CPython WebAssembly build |
2 | 2 |
|
3 | | -The CPython build uses a fork of |
4 | | -[CPython](https://github.com/Shillaker/cpython/tree/faasm) along with other |
5 | | -Python module forks in the `third-party` directory. |
| 3 | +This build cross-compiles CPython and a number of Python modules to WebAssembly |
| 4 | +for use in [Faasm](https://github.com/lsds/faasm). |
| 5 | + |
| 6 | +You can see a list of the installed modules in the |
| 7 | +[`install_modules.sh`](scripts/install_modules.sh) script. |
| 8 | + |
| 9 | +The build uses the [Faasm |
| 10 | +toolchain](https://github.com/Shillaker/faasm-toolchain) to cross-compile both |
| 11 | +CPython and C-extensions to WebAssembly. |
| 12 | + |
| 13 | +## Code changes |
| 14 | + |
| 15 | +The CPython build uses this slightly modified [fork of |
| 16 | +CPython](https://github.com/Shillaker/cpython/tree/faasm). |
6 | 17 |
|
7 | 18 | To see the changes made to CPython, see [this |
8 | 19 | compare](https://github.com/python/cpython/compare/v3.8.2...Shillaker:faasm). |
9 | | -For numpy, see [this |
10 | | -compare](https://github.com/numpy/numpy/compare/v1.19.2...Shillaker:faasm). |
11 | 20 |
|
12 | | -The build uses the [Faasm |
13 | | -toolchain](https://github.com/Shillaker/faasm-toolchain) to compile CPython and |
14 | | -C-extensions to WebAssembly (for use with |
15 | | -[Faasm](https://github.com/lsds/faasm)). |
| 21 | +A similar (small) list of changes for numpy can be seen |
| 22 | +[here](https://github.com/numpy/numpy/compare/v1.19.2...Shillaker:faasm). |
16 | 23 |
|
17 | 24 | CPython is built statically, some notes on this process can be found |
18 | | -[here](https://wiki.python.org/moin/BuildStatically). The Faasm CPython build |
19 | | -borrows a lot of configuration from |
| 25 | +[here](https://wiki.python.org/moin/BuildStatically). |
| 26 | + |
| 27 | +Several of the code changes to CPython and numpy were borrowed from |
20 | 28 | [pyodide](https://github.com/iodide-project/pyodide). |
21 | 29 |
|
22 | 30 | ## Set-up |
|
0 commit comments