• Stars
    star
    271
  • Rank 146,190 (Top 3 %)
  • Language
  • License
    Other
  • Created over 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

C++ to JavaScript/WebAssembly compiler

Cheerp: A C++ compiler for the Web

Discord server Issues

This directory and its sub-directories contain the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

Useful links

Documentation and tutorials: https://labs.leaningtech.com/cheerp

Please report bugs on the cheerp-meta repository: https://github.com/leaningtech/cheerp-meta/issues

Join the Discord server!

Or ask questions on stackoverflow: https://stackoverflow.com/questions/ask?tags=cheerp

Cheerp compiler build instructions

We advise doing an out of tree build, but it's not necessary

This is only one of the components of Cheerp. Please see https://docs.leaningtech.com/cheerp/Linux-build-instructions for instructions on how to build the whole suite.

Build LLVM

cmake -S llvm -B build -C llvm/CheerpCmakeConf.cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang -DCLANG_ENABLE_OPAQUE_POINTERS=OFF -G Ninja
ninja -C build
ninja -C build install

For development, consider to add the following option:

-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG"

External components

Build utils

Go check the README.md of https://github.com/leaningtech/cheerp-utils

Build musl

Go check the README.md of https://github.com/leaningtech/cheerp-musl

Build libcxx and libcxxabi

cmake -S runtimes -B build_runtimes_genericjs -GNinja -C runtimes/CheerpCmakeConf.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="/opt/cheerp/share/cmake/Modules/CheerpToolchain.cmake"
ninja -C build_runtimes_genericjs

cmake -S runtimes -B build_runtimes_wasm -GNinja -C runtimes/CheerpCmakeConf.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="/opt/cheerp/share/cmake/Modules/CheerpWasmToolchain.cmake"
ninja -C build_runtimes_wasm

ninja -C build_runtimes_genericjs install
ninja -C build_runtimes_wasm install

Build libs

Go check the README.md of https://github.com/leaningtech/cheerp-libs

More Repositories

1

webvm

Virtual Machine for the Web
HTML
2,681
star
2

cheerp-meta

Cheerp - a C/C++ compiler for Web applications - compiles to WebAssembly and JavaScript
JavaScript
966
star
3

cheerpj-meta

Run Java 8 applications, libraries, applets, Java Web Start, and Oracle Forms on the web without legacy plugins.
403
star
4

cheerp-clang

Legacy repo, migrated to cheerp-compiler monorepo
C++
215
star
5

cheerp-llvm

Legacy repo, migrated to cheerp-compiler monorepo
LLVM
184
star
6

cheerpj-applet-runner

CheerpJ Applet Runner - Chrome Extension to Enable Java Applets
HTML
54
star
7

cheerpx-flash

CheerpX for Flash - extend the life of Flash applications thanks to HTML5 virtualization
54
star
8

cheerpnet

A virtual LAN and socket library for the Web, based on WebRTC
C++
44
star
9

browsercraft

Unmodified Minecraft 1.2.5 in the browser
HTML
35
star
10

cheerp-libcxx

Legacy repo, migrated to cheerp-compiler monorepo
C++
32
star
11

cheerp-utils

Cheerp headers and utils
C++
31
star
12

cheerp-newlib

A cheerp enabled libc implementation
C
27
star
13

cheerp-libcxxabi

Legacy repo, migrated to cheerp-compiler monorepo
C++
22
star
14

cheerp-bullet

Bullet physics library ported to JavaScript with Cheerp
C++
22
star
15

cheerp-libs

Helper libraries for Cheerp
C++
22
star
16

teeworlds-web

HTML5 of Teeworlds, a multiplayer game. Full serverless and compiled using Cheerp
HTML
21
star
17

javafiddle

Build, run, and share Java snippets in the browser
Svelte
11
star
18

cheerp-musl

A cheerp enabled libc implementation
C
9
star
19

cheerpx_hello

A simple CheerpX hands-on tutorial
HTML
9
star
20

esreduce

Mimimize EcmaScript tests by manipulating the AST and checking the result
JavaScript
6
star
21

leaningtech.github.io

Migrated to labs.leaningtech.com
HTML
4
star
22

cheerpj-natives

JavaScript
4
star
23

ts2cpp

A tool to generate C++ headers from TypeScript declaration files
TypeScript
4
star
24

macos-utils

Small utilities to forge MacOS file formats, useful to create DMG files on Linux
C++
2
star
25

chrome-profiling

Collection of helpful assets for linux perf
Python
2
star
26

cheerpj-example-applet

Run a Java applet in the browser using CheerpJ
HTML
1
star
27

cheerpj-example-swingset3

SwingSet3 in the browser using CheerpJ
HTML
1
star
28

labs.leaningtech.com

Leaning Technologies Developer website
MDX
1
star