https://github.com/wiwichips/jadcc
Distributed C / C++ compiler using implemented using WebAssembly and the Distributed Compute Protocol (DCP)
https://github.com/wiwichips/jadcc
compiler dcp distributed-computing javascript nodejs webassembly
Last synced: 10 months ago
JSON representation
Distributed C / C++ compiler using implemented using WebAssembly and the Distributed Compute Protocol (DCP)
- Host: GitHub
- URL: https://github.com/wiwichips/jadcc
- Owner: wiwichips
- Created: 2021-08-10T23:34:02.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-08-13T11:23:25.000Z (over 4 years ago)
- Last Synced: 2025-03-17T11:50:37.220Z (10 months ago)
- Topics: compiler, dcp, distributed-computing, javascript, nodejs, webassembly
- Language: JavaScript
- Homepage:
- Size: 21.9 MB
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Just Another Distributed C/C++ Compiler
## How to pronounce jadcc
"jadch"
## What is jadcc
* A rushed proof of concept
* WASM binary of the Clang compiler
* WASM binary of an in memory file system
* Deployed using the Distributed Compute Protocol
## Credit
* This work is a continuation (and fork) of https://github.com/binji/wasm-clang
## Current Issues
* This depends on a unique DCP setup that has to be mandated across all workers compiling code
* Therefore, this code does not work on production DCP as it expects each worker to have a copy of the CLANG compiler as a WASM binary
* There are no optimizations here
* This only compiles libraries that do not source other c code
* This will be the focus of future work on this project
## Instructions
* ensure your DCP users are using a dcp-client where the binaries are injected into the work functions arguments as base64 strings in this order (clang, memfs, sysroot.tar)
* npm install
* ./dcp.js