Emscripten: An LLVM-to-JavaScript Compiler
Перейти к файлу
Alon Zakai 1fc1c90941
set a tabindex on the default html canvas (#7484)
Without it, it cannot be focused, so the user cannot click on it and have the canvas receive events. For example,

  emscripten_set_keypress_callback("#canvas", 0, 1, key_callback);

(note #canvas) will just not receive any events.

Set a value of -1, which just means 'focusable' and does not include it in the tab ordering, which is the same as before.
2018-11-12 11:16:58 -08:00
.circleci Waterfall CI, test upstream LLVM wasm backend (#7474) 2018-11-12 09:42:27 -08:00
cmake/Modules Remove ERROR_ON_UNDEFINED_SYMBOLS=1 from tests and other places since it is now the default (#7282) 2018-10-15 04:32:19 -07:00
docs Process docs for landing prs [ci skip] (#7404) 2018-11-08 14:26:55 -08:00
media
site Document the different combinations of build outputs that Emscripten can produce. (#7471) 2018-11-12 10:18:52 +02:00
src set a tabindex on the default html canvas (#7484) 2018-11-12 11:16:58 -08:00
system Remove the SPLIT_MEMORY option (#7465) 2018-11-09 06:47:46 -08:00
tests set a tabindex on the default html canvas (#7484) 2018-11-12 11:16:58 -08:00
third_party Add copyright headers to locally authored files (#7116) 2018-09-14 11:08:09 -07:00
tools Minify asm.js module import names on -O1 and higher, but not when -g2 or higher is in effect. (#7452) 2018-11-12 17:31:58 +02:00
.clang-format Add .clang-format file (copied from binaryen) (#7164) 2018-09-21 11:12:41 -07:00
.flake8 Fix flake8 issues in ctor_evaller.py (#7456) 2018-11-07 18:24:17 -08:00
.gitattributes Add more minified JS file to the .gitattributes (#7201) 2018-09-28 12:30:41 -07:00
.gitignore Fix for missing tools like `eliminator` - limit the scope of `node_modules .gitignore` filter to top level (#7444) 2018-11-02 16:41:14 -07:00
.style.yapf Add .style.yapf for the YAPF python formatter (#6782) 2018-06-29 17:25:55 -07:00
.travis.yml Split the `other` test suite on travis (#7221) 2018-10-05 17:53:39 -07:00
AUTHORS * webidl_binder.py: Fix argument not being pointer for jsimplementation (#7426) 2018-11-07 09:25:39 -08:00
CONTRIBUTING.md
ChangeLog.md remove redundant changelog entry [ci skip] 2018-11-12 10:53:09 -08:00
Dockerfile Remove EMSCRIPTEN_ROOT from config file (#7254) 2018-10-17 15:34:34 +02:00
LICENSE mention third_party in LICENSE 2016-04-13 11:06:10 -07:00
README.md Update travis and circleci badge links to point incoming branch (#7032) 2018-08-22 12:12:02 -07:00
em++ fix regression in 1.37.37 from 9a5a9b6224 : configure scripts should be pointed to emcc, not emcc.py, since emcc will pick the right python version. (#6460) 2018-04-18 19:13:33 -07:00
em++.bat
em++.py Add copyright headers to locally authored files (#7116) 2018-09-14 11:08:09 -07:00
em-config Replace uses of `eval` (#6069) (#6436) 2018-04-30 14:34:09 -07:00
em-config.bat
emar fix regression in 1.37.37 from 9a5a9b6224 : configure scripts should be pointed to emcc, not emcc.py, since emcc will pick the right python version. (#6460) 2018-04-18 19:13:33 -07:00
emar.bat
emar.py Move setjmp/longjmp helper functions and globals to compiler_rt_wasm … (#7203) 2018-10-02 14:46:17 -07:00
embuilder.py Restrict the environment in which emscripten config file is parsed (#7412) 2018-10-31 11:29:51 -07:00
emcc Always run via subprocess in python-selector. (#6795) 2018-07-11 09:59:23 -07:00
emcc.bat
emcc.py Minify asm.js module import names on -O1 and higher, but not when -g2 or higher is in effect. (#7452) 2018-11-12 17:31:58 +02:00
emcmake fix regression in 1.37.37 from 9a5a9b6224 : configure scripts should be pointed to emcc, not emcc.py, since emcc will pick the right python version. (#6460) 2018-04-18 19:13:33 -07:00
emcmake.bat
emcmake.py Add copyright headers to locally authored files (#7116) 2018-09-14 11:08:09 -07:00
emconfigure fix regression in 1.37.37 from 9a5a9b6224 : configure scripts should be pointed to emcc, not emcc.py, since emcc will pick the right python version. (#6460) 2018-04-18 19:13:33 -07:00
emconfigure.bat
emconfigure.py Add copyright headers to locally authored files (#7116) 2018-09-14 11:08:09 -07:00
emlink.py Add copyright headers to locally authored files (#7116) 2018-09-14 11:08:09 -07:00
emmake fix regression in 1.37.37 from 9a5a9b6224 : configure scripts should be pointed to emcc, not emcc.py, since emcc will pick the right python version. (#6460) 2018-04-18 19:13:33 -07:00
emmake.bat
emmake.py Add copyright headers to locally authored files (#7116) 2018-09-14 11:08:09 -07:00
emranlib Make emranlib, system/bin/sdl-config and system/bin/sdl2-config executable in both python 2 and python 3. 2016-01-11 19:49:43 +02:00
emranlib.bat
emrun Fix emrun after recent python_selector change (#6844) 2018-07-12 10:13:08 -07:00
emrun.bat
emrun.py Add copyright headers to locally authored files (#7116) 2018-09-14 11:08:09 -07:00
emscons Cleanup scons support and remove config file parsing (#7249) 2018-10-09 18:21:33 -07:00
emscons.py Cleanup scons support and remove config file parsing (#7249) 2018-10-09 18:21:33 -07:00
emscripten-version.txt Rename tableBase/memoryBase to __table_base/__memory_base (#7467) 2018-11-08 15:24:10 -08:00
emscripten.py Minify asm.js module import names on -O1 and higher, but not when -g2 or higher is in effect. (#7452) 2018-11-12 17:31:58 +02:00
package.json

README.md

emscripten logo

Build Status CircleCI

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.