Skip to content

About

C++ to JavaScript/WebAssembly compiler

Topics

Resources

Contributing

Security policy

Stars

363 stars

Watchers

12 watching

Forks

Latest commit

 

History

449,366 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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://cheerp.io/docs/building-from-source/linux 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

About

C++ to JavaScript/WebAssembly compiler

Topics

Resources

Contributing

Security policy

Stars

363 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages