wiwichips / jadcc

Distributed C / C++ compiler using implemented using WebAssembly and the Distributed Compute Protocol (DCP)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

About

Distributed C / C++ compiler using implemented using WebAssembly and the Distributed Compute Protocol (DCP)


Languages

Language:JavaScript 98.2%Language:C 1.0%Language:Makefile 0.8%