You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+36-36Lines changed: 36 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,10 +84,10 @@ Buildscripts to build numpy and other wheels for wasix. For convenience, this pa
84
84
85
85
The build script is controlled by the following environment variables:
86
86
87
-
-`CC`, `CXX`, `AR`, `LD`, `RANLIB`, etc... : The cross-compiler tools. These should all be normal clang tools, but target wasm32-wasix by default and use the wasix sysroot.
88
-
-`WASIX_SYSROOT`: The path to the wasix sysroot that is used by the toolchain. Libraries will get installed here when you run `make install` or when they are required to build a package.
89
-
-`INSTALL_DIR`: The path to the python library path. Wheels will get installed here when you run `make install`.
90
-
-`WASMER`: The path to the wasmer binary. You must have it registered to handle wasm files as binfmt_misc. You can do this with `sudo $WASMER binfmt reregister`.
87
+
*`CC`, `CXX`, `AR`, `LD`, `RANLIB`, etc... : The cross-compiler tools. These should all be normal clang tools, but target wasm32-wasix by default and use the wasix sysroot.
88
+
*`WASIX_SYSROOT`: The path to the wasix sysroot that is used by the toolchain. Libraries will get installed here when you run `make install` or when they are required to build a package.
89
+
*`INSTALL_DIR`: The path to the python library path. Wheels will get installed here when you run `make install`.
90
+
*`WASMER`: The path to the wasmer binary. You must have it registered to handle wasm files as binfmt_misc. You can do this with `sudo $WASMER binfmt reregister`.
91
91
92
92
The easiest way to setup all the environment variables is to activate the wasix-clang environment using `source wasix-clang/activate`.
93
93
@@ -339,7 +339,7 @@ to check which python libraries depend on shared libs. We try to keep that to a
339
339
340
340
### Structure
341
341
342
-
<!--
342
+
<!--
343
343
There is the pkgs folder that contains most stuff
344
344
345
345
For each project that can be built there are multiple files depending on the type.
@@ -365,52 +365,52 @@ TODO: Make this more understandable
365
365
366
366
Inside the pkgs/ folder there can be the following directories:
367
367
368
-
-`*.source`: clean submodule checkout
369
-
-`*.prepared`: patched worktree of source
370
-
-`*.build`: temporary build directory
371
-
-`*.tar.gz`: python sdist
372
-
-`*.sdist`: unpacked python sdist
373
-
-`*.whl`: compiled python wheel
374
-
-`*.wheel`: unpacked python wheel
375
-
-`*.lib`: unpacked library/application
376
-
-`*.tar.xz`: packed library/application
368
+
*`*.source`: clean submodule checkout
369
+
*`*.prepared`: patched worktree of source
370
+
*`*.build`: temporary build directory
371
+
*`*.tar.gz`: python sdist
372
+
*`*.sdist`: unpacked python sdist
373
+
*`*.whl`: compiled python wheel
374
+
*`*.wheel`: unpacked python wheel
375
+
*`*.lib`: unpacked library/application
376
+
*`*.tar.xz`: packed library/application
377
377
378
378
#### Base structure
379
379
380
380
Each project follows a consistent flow through the first three main directories.
381
381
382
-
-`*.source`
383
-
- This is a clean checkout of the project's upstream source code, tracked as a git submodule.
384
-
- We avoid modifying this directly, since changes here would slow down git operations in the build-scripts repo.
385
-
-`*.prepared`
386
-
- A git worktree created from the `*.source` repository.
387
-
- If patches are needed, they're applied here.
388
-
- If no patches are needed, it's just a clean mirror of the source.
389
-
- This directory is persistent and only refreshed if the source changes so new patches can be developed in this directory
390
-
-`*.build`
391
-
- A copy of the `*.prepared` directory, used for the actual build step.
392
-
- Contains all intermediate build artifacts.
393
-
- This directory is temporary and may be deleted between builds. Never make manual changes here.
382
+
*`*.source`
383
+
* This is a clean checkout of the project's upstream source code, tracked as a git submodule.
384
+
* We avoid modifying this directly, since changes here would slow down git operations in the build-scripts repo.
385
+
*`*.prepared`
386
+
* A git worktree created from the `*.source` repository.
387
+
* If patches are needed, they're applied here.
388
+
* If no patches are needed, it's just a clean mirror of the source.
389
+
* This directory is persistent and only refreshed if the source changes so new patches can be developed in this directory
390
+
*`*.build`
391
+
* A copy of the `*.prepared` directory, used for the actual build step.
392
+
* Contains all intermediate build artifacts.
393
+
* This directory is temporary and may be deleted between builds. Never make manual changes here.
394
394
395
395
The remaining steps are different depending on the type of project.
396
396
397
397
#### Python modules
398
398
399
-
- The build step creates a `*.tar.gz` sdist from the `*.build` directory.
400
-
- The sdist is then extracted into a `*.sdist` folder.
401
-
- Finally, a wheel (`*.whl`) is built from the `*.sdist`.
402
-
- If you want to you can make a `*.wheel` directory to view the unpacked wheel
399
+
* The build step creates a `*.tar.gz` sdist from the `*.build` directory.
400
+
* The sdist is then extracted into a `*.sdist` folder.
401
+
* Finally, a wheel (`*.whl`) is built from the `*.sdist`.
402
+
* If you want to you can make a `*.wheel` directory to view the unpacked wheel
403
403
404
404
#### WASIX libraries and applications
405
405
406
-
- The build step builds the library and installs it into a `*.lib` folder, following the correct directory structure.
407
-
- That folder is then compressed into a final distributable \*.tar.xz.
406
+
* The build step builds the library and installs it into a `*.lib` folder, following the correct directory structure.
407
+
* That folder is then compressed into a final distributable *.tar.xz.
408
408
409
409
#### Interdependencies
410
410
411
411
If a project depends on other project they can either be direct dependencies of that project or you can define a `*.sysroot` target with the dependencies as prerequisites.
412
412
413
-
-`*.sysroot`
414
-
- Contains the merged builds of multiple other projects
415
-
- Useful when a project is using pkg-config to find its dependencies
416
-
- Automatically builds a sysroot from its list of prerequisites
413
+
*`*.sysroot`
414
+
* Contains the merged builds of multiple other projects
415
+
* Useful when a project is using pkg-config to find its dependencies
416
+
* Automatically builds a sysroot from its list of prerequisites
0 commit comments