Comments (8)
I've got a start on this in cmake ... I'll submit a pull request shortly. It isn't complete, but it is a start.
from binaryen.
CMake is fine. @waywardmonkeys your changes don't seem to be public yet. Can you push them? I would like to take a look as I'm also interested in working on this.
from binaryen.
After @WaywardMonkey's first pull and some tweaks, cmake mostly works. The main missing piece is it doesn't invoke emcc to build wasm.js yet.
from binaryen.
build.sh
is not in sync with CMake and fails in several ways. Even after making sure that I compile the same source files as CMake, check.py
fails because the support
library is not built.
Question is, should we fix build.sh
or just drop it all together?
from binaryen.
Yeah, it's getting worse. I just pushed a commit to move build.sh to use cmake for everything that it can, which is everything but wasm.js. Hopefully we can figure out the wasm.js bit (tricky part is calling emcc, and not the system compiler), and remove build.sh entirely.
from binaryen.
This is mostly done, but we still have build-js.sh
for building the JS parts. Would be nice if that could be done in cmake as well, but it means invoking out to call a different compiler (emcc) so maybe not. If not, we can close this.
from binaryen.
If build-js.sh
stays as simple as it is, then unlikely to be worth the effort of trying to have multiple toolchains in a single build system configuration. This is especially true since we don't really need to have support for random users running it on a variety of OSes. I'd say we can call this issue fixed since we have CMake and of course update it as needed.
from binaryen.
With sexpr-wasm, I have a neat trick where I have a top-level Makefile drive the CMake build underneath. That way you can have different toolchain configurations easily accessible. Currently I support a full matrix of {gcc, gcc-i686, clang, emscripten, gcc w/ AFL fuzz} * {debug, release} * {msan, lsan, asan, ubsan}.
from binaryen.
Related Issues (20)
- Fuzzer bug: infinite hang in V8 execution HOT 1
- Internal UTF / Python error in fuzzer HOT 10
- Fuzz bug: interpretation of `return_call` is not correct. HOT 16
- Error: failed to run main module when executing WebAssembly module processed with `wasm-opt --remove-memory` in wasm runtime HOT 2
- Emitting unreachable for unemittable String instructions can fail due to blocks HOT 2
- Fuzz bug with atomic wait HOT 1
- wasm-opt -O2 seg faults on large binary with many nested if-then-else instructions HOT 1
- [Question]: Why we need check lastDebuglocation == loc in writeDebugLocation HOT 9
- Output structured data format based on wasm-delegations.def HOT 1
- [Question] How to do type evaluation in Binaryen? HOT 1
- Asyncify: warn/error when functions match both ADD and REMOVE
- How to traverse memory segments and get their data?
- WATParser bug when parse implicit type definition HOT 1
- How to remove no-op exported functions? HOT 3
- Run (basic) StackIR optimizations in all binary writes? HOT 2
- wasm-split: WasmBinaryWriter::getDataSegmentIndex assertion related to DataDrop HOT 1
- What are the road blocks to using wasm-split multiple times? HOT 5
- Dynamic loading of custom passes in wasm-opt HOT 1
- CFGWalker with Single-thread failed HOT 4
- Unsubtyping fuzz bug HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binaryen.