This is needed for the upstream backend, and I believe is a noop under
the fastcomp backend
Co-authored-by: Michael Droettboom <mdboom@gmail.com>
Co-authored-by: Joe Marshall <joe.marshall@nottingham.ac.uk>
The installation is very fast, and this avoids having two copies of node
around. In particular, this avoids the need to monkey-patch uglify-js to
use the system node.
This can be further streamlined when #792 is merged
This is removed in emscripten 1.39.16, and for the wasm backend, was
broken since 1.39.6. Eliminating the setting will make it easier to
upgrade in the future.
This was introduced in #96 to bypass a Chrome bug introduced in Chrome
69 and fixed in Chrome 70. Chrome 69 supposedly has a market share of
0.09%, so I think it is safe to drop support.
This resolves#935. I also changed the lint make recipe to use find which is more resilient to changes in directory structure and doesn't output those annoying No such file or directory messages to stdout.
I changed the name of the apply-lints recipe to apply-lint for consistency, and I updated it to only apply lints to files with staged changes.
Before this PR, hiwire effectively opts out of the C type system entirely by declaring everything as int. A char*? Cast it to int. What about a PyObject*? Better cast it to int too. This makes the calling code more verbose (at least if the calling code uses the type system) and is not good for maintainability.
I made a NewType called HwObject for hiwire keys. If you google how to make a NewType in C, people recommend a single field struct. However, EM_JS does not convert that compatibly: it converts any struct to the address of the struct, but an integer to the value of the integer. This created trouble. I decided instead to make a dummy empty struct and work with pointers to that struct. To ensure that converting to and from the NewType always requires an explicit cast, I added -Werror=int-conversion -Werror=incompatible-pointer-types to the compiler options. (I like this setting better in any case.)
I added asserts to main.c checking that HwObject has the same alignment and size as int. Hopefully this will prevent confusing bugs if that ever changes.
This addresses part of #713, by listing and building C libraries as
dependencies. This means we automatically build CLAPACK when needed, and
`lxml`'s C dependencies are not built if lxml is not. In particular,
building "core" should now be faster.
The building itself is still performed by Makefile.
* Update URL and document using Pyodide with Iodide
* Update docs/using_pyodide_from_iodide.md
Co-Authored-By: Carol Willing <carolcode@willingconsulting.com>
* Update docs/using_pyodide_from_iodide.md
Co-Authored-By: Carol Willing <carolcode@willingconsulting.com>