Emscripten: An LLVM-to-JavaScript Compiler
C C++ JavaScript Shell LLVM Python Other
Latest commit 07b8742 Feb 23, 2016 @kripken 1.36.0
Failed to load latest commit information.
cmake/Modules Treat js-libraries as libraries in cmake Oct 21, 2015
docs Merge pull request #2151 from haneefmubarak/cleanup Mar 3, 2014
media remove extraneous eps since we have svg Mar 6, 2014
site docs on link speed Feb 17, 2016
src Fix race condition in emrun where the Emscripten page might execute b… Feb 20, 2016
system Define the LDBL_* macros in terms of the corresponding compiler prede… Feb 17, 2016
tests make interactive.test_sdl_wm_togglefullscreen behavior match what the… Feb 23, 2016
third_party upgrade stb_image to latest upstream version : 2.08 Dec 14, 2015
tools Fix codemods replacement for -s USE_PTHREADS=2 and -s PRECISE_F32=2 f… Feb 18, 2016
.gitignore Add new option for file_packager.py to store metadata externally. May 8, 2015
AUTHORS Add myself to AUTHORS Feb 18, 2016
CONTRIBUTING.md fix contributing link Sep 25, 2014
ChangeLog.markdown Fix typo in ChangeLog.markdown. Nov 13, 2015
LICENSE update year to 2014 Feb 22, 2014
README.md Merge branch 'patch-1' of github.com:dandv/emscripten into incoming Mar 24, 2014
em++ Fix Windows multiprocessing/forking import of emcc and em++. Windows … Dec 19, 2015
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**" Feb 28, 2014
em-config.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emar Add python2/3 shell execution wrappers for emcmake, emconfigure, emma… Jan 8, 2016
emar.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emar.py Add python2/3 shell execution wrappers for emcmake, emconfigure, emma… Jan 8, 2016
embuilder.py update embuilder for js optimizer now being optimized by default Nov 3, 2015
emcc Fix Windows multiprocessing/forking import of emcc and em++. Windows … Dec 19, 2015
emcc.bat Fix python spawn scripts on Windows when the emscripten path contains… Aug 23, 2013
emcc.py support -include-pch flag #4086 Feb 18, 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 29, 2014
emmake Add python2/3 shell execution wrappers for emcmake, emconfigure, emma… Jan 8, 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 Tune emrun to avoid various Firefox network update checks with the cl… Sep 7, 2015
emrun.bat Added emrun utility that allows running .html files in a browser like… Dec 14, 2013
emscons Revert "**all: hard tabs, trailing newlines**" Mar 1, 2014
emscripten-version.txt 1.36.0 Feb 23, 2016
emscripten.py do not optimize out filesystem in main modules, since side modules mi… Feb 8, 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.