Emscripten: An LLVM-to-JavaScript Compiler
C C++ JavaScript Shell Python LLVM Other
Latest commit 6dc4ac5 Dec 24, 2016 @kripken 1.37.0
Permalink
Failed to load latest commit information.
cmake/Modules Remove unnecessary specification of CMAKE_(C|CXX)_COMPILER_TARGET Nov 14, 2016
docs Merge pull request #2151 from haneefmubarak/cleanup Mar 3, 2014
media remove extraneous eps since we have svg Mar 6, 2014
site --cflags option (#4776) Dec 15, 2016
src Fix bug after PR #4665 that rebuilding SDL2 with -s USE_SDL2=1 after … Dec 19, 2016
system Add root level include emscripten.h so that both forms #include <emsc… Dec 7, 2016
tests Merge pull request #4665 from juj/emscripten_strict Dec 19, 2016
third_party Deprecate unsafe function writeStringToMemory() and replace all its u… Aug 19, 2016
tools Fix bug after PR #4665 that rebuilding SDL2 with -s USE_SDL2=1 after … Dec 19, 2016
.gitignore Add new option for file_packager.py to store metadata externally. May 8, 2015
AUTHORS Implement retrieval of ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_STEREO_SO… Dec 15, 2016
CONTRIBUTING.md fix contributing link Sep 25, 2014
ChangeLog.markdown Add a note about the ABI change to ChangeLog.markdown. May 25, 2016
LICENSE mention third_party in LICENSE Apr 13, 2016
README.md Merge branch 'patch-1' of github.com:dandv/emscripten into incoming Mar 24, 2014
em++ Implement Emscripten toolchain profiler which can be used to profile … Aug 17, 2016
em++.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
em++.py Fix Windows multiprocessing/forking import of emcc and em++. Windows … Dec 19, 2015
em-config Revert "**all: hard tabs, trailing newlines**" Mar 1, 2014
em-config.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emar Implement Emscripten toolchain profiler which can be used to profile … Aug 17, 2016
emar.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emar.py Implement Emscripten toolchain profiler which can be used to profile … Aug 17, 2016
embuilder.py Convert all easy code locations that use temp_files.get() to use 'wit… Aug 6, 2016
emcc Implement Emscripten toolchain profiler which can be used to profile … Aug 17, 2016
emcc.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emcc.py Merge pull request #4665 from juj/emscripten_strict Dec 19, 2016
emcmake Add python2/3 shell execution wrappers for emcmake, emconfigure, emma… Jan 8, 2016
emcmake.bat Redirect emcmake calls to emconfigure. Feb 14, 2014
emcmake.py Add python2/3 shell execution wrappers for emcmake, emconfigure, emma… Jan 8, 2016
emconfigure Add python2/3 shell execution wrappers for emcmake, emconfigure, emma… Jan 8, 2016
emconfigure.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emconfigure.py Fix CMake invocation to support cases when NODE_JS in ~/.emscripten i… Jan 20, 2016
emlink.py make emlink.py executable Jan 30, 2014
emmake Add support for profiling calls to emmake. Oct 17, 2016
emmake.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emmake.py Add python2/3 shell execution wrappers for emcmake, emconfigure, emma… Jan 8, 2016
emranlib Make emranlib, system/bin/sdl-config and system/bin/sdl2-config execu… Jan 11, 2016
emranlib.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emrun Update to latest emrun. Disables Firefox safe mode key from being tri… Aug 26, 2016
emrun.bat Added emrun utility that allows running .html files in a browser like… Dec 13, 2013
emscons Revert "**all: hard tabs, trailing newlines**" Mar 1, 2014
emscripten-version.txt 1.37.0 Dec 23, 2016
emscripten.py Remove use of combiner-alias-analysis flag from wasm backend's llc Dec 9, 2016
package.json update package.json Mar 3, 2014

README.md

emscripten logo

Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode - which can be generated from C/C++, using llvm-gcc (DragonEgg) or clang, or any other language that can be converted into LLVM - and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).

Links to demos, tutorial, FAQ, etc: https://github.com/kripken/emscripten/wiki

Main project page: http://emscripten.org

License

Emscripten is available under 2 licenses, the MIT license and the University of Illinois/NCSA Open Source License.

Both are permissive open source licenses, with little if any practical difference between them.

The reason for offering both is that (1) the MIT license is well-known, while (2) the University of Illinois/NCSA Open Source License allows Emscripten's code to be integrated upstream into LLVM, which uses that license, should the opportunity arise.

See LICENSE for the full content of the licenses.