• Stars
    star
    292
  • Rank 142,152 (Top 3 %)
  • Language
    C++
  • License
    Other
  • Created almost 4 years ago
  • Updated 4 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
4,533
star
2

cheerp-meta

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

cheerpj-meta

Run Java 8 applications, libraries, applets, Java Web Start, and Oracle Forms on the web without legacy plugins.
452
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

cheerpx-flash

CheerpX for Flash - extend the life of Flash applications thanks to HTML5 virtualization
61
star
7

cheerpj-applet-runner

CheerpJ Applet Runner - Chrome Extension to Enable Java Applets
HTML
57
star
8

browsercraft

Unmodified Minecraft 1.2.5 in the browser using CheerpJ
HTML
50
star
9

cheerpnet

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

cheerp-libcxx

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

cheerp-utils

Cheerp headers and utils
C++
32
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
17
star
18

cheerpx_hello

A simple CheerpX hands-on tutorial
HTML
10
star
19

cheerp-musl

A Cheerp-enabled libc implementation
C
9
star
20

cheerpj-natives

JS implementations of JNI libraries for CheerpJ
JavaScript
9
star
21

esreduce

Mimimize EcmaScript tests by manipulating the AST and checking the result
JavaScript
7
star
22

ts2cpp

A tool to generate C++ headers from TypeScript declaration files
TypeScript
7
star
23

leaningtech.github.io

Migrated to labs.leaningtech.com
HTML
4
star
24

labs

Leaning Technologies developer site
MDX
4
star
25

chrome-profiling

Collection of helpful assets for linux perf
Python
3
star
26

macos-utils

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

cheerpj-jnlp-runner

Run Java Web Start Applications without Java
2
star
28

cheerpj-example-applet

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

cheerpj-example-swingset3

SwingSet3 in the browser using CheerpJ
HTML
1
star
30

cheerpx-meta

Run X86 binary applications and libraries in the browser
1
star
31

cheerpx-games-runner

An open-source Chrome Extension to run your games directly in the browser
JavaScript
1
star