From ec118748fe11013e73f53e4918c32668519c5d04 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Tue, 29 Jul 2014 16:37:21 +0300
Subject: [PATCH 01/30] Add support to emrun to receive binary file dumps, and
 add a JS function emrun_file_dump() when building with --emrun that performs
 a data dump back to server. Used e.g. to debug issue #1826.

---
 emrun                    | 72 ++++++++++++++++++++++++----------------
 src/emrun_postjs.js      |  9 +++++
 tests/hello_world_exit.c | 11 ++++--
 3 files changed, 61 insertions(+), 31 deletions(-)

diff --git a/emrun b/emrun
index e3596eed76e17..353021a0450e4 100755
--- a/emrun
+++ b/emrun
@@ -365,38 +365,51 @@ class HTTPHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
     global page_exit_code, emrun_options, have_received_messages
 
     (_, _, path, query, _) = urlparse.urlsplit(self.path)
-    data = self.rfile.read(int(self.headers['Content-Length']))
-    data = data.replace("+", " ")
-    data = unquote_u(data)
-
-    # The user page sent a message with POST. Parse the message and log it to stdout/stderr.
-    is_stdout = False
-    is_stderr = False
-    seq_num = -1
-    # The html shell is expected to send messages of form ^out^(number)^(message) or ^err^(number)^(message).
-    if data.startswith('^err^'):
-      is_stderr = True
-    elif data.startswith('^out^'):
-      is_stdout = True
-    if is_stderr or is_stdout:
+    if query.startswith('file='): # Binary file dump/upload handling. Requests to "stdio.html?file=filename" will write binary data to the given file.
+      data = self.rfile.read(int(self.headers['Content-Length']))
+      filename = query[len('file='):]
+      dump_out_directory = 'dump_out'
       try:
-        i = data.index('^', 5)
-        seq_num = int(data[5:i])
-        data = data[i+1:]
+        os.mkdir(dump_out_directory)
       except:
         pass
-
-    is_exit = data.startswith('^exit^')
-
-    if data == '^pageload^': # Browser is just notifying that it has successfully launched the page.
+      filename = os.path.join(dump_out_directory, os.path.normpath(filename))
+      open(filename, 'wb').write(data)
+      print 'Wrote ' + str(len(data)) + ' bytes to file "' + filename + '".'
       have_received_messages = True
-    elif not is_exit:
-      log = browser_loge if is_stderr else browser_logi
-      self.server.handle_incoming_message(seq_num, log, data)
-    elif not emrun_options.serve_after_exit:
-      page_exit_code = int(data[6:])
-      logv('Web page has quit with a call to exit() with return code ' + str(page_exit_code) + '. Shutting down web server. Pass --serve_after_exit to keep serving even after the page terminates with exit().')
-      self.server.shutdown()
+    else:
+      data = self.rfile.read(int(self.headers['Content-Length']))
+      data = data.replace("+", " ")
+      data = unquote_u(data)
+
+      # The user page sent a message with POST. Parse the message and log it to stdout/stderr.
+      is_stdout = False
+      is_stderr = False
+      seq_num = -1
+      # The html shell is expected to send messages of form ^out^(number)^(message) or ^err^(number)^(message).
+      if data.startswith('^err^'):
+        is_stderr = True
+      elif data.startswith('^out^'):
+        is_stdout = True
+      if is_stderr or is_stdout:
+        try:
+          i = data.index('^', 5)
+          seq_num = int(data[5:i])
+          data = data[i+1:]
+        except:
+          pass
+
+      is_exit = data.startswith('^exit^')
+
+      if data == '^pageload^': # Browser is just notifying that it has successfully launched the page.
+        have_received_messages = True
+      elif not is_exit:
+        log = browser_loge if is_stderr else browser_logi
+        self.server.handle_incoming_message(seq_num, log, data)
+      elif not emrun_options.serve_after_exit:
+        page_exit_code = int(data[6:])
+        logv('Web page has quit with a call to exit() with return code ' + str(page_exit_code) + '. Shutting down web server. Pass --serve_after_exit to keep serving even after the page terminates with exit().')
+        self.server.shutdown()
 
     self.send_response(200)
     self.send_header("Content-type", "text/plain")
@@ -930,7 +943,8 @@ def main():
   if options.serve_root:
     serve_dir = os.path.abspath(options.serve_root)
   else:
-    serve_dir = os.path.dirname(os.path.abspath(file_to_serve))
+    if file_to_serve == '.': serve_dir = os.path.abspath(file_to_serve)
+    else: serve_dir = os.path.dirname(os.path.abspath(file_to_serve))
   url = os.path.relpath(os.path.abspath(file_to_serve), serve_dir)
   if len(cmdlineparams) > 0:
     url += '?' + '&'.join(cmdlineparams)
diff --git a/src/emrun_postjs.js b/src/emrun_postjs.js
index 9d84e761cdece..8bcea9a99e94a 100644
--- a/src/emrun_postjs.js
+++ b/src/emrun_postjs.js
@@ -18,3 +18,12 @@ function emrun_register_handlers() {
   post('^pageload^');
 }
 emrun_register_handlers();
+
+// POSTs the given binary data represented as a (typed) array data back to the emrun-based web server.
+// To use from C code, call e.g. EM_ASM_({emrun_file_dump("file.dat", HEAPU8.subarray($0, $0 + $1));}, my_data_pointer, my_data_pointer_byte_length);
+function emrun_file_dump(filename, data) {
+  var http = new XMLHttpRequest();
+  Module['print']('Dumping out file "' + filename + '" with ' + data.length + ' bytes of data.');
+  http.open("POST", "stdio.html?file=" + filename, true);
+  http.send(data);
+}
diff --git a/tests/hello_world_exit.c b/tests/hello_world_exit.c
index 8932caf2dc6af..1c72f2d1d57b7 100644
--- a/tests/hello_world_exit.c
+++ b/tests/hello_world_exit.c
@@ -1,15 +1,22 @@
-#include<stdio.h>
-#include<stdlib.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <emscripten.h>
 
 int main(int argc, char **argv) {
   printf("argc: %d\n", argc);
   for(int i = 0; i < argc; ++i) {
     printf("argv[%d]: %s\n", i, argv[i]);
   }
+
+  // Dump a file to local filesystem with emrun.
+  EM_ASM(emrun_file_dump("test.dat", HEAPU8.subarray(0, 128)););
+  EM_ASM(emrun_file_dump("heap.dat", HEAPU8));
+
   if (argc <= 1)
     exit(1);
   printf("hello, world!\n");
   fprintf(stderr, "hello, error stream!\n");
+
   exit(100);
 }
 

From 797656ac43f6d998e5d6ccd4bd1c58b55f9527e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Tue, 29 Jul 2014 16:40:10 +0300
Subject: [PATCH 02/30] Fix the reference image sdl_canvas_alpha.png. The
 previous image was an example of broken rendering: the test does (additive)
 alpha blending, and in the previous image some of the pixel components
 wrapped around to show green color artifacts. Fixes #1826.

---
 tests/sdl_canvas_alpha.png | Bin 169826 -> 79042 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/tests/sdl_canvas_alpha.png b/tests/sdl_canvas_alpha.png
index fb9d61651fa5ff92903cbade5b5b37c34b06427f..7fdcd211ca18bed58d403a9593ed5a912b0ceff8 100644
GIT binary patch
literal 79042
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%0Ae3_+AXOy1B3E
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

literal 169826
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


From 95ac2f37fb211d511573d3c20d6385c051d3f91e Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 29 Jul 2014 13:48:24 -0700
Subject: [PATCH 03/30] increase slack on test_sdl_canvas_alpha

---
 tests/test_browser.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test_browser.py b/tests/test_browser.py
index 281e5852fe991..ea257f4c1e4ff 100644
--- a/tests/test_browser.py
+++ b/tests/test_browser.py
@@ -756,7 +756,7 @@ def test_glgears_proxy_jstarget(self):
     self.run_browser('test.html', None, '/report_result?0')
 
   def test_sdl_canvas_alpha(self):
-    self.btest('sdl_canvas_alpha.c', reference='sdl_canvas_alpha.png', reference_slack=9)
+    self.btest('sdl_canvas_alpha.c', reference='sdl_canvas_alpha.png', reference_slack=11)
 
   def test_sdl_key(self):
     for defines in [[], ['-DTEST_EMSCRIPTEN_SDL_SETEVENTHANDLER']]:

From eb5c40d8f07fffbe03c42cb06142c67b79618fcc Mon Sep 17 00:00:00 2001
From: Lu Wang <coolwanglu@gmail.com>
Date: Mon, 28 Jul 2014 17:10:42 -0700
Subject: [PATCH 04/30] implement emscripten_wget

fix comment

better comments for emscripten_wget

better comments for emscripten_wget

comments

test_case for emscripten_wget
---
 src/library_browser.js                 | 21 +++++++++++++++++++++
 src/settings.js                        |  4 ++--
 system/include/emscripten/emscripten.h | 23 ++++++++++++++++++-----
 tests/test_browser.py                  |  4 ++++
 tests/test_wget.c                      | 25 +++++++++++++++++++++++++
 5 files changed, 70 insertions(+), 7 deletions(-)
 create mode 100644 tests/test_wget.c

diff --git a/src/library_browser.js b/src/library_browser.js
index 41ccf8fac693a..ac5e9c2473dc9 100644
--- a/src/library_browser.js
+++ b/src/library_browser.js
@@ -676,6 +676,27 @@ mergeInto(LibraryManager.library, {
     }
   },
 
+#if ASYNCIFY
+  emscripten_wget__deps: ['emscripten_async_resume'],
+  emscripten_wget: function(url, file) {
+    var _url = Pointer_stringify(url);
+    var _file = Pointer_stringify(file);
+    asm.setAsync();
+    Module['noExitRuntime'] = true;
+    FS.createPreloadedFile(
+      PATH.dirname(_file),
+      PATH.basename(_file),
+      _url, true, true,
+      _emscripten_async_resume,
+      _emscripten_async_resume
+    );
+  },
+#else
+  emscripten_wget: function(url, file) {
+    throw 'Please compile your program with -s ASYNCIFY=1 in order to use asynchronous operations like emscripten_wget';
+  },
+#endif
+
   emscripten_async_wget: function(url, file, onload, onerror) {
     var _url = Pointer_stringify(url);
     var _file = Pointer_stringify(file);
diff --git a/src/settings.js b/src/settings.js
index 2c98062c7d865..3f55d5c3235d3 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -297,8 +297,8 @@ var EXCEPTION_CATCHING_WHITELIST = [];  // Enables catching exception in the lis
 var ASYNCIFY = 0; // Whether to enable asyncify transformation
                   // This allows to inject some async functions to the C code that appear to be sync
                   // e.g. emscripten_sleep
-var ASYNCIFY_FUNCTIONS = ['emscripten_sleep']; // Functions that call any funcion in the list, directly or indirectly
-                                               // will be transfromed
+var ASYNCIFY_FUNCTIONS = ['emscripten_sleep', // Functions that call any funcion in the list, directly or indirectly
+                          'emscripten_wget']; // will be transfromed
 var ASYNCIFY_WHITELIST = ['qsort',   // Functions in this list are never considered async, even if they appear in ASYNCIFY_FUNCTIONS
                           'trinkle', // In the asyncify transformation, any function that calls a function pointer is considered async 
                           '__toread', // This whitelist is useful when a function is known to be sync
diff --git a/system/include/emscripten/emscripten.h b/system/include/emscripten/emscripten.h
index e54ad9c891ab1..b1a4e10ff782b 100644
--- a/system/include/emscripten/emscripten.h
+++ b/system/include/emscripten/emscripten.h
@@ -382,11 +382,24 @@ float emscripten_random(void);
  */
 
 /*
- * Load file from url in asynchronous way. In addition to
- * fetching the URL from the network, the contents are
- * prepared so that the data is usable in IMG_Load and
- * so forth (we asynchronously do the work to make the
- * browser decode the image or audio and so forth).
+ * Load file from url in *synchronous* way, for the asynchronous 
+ * version, see the emscripten_async_wget function below.
+ *
+ * In addition to fetching the URL from the network, 
+ * the contents are prepared so that the data is usable 
+ * in IMG_Load and * so forth.
+ *
+ * This function is blocking, it won't return until all
+ * operations are finished. You can then open and read
+ * the file if it succeeded.
+ *
+ * To use this function, you will need to compile your 
+ * application with the linker flag `-s ASYNCIFY=1`
+ */
+void emscripten_wget(const char* url, const char* file);
+
+/*
+ * Asynchronous version of emscripten_wget.
  * When file is ready then 'onload' callback will called.
  * If any error occurred 'onerror' will called.
  * The callbacks are called with the file as their argument.
diff --git a/tests/test_browser.py b/tests/test_browser.py
index ea257f4c1e4ff..68975ab92949c 100644
--- a/tests/test_browser.py
+++ b/tests/test_browser.py
@@ -1947,3 +1947,7 @@ def test_codemods(self):
       self.btest(path_from_root('tests', 'codemods.cpp'), expected='121378', args=[opts, '--shell-file', 'shell.html', '--js-transform', fixer, '-s', 'PRECISE_F32=1']) # proper polyfill was enstated, then it was replaced by the fix so 0 is returned all the time, hence a different result here
       self.btest(path_from_root('tests', 'codemods.cpp'), expected='2', args=[opts, '--shell-file', 'shell.html', '--js-transform', fixer, '-s', 'PRECISE_F32=2']) # we should remove the calls to the polyfill ENTIRELY here, on the clientside, so we should NOT see any calls to fround here, and result should be like double
 
+  def test_wget(self):
+    with open(os.path.join(self.get_dir(), 'test.txt'), 'w') as f:
+      f.write('emscripten');
+    self.btest(path_from_root('tests', 'test_wget.c'), expected='1', args=['-s', 'ASYNCIFY=1'])
diff --git a/tests/test_wget.c b/tests/test_wget.c
new file mode 100644
index 0000000000000..824f69d742e3f
--- /dev/null
+++ b/tests/test_wget.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <emscripten.h>
+
+int main()
+{
+    const char * file = "/test.txt";
+    emscripten_wget(file , file);
+    FILE * f = fopen(file, "r");
+    int result = 0;
+    if(f) {
+#define BUFSIZE 1024
+        char buf[BUFSIZE];
+        fgets(buf, BUFSIZE, f);
+        buf[BUFSIZE-1] = 0;
+        for(int i = 0; i < BUFSIZE; ++i)
+            buf[i] = tolower(buf[i]);
+        if(strstr(buf, "emscripten")) 
+            result = 1;
+        fclose(f);
+    }
+    REPORT_RESULT();
+    return 0;
+}

From 11c164abc83c180d770ca5a87546f0e85f56b475 Mon Sep 17 00:00:00 2001
From: Lu Wang <coolwanglu@gmail.com>
Date: Tue, 29 Jul 2014 15:28:39 -0700
Subject: [PATCH 05/30] remove an extra semisolon

---
 tests/test_browser.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test_browser.py b/tests/test_browser.py
index 68975ab92949c..65cec3e504f9d 100644
--- a/tests/test_browser.py
+++ b/tests/test_browser.py
@@ -1949,5 +1949,5 @@ def test_codemods(self):
 
   def test_wget(self):
     with open(os.path.join(self.get_dir(), 'test.txt'), 'w') as f:
-      f.write('emscripten');
+      f.write('emscripten')
     self.btest(path_from_root('tests', 'test_wget.c'), expected='1', args=['-s', 'ASYNCIFY=1'])

From 9e03e75bdb9e87affa9771b2adbed35192c76d85 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 29 Jul 2014 15:11:03 -0700
Subject: [PATCH 06/30] EMCC_BUILD_DIR env var, to let js compiler know where
 we are building

---
 tests/test_other.py | 10 ++++++++++
 tools/jsrun.py      | 16 ++++++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/tests/test_other.py b/tests/test_other.py
index b3f6954b77fc3..116775f7f92c2 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -2379,6 +2379,16 @@ def test_quoted_js_lib_key(self):
     Popen([PYTHON, EMCC, path_from_root('tests', 'hello_world.cpp'), '--js-library', 'lib.js']).communicate()
     self.assertContained('hello, world!', run_js(os.path.join(self.get_dir(), 'a.out.js')))
 
+  def test_EMCC_BUILD_DIR(self):
+    # EMCC_BUILD_DIR env var contains the dir we were building in, when running the js compiler (e.g. when
+    # running a js library). We force the cwd to be src/ for technical reasons, so this lets you find out
+    # where you were.
+    open('lib.js', 'w').write(r'''
+printErr('dir was ' + process.env.EMCC_BUILD_DIR);
+''')
+    out, err = Popen([PYTHON, EMCC, path_from_root('tests', 'hello_world.cpp'), '--js-library', 'lib.js'], stderr=PIPE).communicate()
+    self.assertContained('dir was ' + self.get_dir(), err)
+
   def test_float_h(self):
     process = Popen([PYTHON, EMCC, path_from_root('tests', 'float+.c')], stdout=PIPE, stderr=PIPE)
     out, err = process.communicate()
diff --git a/tools/jsrun.py b/tools/jsrun.py
index 6b7e295bd60f0..660aaeec922b7 100644
--- a/tools/jsrun.py
+++ b/tools/jsrun.py
@@ -21,12 +21,16 @@ def run_js(filename, engine=None, args=[], check_timeout=False, stdin=None, stdo
   if type(engine) is not list:
     engine = [engine]
   command = engine + [filename] + (['--'] if 'd8' in engine[0] or 'jsc' in engine[0] else []) + args
-  proc = Popen(
-      command,
-      stdin=stdin,
-      stdout=stdout,
-      stderr=stderr,
-      cwd=cwd)
+  try:
+    if cwd is not None: os.environ['EMCC_BUILD_DIR'] = os.getcwd()
+    proc = Popen(
+        command,
+        stdin=stdin,
+        stdout=stdout,
+        stderr=stderr,
+        cwd=cwd)
+  finally:
+    if cwd is not None: del os.environ['EMCC_BUILD_DIR']
   timeout = 15*60 if check_timeout else None
   if TRACK_PROCESS_SPAWNS:
     logging.info('Blocking on process ' + str(proc.pid) + ': ' + str(command) + (' for ' + str(timeout) + ' seconds' if timeout else ' until it finishes.'))

From f8fccf86ddf6e654f9cdc5fc12a3ca159feee6fc Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 29 Jul 2014 16:05:17 -0700
Subject: [PATCH 07/30] site text update

---
 site/source/home_page_layout.html | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/site/source/home_page_layout.html b/site/source/home_page_layout.html
index c5340550f4617..388c531c6c244 100644
--- a/site/source/home_page_layout.html
+++ b/site/source/home_page_layout.html
@@ -1,27 +1,25 @@
-<p style="font-size:3.5em;line-height:1;  ">Compile native code to the web</p>
-
 <img alt="./_static/Emscripten_logo_full.png" src="_static/Emscripten_logo_full.png">
 
-<p>Emscripten takes LLVM bytecode generated from C/C++ and compiles it into <b>asm.js</b> (a highly optimisable strict subset of JavaScript). This can be run on the web without plugins.</p>
+<h3>Emscripten is an <b>LLVM</b>-based project that compiles <b>C/C++</b> into highly-optimizable <b>JavaScript</b> in asm.js format. This lets you run C/C++ on the web at near-native speed, without plugins.</h3>
 
 <div class="container" style="width:100%;margin-bottom:10px;">
 
 	<div class="one-third-container" style="width:33%; display:inline-block;">
 		<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px;margin-right:5px;">
-			<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Native code</div>
-			<div class="signpost-body" style=""><p>Compile C and C++ code into LLVM using <i>Clang</i>. Emscripten converts the LLVM to JavaScript.</p></div>
+			<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Porting</div>
+			<div class="signpost-body" style=""><p>Compile your existing projects written in C or C++ and run them on all modern browsers.</p></div>
 		</div>
 	</div>
 	<div class="one-third-container" style="width:33%; display:inline-block; font-style:bold;">
 		<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px;margin-right:5px;">
-			<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Runtimes</div>
-			<div class="signpost-body" style=""><p>Python and other interpreted languages can be run on the web by compiling their native runtimes to JavaScript</p></div>
+			<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">APIs</div>
+			<div class="signpost-body" style=""><p>Emscripten converts OpenGL into WebGL, and lets you use familiar APIs like SDL, or HTML5 directly.</p></div>
 		</div>
 	</div>
 	<div class="one-third-container" style="width:33%; display:inline-block; font-style:bold;">
 		<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px; margin-right:5px;">
 			<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Fast</div>
-			<div class="signpost-body" style=""><p>Better than half native speed is currently achievable on some browsers/benchmarks.</p></div>
+			<div class="signpost-body" style=""><p>Thanks to LLVM optimizations and Emscripten's JavaScript-specific optimizations, code runs at near-native speed.</p></div>
 		</div>
 	</div>	
 </div>

From a22b64d24c10be6dba90075d2d5951c699002ecf Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 29 Jul 2014 16:10:00 -0700
Subject: [PATCH 08/30] update news to mention Massive

---
 site/source/index.rst | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/site/source/index.rst b/site/source/index.rst
index 39b91857e92d8..68d411db32eb4 100644
--- a/site/source/index.rst
+++ b/site/source/index.rst
@@ -14,10 +14,8 @@
 News
 ====
 
+-  `Massive <http://kripken.github.io/Massive/>`_ is a new asm.js benchmark comprised of Emscripten-compiled C/C++ codebases. Please test and give `feedback! <https://github.com/kripken/Massive>`_
 -  `Unity <https://unity3d.com/>`_ blogs about WebGL support and launches `two public demos <http://blogs.unity3d.com/2014/04/29/on-the-future-of-web-publishing-in-unity/>`_ (April 29, 2014). See the `Mozilla Blog <https://blog.mozilla.org/blog/2014/03/18/mozilla-and-unity-deliver-award-winning-game-engine-to-the-web/>`_ for more information.
--  The new :doc:`fastcomp/LLVM backend </docs/contributing/LLVM-Backend>` has been merged to master and is present in the latest SDK release.
--  `Unreal Engine 4 <https://www.unrealengine.com/blog/welcome-to-unreal-engine-4>`_ ported to the web using Emscripten (Mar 19, 2014 ). There is `more information <https://blog.mozilla.org/blog/2014/03/12/mozilla-and-epic-preview-unreal-engine-4-running-in-firefox/>`_ on the Mozilla blog.
-
 
 
 
@@ -47,4 +45,4 @@ News
 		* Introduction
 		* Quickstart Signpost - with prominent link to "Getting Started" Tutorial
 		* Signposts for: News, Top Demos, Contibuting, Github Project
-		* (Possibly) Signposts to: Twitter feed, Github issues (new, resolved)
\ No newline at end of file
+		* (Possibly) Signposts to: Twitter feed, Github issues (new, resolved)

From 8f4d5ece6d2081046f9821f8748e97f7258cdd36 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 29 Jul 2014 17:20:43 -0700
Subject: [PATCH 09/30] fix bug where only ctlz or cttz is present, but not
 both

---
 emscripten.py                       |  9 ++++++---
 tests/cases/ctlz_alone_fastcomp.ll  | 19 +++++++++++++++++++
 tests/cases/ctlz_alone_fastcomp.txt |  1 +
 3 files changed, 26 insertions(+), 3 deletions(-)
 create mode 100644 tests/cases/ctlz_alone_fastcomp.ll
 create mode 100644 tests/cases/ctlz_alone_fastcomp.txt

diff --git a/emscripten.py b/emscripten.py
index faf41c409a1fb..47aea9d342e59 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -1065,10 +1065,13 @@ def keyfunc(other):
       basic_vars = ['STACKTOP', 'STACK_MAX', 'tempDoublePtr', 'ABORT']
       basic_float_vars = ['NaN', 'Infinity']
 
-      if metadata.get('preciseI64MathUsed') or \
-         forwarded_json['Functions']['libraryFunctions'].get('llvm_cttz_i32') or \
-         forwarded_json['Functions']['libraryFunctions'].get('llvm_ctlz_i32'):
+      if metadata.get('preciseI64MathUsed'):
         basic_vars += ['cttz_i8', 'ctlz_i8']
+      else:
+        if forwarded_json['Functions']['libraryFunctions'].get('llvm_cttz_i32'):
+          basic_vars += ['cttz_i8']
+        if forwarded_json['Functions']['libraryFunctions'].get('llvm_ctlz_i32'):
+          basic_vars += ['ctlz_i8']
 
       if settings.get('DLOPEN_SUPPORT'):
         for sig in last_forwarded_json['Functions']['tables'].iterkeys():
diff --git a/tests/cases/ctlz_alone_fastcomp.ll b/tests/cases/ctlz_alone_fastcomp.ll
new file mode 100644
index 0000000000000..ec3ec13a93d7d
--- /dev/null
+++ b/tests/cases/ctlz_alone_fastcomp.ll
@@ -0,0 +1,19 @@
+; ModuleID = 'tests/hello_world.bc'
+target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-p:32:32:32-v128:32:128-n32-S128"
+target triple = "asmjs-unknown-emscripten"
+
+@.str = private unnamed_addr constant [18 x i8] c"hello, world %d!\0A\00", align 1
+
+define i32 @main() {
+entry:
+  %retval = alloca i32, align 4
+  store i32 0, i32* %retval
+  %call = call i32 @llvm.ctlz.i32(i32 109, i1 0)
+  %call2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([18 x i8]* @.str, i32 0, i32 0), i32 %call)
+  ret i32 0
+}
+
+declare i32 @printf(i8*, ...)
+
+declare i32 @llvm.ctlz.i32(i32, i1)
+
diff --git a/tests/cases/ctlz_alone_fastcomp.txt b/tests/cases/ctlz_alone_fastcomp.txt
new file mode 100644
index 0000000000000..e2f98d5c41b14
--- /dev/null
+++ b/tests/cases/ctlz_alone_fastcomp.txt
@@ -0,0 +1 @@
+hello, world 25!

From 7993ac2a8402bbaf0503401d777fc51fe2f66e26 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Wed, 30 Jul 2014 09:56:00 -0700
Subject: [PATCH 10/30] fix other.test_EMCC_BUILD_DIR on windows

---
 tests/test_other.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test_other.py b/tests/test_other.py
index 116775f7f92c2..afcc7bd054eca 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -2387,7 +2387,7 @@ def test_EMCC_BUILD_DIR(self):
 printErr('dir was ' + process.env.EMCC_BUILD_DIR);
 ''')
     out, err = Popen([PYTHON, EMCC, path_from_root('tests', 'hello_world.cpp'), '--js-library', 'lib.js'], stderr=PIPE).communicate()
-    self.assertContained('dir was ' + self.get_dir(), err)
+    self.assertContained('dir was ' + self.get_dir().replace('\\', '/'), err)
 
   def test_float_h(self):
     process = Popen([PYTHON, EMCC, path_from_root('tests', 'float+.c')], stdout=PIPE, stderr=PIPE)

From 568a70776f6dd7cae6412f2d2e351ddf96c21aad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Wed, 30 Jul 2014 22:21:08 +0300
Subject: [PATCH 11/30] Fix more of #2133 \r\r\n line endings.

---
 emcc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/emcc b/emcc
index 72380d6ae6ecb..43e2cdd0590a0 100755
--- a/emcc
+++ b/emcc
@@ -1669,6 +1669,9 @@ try:
     logging.debug('applying pre/postjses')
     src = open(final).read()
     final += '.pp.js'
+    if WINDOWS: # Avoid duplicating \r\n to \r\r\n when writing out.
+      if pre_js: pre_js = pre_js.replace('\r\n', '\n')
+      if post_js: post_js = post_js.replace('\r\n', '\n')
     open(final, 'w').write(pre_js + src + post_js)
     if DEBUG: save_intermediate('pre-post')
 

From c0fcdf4524517613d72dd276c39de970a3ab6a1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Wed, 30 Jul 2014 22:44:58 +0300
Subject: [PATCH 12/30] Fix test_env on Windows (string comparison failed on \
 vs / path delimiter comparisons).

---
 tests/test_core.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/test_core.py b/tests/test_core.py
index bf33b8ef1b5db..b879f1b2375a7 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -4565,7 +4565,7 @@ def test_env(self):
     expected = open(path_from_root('tests', 'env', 'output.txt'), 'r').read()
     self.do_run(src, [
       expected.replace('{{{ THIS_PROGRAM }}}', './this.program'), # spidermonkey, v8
-      expected.replace('{{{ THIS_PROGRAM }}}', self.get_dir() + '/src.cpp.o.js') # node, can find itself properly
+      expected.replace('{{{ THIS_PROGRAM }}}', os.path.join(os.path.normpath(self.get_dir()), 'src.cpp.o.js')) # node, can find itself properly
     ])
 
   def test_environ(self):
@@ -4574,7 +4574,7 @@ def test_environ(self):
     expected = open(path_from_root('tests', 'env', 'output-mini.txt'), 'r').read()
     self.do_run(src, [
       expected.replace('{{{ THIS_PROGRAM }}}', './this.program'), # spidermonkey, v8
-      expected.replace('{{{ THIS_PROGRAM }}}', self.get_dir() + '/src.cpp.o.js') # node, can find itself properly
+      expected.replace('{{{ THIS_PROGRAM }}}', os.path.join(os.path.normpath(self.get_dir()), 'src.cpp.o.js')) # node, can find itself properly
     ])
 
   def test_systypes(self):

From 6a4900420d9af4d32e69bf5910c5441af5365a85 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Wed, 30 Jul 2014 11:46:12 -0700
Subject: [PATCH 13/30] fix bug in calculation of # of cores

---
 tools/js_optimizer.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/js_optimizer.py b/tools/js_optimizer.py
index 2fad08b3f4a08..09b764e2a50e0 100644
--- a/tools/js_optimizer.py
+++ b/tools/js_optimizer.py
@@ -276,7 +276,7 @@ def write_chunk(chunk, i):
         (['--debug'] if source_map else []) + passes, filenames)
     #print [' '.join(command) for command in commands]
 
-    cores = min(cores, filenames)
+    cores = min(cores, len(filenames))
     if len(chunks) > 1 and cores >= 2:
       # We can parallelize
       if DEBUG: print >> sys.stderr, 'splitting up js optimization into %d chunks of size %d, using %d cores  (total: %.2f MB)' % (len(chunks), chunk_size, cores, total_size/(1024*1024.))

From d5da2984d85771fc1a6babfc8942d8ab5e810497 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Thu, 31 Jul 2014 00:13:00 +0300
Subject: [PATCH 14/30] Fix test_python on Windows. After commit
 https://github.com/kripken/emscripten/commit/559c4f999b3dffda138f6e09cd068e2b662d9a3a
 , FS.lookupPath could return a JS object which has node==null, so test that
 as an error condition in readlink.

---
 src/library_fs.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/library_fs.js b/src/library_fs.js
index ae89571537b60..097cd5c9d3838 100644
--- a/src/library_fs.js
+++ b/src/library_fs.js
@@ -832,6 +832,9 @@ mergeInto(LibraryManager.library, {
     readlink: function(path) {
       var lookup = FS.lookupPath(path);
       var link = lookup.node;
+      if (!link) {
+        throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+      }
       if (!link.node_ops.readlink) {
         throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
       }

From 91345c6e0f9550a1a94469314328dad752296160 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Wed, 30 Jul 2014 13:37:32 -0700
Subject: [PATCH 15/30] optimize function splitting and name detection in js
 optimizer, no need to notice indentation

---
 tools/asm_module.py   | 2 +-
 tools/js_optimizer.py | 7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/asm_module.py b/tools/asm_module.py
index a1aecdda3ce11..4b88bba672639 100644
--- a/tools/asm_module.py
+++ b/tools/asm_module.py
@@ -44,7 +44,7 @@ def __init__(self, filename):
 
     # funcs
     self.funcs_js = self.js[self.start_funcs:self.end_funcs]
-    self.funcs = set([m.group(2) for m in js_optimizer.func_sig.finditer(self.funcs_js)])
+    self.funcs = set([m.group(1) for m in js_optimizer.func_sig.finditer(self.funcs_js)])
     #print 'funcs', self.funcs
 
     # tables and exports
diff --git a/tools/js_optimizer.py b/tools/js_optimizer.py
index 09b764e2a50e0..396184acdf4bb 100644
--- a/tools/js_optimizer.py
+++ b/tools/js_optimizer.py
@@ -19,7 +19,7 @@ def path_from_root(*pathelems):
 
 DEBUG = os.environ.get('EMCC_DEBUG')
 
-func_sig = re.compile('( *)function ([_\w$]+)\(')
+func_sig = re.compile('function ([_\w$]+)\(')
 import_sig = re.compile('var ([_\w$]+) *=[^;]+;')
 
 class Minifier:
@@ -43,7 +43,8 @@ def minify_shell(self, shell, minify_whitespace, source_map=False):
     shell = shell.replace('0.0', '13371337') # avoid uglify doing 0.0 => 0
 
     # Find all globals in the JS functions code
-    self.globs = [m.group(2) for m in func_sig.finditer(self.js)]
+
+    self.globs = [m.group(1) for m in func_sig.finditer(self.js)]
 
     temp_file = temp_files.get('.minifyglobals.js').name
     f = open(temp_file, 'w')
@@ -208,7 +209,7 @@ def split_funcs(js):
       if i < len(parts)-1: func += '\n}\n' # last part needs no }
       m = func_sig.search(func)
       if m:
-        ident = m.group(2)
+        ident = m.group(1)
       else:
         if know_generated: continue # ignore whitespace
         ident = 'anon_%d' % i

From 8f2ebfe2883b1918ebfbea507d10cc5d44a834d3 Mon Sep 17 00:00:00 2001
From: hamishwillee <hamishwillee@gmail.com>
Date: Thu, 31 Jul 2014 16:45:16 +1000
Subject: [PATCH 16/30] final review fixes on community, bugreports, authors,
 and the api-reference files. Also significant updates to download files
 section

---
 .../static/css/theme.css                      |  12 +-
 site/source/conf.py                           |   2 +-
 .../docs/api_reference/advanced-apis.rst      |  10 +-
 .../api_reference/device-orientation-axes.png | Bin 0 -> 15978 bytes
 .../docs/api_reference/emscripten.h.rst       |   6 +-
 site/source/docs/api_reference/html5.h.rst    |  78 ++++---
 .../source/docs/api_reference/preamble.js.rst |  18 +-
 site/source/docs/contributing/AUTHORS.rst     |   4 +-
 .../Getting-started-on-Mac-OS-X.rst           |   2 +
 .../source/docs/contributing/contributing.rst |   8 +-
 .../source/docs/getting_started/downloads.rst | 194 ++++++---------
 site/source/docs/index.rst                    |   1 +
 .../introducing_emscripten/bug_reports.rst    |  17 +-
 .../docs/introducing_emscripten/community.rst |  16 +-
 .../docs/introducing_emscripten/index.rst     |   1 -
 .../introducing_emscripten/searching_site.rst |   5 -
 site/source/docs/site/about.rst               | 171 ++++++++++++--
 site/source/docs/site/glossary.rst            |  22 ++
 site/source/docs/site/index.rst               |   2 +-
 ...g-started-emscripten-wikiEmscriptenSDK.rst |  33 +++
 site/source/docs/tools_reference/emsdk.rst    | 221 ++++++++++++++++++
 site/source/docs/tools_reference/index.rst    |  16 ++
 site/source/index.rst                         |   3 +-
 23 files changed, 614 insertions(+), 228 deletions(-)
 create mode 100644 site/source/docs/api_reference/device-orientation-axes.png
 delete mode 100644 site/source/docs/introducing_emscripten/searching_site.rst
 create mode 100644 site/source/docs/site/glossary.rst
 create mode 100644 site/source/docs/tools_reference/emsdk.rst
 create mode 100644 site/source/docs/tools_reference/index.rst

diff --git a/site/source/_themes/emscripten_sphinx_rtd_theme/static/css/theme.css b/site/source/_themes/emscripten_sphinx_rtd_theme/static/css/theme.css
index 300680f9fcfae..5c4e19b435764 100644
--- a/site/source/_themes/emscripten_sphinx_rtd_theme/static/css/theme.css
+++ b/site/source/_themes/emscripten_sphinx_rtd_theme/static/css/theme.css
@@ -21,7 +21,9 @@ table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromefra
 	margin-bottom:0 !important
 	}
 
-.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}
+.wy-table-responsive table td {white-space:nowrap}
+
+.wy-table-responsive table th{white-space:nowrap}
 
 a{color:#2980b9;text-decoration:none}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980b9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27ae60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#e74c3c !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}code,.rst-content tt{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:"Incosolata","Consolata","Monaco",monospace;color:#e74c3c;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}
 .wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li {
@@ -341,6 +343,14 @@ width:inherit;
 }
 	
 
+	
+/* HamishW - Attempt to wrap table columns/remove the "responsive" behaviour on some tables. */	
+table.wrap-table-content  td, table.wrap-table-content  th {
+	white-space: normal;
+}
+
+
+	
 /* HamishW - fix bullet lists inside arabic decimal lists not rendering properly */	
 /* .wy-plain-list-decimal li, .rst-content .section ol li, .rst-content ol.arabic li, article ol li
 .wy-plain-list-decimal ul .simple li {
diff --git a/site/source/conf.py b/site/source/conf.py
index 03d7178408160..c2eb431b365e5 100644
--- a/site/source/conf.py
+++ b/site/source/conf.py
@@ -171,7 +171,7 @@
 
 # The name of an image file (relative to this directory) to place at the top
 # of the sidebar.
-html_logo = '/_static/Emscripten_logo_full.png'
+html_logo = '_static/Emscripten_logo_full.png'
 
 
 # The name of an image file (within the static path) to use as favicon of the
diff --git a/site/source/docs/api_reference/advanced-apis.rst b/site/source/docs/api_reference/advanced-apis.rst
index 704579a8ae52a..b8f2b90650c47 100644
--- a/site/source/docs/api_reference/advanced-apis.rst
+++ b/site/source/docs/api_reference/advanced-apis.rst
@@ -1,6 +1,6 @@
-==========================================
-Advanced APIs (ready-for-review) 
-==========================================
+=============
+Advanced APIs
+=============
 
 This section lists APIs that are not suitable for general use, but which may be useful to developers in some circumstances. These include APIs that are difficult or complicated to use, or which are intended primarily for Emscripten developers.
 
@@ -34,6 +34,8 @@ allocate()
 ===========
 
 ``allocate()`` is documented in `preamble.js <https://github.com/kripken/emscripten/blob/master/src/preamble.js>`_ and marked as *internal* because it is difficult to use (it has been optimized for multiple syntaxes to save space in generated code). Normally developers should instead allocate memory using ``_malloc()``, initialize it with :js:func:`setValue`, etc., but this may be useful for advanced developers in certain cases.
+
+.. todo:: **HamishW** It would be useful to have proper documentation of ``allocate()`` here. This has been deferred in the short term.
 	
 	
 Module.Runtime
@@ -41,5 +43,5 @@ Module.Runtime
 
 ``Module.Runtime`` gives access to low-level runtime functionality. Some of these, for example ``Runtime.stackSave()`` and ``Runtime.stackRestore()`` may be useful for advanced users.
 
-.. todo:: **HamishW** It would be useful to expand on what is offered by Module.Runtime
+.. todo:: **HamishW** It would be useful to expand on what is offered by ``Module.Runtime``. This has been deferred.
 
diff --git a/site/source/docs/api_reference/device-orientation-axes.png b/site/source/docs/api_reference/device-orientation-axes.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e1af990acb513cb421fc74072c78c3b8339c940
GIT binary patch
literal 15978
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
bW2lO4s~tCBZ`@$(A5mWVqg0iINyz^LM!O=R

literal 0
HcmV?d00001

diff --git a/site/source/docs/api_reference/emscripten.h.rst b/site/source/docs/api_reference/emscripten.h.rst
index 9b96292634e1c..e7ae8eecca574 100644
--- a/site/source/docs/api_reference/emscripten.h.rst
+++ b/site/source/docs/api_reference/emscripten.h.rst
@@ -1,8 +1,8 @@
 .. _emscripten-h:
 
-================================
-Emscripten.h (ready-for-review) 
-================================
+============
+Emscripten.h
+============
 
 This page documents the public C++ APIs provided by `emscripten.h <https://github.com/kripken/emscripten/blob/master/system/include/emscripten/emscripten.h>`_. 
 
diff --git a/site/source/docs/api_reference/html5.h.rst b/site/source/docs/api_reference/html5.h.rst
index e12b753cdbc2d..6d4d37c26eb4b 100644
--- a/site/source/docs/api_reference/html5.h.rst
+++ b/site/source/docs/api_reference/html5.h.rst
@@ -1,14 +1,16 @@
-============================
-html5.h (ready-for-review) 
-============================
+=======
+html5.h
+=======
 
-This page documents the C++ APIs provided by `html5.h <https://github.com/kripken/emscripten/blob/master/system/include/emscripten/html5.h>`_.
+The C++ APIs in `html5.h <https://github.com/kripken/emscripten/blob/master/system/include/emscripten/html5.h>`_ define the Emscripten low-level glue bindings to interact with HTML5 events from native code. 
 
-.. tip:: The C++ APIs map closely to their equivalent HTML5 JavaScript APIs. The HTML5 specifications listed below provide additional detailed reference "over and above" the information provided in this document.
+.. tip:: The C++ APIs map closely to their :ref:`equivalent HTML5 JavaScript APIs <specifications-html5-api>`. The HTML5 specifications listed below provide additional detailed reference "over and above" the information provided in this document.
 
 	In addition, the :ref:`test-example-code-html5-api` can be reviewed to see how the code is used.
 
-These APIs define the Emscripten low-level glue bindings for interfacing with the following HTML5 APIs:
+.. _specifications-html5-api:	
+
+The HTML5 specifications for APIs that are mapped by **html5.h** include:
 
 	- `DOM Level 3 Events: Keyboard, Mouse, Mouse Wheel, Resize, Scroll, Focus <https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>`_.
 	- `Device Orientation Events for gyro and accelerometer <http://www.w3.org/TR/orientation-event/>`_.
@@ -146,42 +148,42 @@ Most functions in this API return a result of type :c:data:`EMSCRIPTEN_RESULT`.
 	This type is used to return the result of most functions in this API.  Positive values denote success, while zero and negative values signal failure. Possible values are listed below.
 	
 	
-.. c:macro:: EMSCRIPTEN_RESULT_SUCCESS
+	.. c:macro:: EMSCRIPTEN_RESULT_SUCCESS
 
-	The operation succeeded.
+		The operation succeeded.
 
-.. c:macro:: EMSCRIPTEN_RESULT_DEFERRED
+	.. c:macro:: EMSCRIPTEN_RESULT_DEFERRED
 
-	The requested operation cannot be completed now for :ref:`web security reasons<web-security-functions-html5-api>`, and has been deferred for completion in the next event handler.
-	
-.. c:macro:: EMSCRIPTEN_RESULT_NOT_SUPPORTED
+		The requested operation cannot be completed now for :ref:`web security reasons<web-security-functions-html5-api>`, and has been deferred for completion in the next event handler.
+		
+	.. c:macro:: EMSCRIPTEN_RESULT_NOT_SUPPORTED
 
-	The given operation is not supported by this browser or the target element.	This value will be returned at the time the callback is registered if the operation is not supported.
+		The given operation is not supported by this browser or the target element.	This value will be returned at the time the callback is registered if the operation is not supported.
 	
 
-.. c:macro:: EMSCRIPTEN_RESULT_FAILED_NOT_DEFERRED
+	.. c:macro:: EMSCRIPTEN_RESULT_FAILED_NOT_DEFERRED
 
-	The requested operation could not be completed now for :ref:`web security reasons<web-security-functions-html5-api>`. It failed because the user requested the operation not be deferred.	
+		The requested operation could not be completed now for :ref:`web security reasons<web-security-functions-html5-api>`. It failed because the user requested the operation not be deferred.	
 
-.. c:macro:: EMSCRIPTEN_RESULT_INVALID_TARGET
+	.. c:macro:: EMSCRIPTEN_RESULT_INVALID_TARGET
 
-	The operation failed because the specified target element is invalid.	
+		The operation failed because the specified target element is invalid.	
 
-.. c:macro:: EMSCRIPTEN_RESULT_UNKNOWN_TARGET
+	.. c:macro:: EMSCRIPTEN_RESULT_UNKNOWN_TARGET
 
-	The operation failed because the specified target element was not found.	
+		The operation failed because the specified target element was not found.	
 
-.. c:macro:: EMSCRIPTEN_RESULT_INVALID_PARAM
+	.. c:macro:: EMSCRIPTEN_RESULT_INVALID_PARAM
 
-	The operation failed because an invalid parameter was passed to the function.	
+		The operation failed because an invalid parameter was passed to the function.	
 
-.. c:macro:: EMSCRIPTEN_RESULT_FAILED
+	.. c:macro:: EMSCRIPTEN_RESULT_FAILED
 
-	Generic failure result message, returned if no specific result is available.	
+		Generic failure result message, returned if no specific result is available.	
 
-.. c:macro:: EMSCRIPTEN_RESULT_NO_DATA
+	.. c:macro:: EMSCRIPTEN_RESULT_NO_DATA
 
-	The operation failed because no data is currently available.	
+		The operation failed because no data is currently available.	
 	
 
 
@@ -199,14 +201,14 @@ Defines
 	
 .. c:macro:: DOM_KEY_LOCATION
 
-	The location of the key on the keyboard; one of the :c:data:`DOM_KEY_LOCATION_XXX values <DOM_KEY_LOCATION_STANDARD>`.	
+	The location of the key on the keyboard; one of the values below.	
 
-.. c:macro:: DOM_KEY_LOCATION_STANDARD
-	DOM_KEY_LOCATION_LEFT
-	DOM_KEY_LOCATION_RIGHT	
-	DOM_KEY_LOCATION_NUMPAD	
+	.. c:macro:: DOM_KEY_LOCATION_STANDARD
+		DOM_KEY_LOCATION_LEFT
+		DOM_KEY_LOCATION_RIGHT	
+		DOM_KEY_LOCATION_NUMPAD	
 
-	Locations of the key on the keyboard.
+		Locations of the key on the keyboard.
 
 Struct
 ------ 
@@ -716,8 +718,18 @@ Struct
 		double beta
 		double gamma
 	
-		The orientation of the device in terms of the transformation from a coordinate frame fixed on the Earth to a coordinate frame fixed in the device. 
-  
+		The `orientation <https://developer.mozilla.org/en-US/Apps/Build/gather_and_modify_data/responding_to_device_orientation_changes#Device_Orientation_API>`_ of the device in terms of the transformation from a coordinate frame fixed on the Earth to a coordinate frame fixed in the device. 
+		
+		The image (source: `dev.opera.com <http://dev.opera.com/articles/view/w3c-device-orientation-api/>`_) and definitions below illustrate the co-ordinate frame:
+		
+			- :c:type:`~EmscriptenDeviceOrientationEvent.alpha`: the rotation of the device around the Z axis.
+			- :c:type:`~EmscriptenDeviceOrientationEvent.beta`: the rotation of the device around the X axis.
+			- :c:type:`~EmscriptenDeviceOrientationEvent.gamma`: the rotation of the device around the Y axis.
+		
+		.. image:: device-orientation-axes.png
+			:target: https://developer.mozilla.org/en-US/Apps/Build/gather_and_modify_data/responding_to_device_orientation_changes#Device_Orientation_API
+			:alt: Image of device showing X, Y, Z axes
+
   
 	.. c:member:: EM_BOOL absolute
 	
diff --git a/site/source/docs/api_reference/preamble.js.rst b/site/source/docs/api_reference/preamble.js.rst
index 13c5d58cd1c04..02e3e5eeadb6c 100644
--- a/site/source/docs/api_reference/preamble.js.rst
+++ b/site/source/docs/api_reference/preamble.js.rst
@@ -1,6 +1,6 @@
-=======================================================
-preamble.js (ready-for-review) 
-=======================================================
+===========
+preamble.js
+===========
 
 The JavaScript APIs in `preamble.js <https://github.com/kripken/emscripten/blob/master/src/preamble.js>`_ provide programmatic access for interacting with the compiled C code, including: calling compiled C functions, accessing memory, converting pointers to JavaScript ``Strings`` and ``Strings`` to pointers (with different encodings/formats), and other convenience functions.
 
@@ -36,7 +36,7 @@ Calling compiled C functions from JavaScript
 	
 	.. note:: 
 		- ``ccall`` uses the C stack for temporary values. If you pass a string then it is only "alive" until the call is complete. If the code being called saves the pointer to be used later, it may point to invalid data. 
-		- If you need a string to live forever, you can create it, for example, using ``malloc`` and :js:func:`writeStringToMemory`. However, you must later delete it manually!	
+		- If you need a string to live forever, you can create it, for example, using ``_malloc`` and :js:func:`writeStringToMemory`. However, you must later delete it manually!	
 		- LLVM optimizations can inline and remove functions, after which you will not be able to call them. Similarly, function names minified by the *Closure Compiler* are inaccessible. In either case, the solution is to add the functions to the ``EXPORTED_FUNCTIONS`` list when you invoke *emcc* :  
 		
 			::
@@ -79,7 +79,7 @@ Calling compiled C functions from JavaScript
 	
 	.. note:: 
 		- ``cwrap`` uses the C stack for temporary values. If you pass a string then it is only "alive" until the call is complete. If the code being called saves the pointer to be used later, it may point to invalid data. 
-		- If you need a string to live forever, you can create it, for example, using ``malloc`` and :js:func:`writeStringToMemory`. However, you must later delete it manually!
+		- If you need a string to live forever, you can create it, for example, using ``_malloc`` and :js:func:`writeStringToMemory`. However, you must later delete it manually!
 		- LLVM optimizations can inline and remove functions, after which you will not be able to "wrap" them. Similarly, function names minified by the *Closure Compiler* are inaccessible. In either case, the solution is to add the functions to the ``EXPORTED_FUNCTIONS`` list when you invoke *emcc* :  
 		
 			::
@@ -109,7 +109,7 @@ Accessing memory
 	
 	.. note::
 		- :js:func:`setValue` and :js:func:`getValue` only do *aligned* writes and reads.
-		- The ``type`` is an LLVM IR type (one of ``i8``, ``i16``, ``i32``, ``i64``, ``float``, ``double``, or a pointer type like ``i8*`` or just *), not JavaScript types as used in :js:func:`ccall` or :js:func:`cwrap`. This is a lower-level operation, and we do need to care what specific type is being used.	
+		- The ``type`` is an LLVM IR type (one of ``i8``, ``i16``, ``i32``, ``i64``, ``float``, ``double``, or a pointer type like ``i8*`` or just ``*``), not JavaScript types as used in :js:func:`ccall` or :js:func:`cwrap`. This is a lower-level operation, and we do need to care what specific type is being used.	
 
 	:param ptr: A pointer (number) representing the memory address.  
 	:param value: The value to be stored 	
@@ -125,7 +125,7 @@ Accessing memory
 
 	.. note::
 		- :js:func:`setValue` and :js:func:`getValue` only do *aligned* writes and reads!
-		- The ``type` is an LLVM IR type (one of ``i8``,``i16``,``i32``,``i64``,``float``,``double`, or a pointer type like `i8*` or just *), not JavaScript types as used in :js:func:`ccall` or :js:func:`cwrap`. This is a lower-level operation, and we do need to care what specific type is being used.	
+		- The ``type`` is an LLVM IR type (one of ``i8``, ``i16``, ``i32``, ``i64``, ``float``, ``double``, or a pointer type like ``i8*`` or just ``*``), not JavaScript types as used in :js:func:`ccall` or :js:func:`cwrap`. This is a lower-level operation, and we do need to care what specific type is being used.
 
 	:param ptr: A pointer (number) representing the memory address.  
 	:param type: An LLVM IR type as a string (see "note" above). 	
@@ -313,9 +313,7 @@ Stack trace
 Type accessors for Typed Arrays Mode 2
 ==========================================
 
-When using :ref:`typed-arrays-mode-2` a type array buffer is used to represent memory, with different views into it giving access to the different types. The views for accessing different types of memory are listed below.
-
-.. COMMENT (not rendered): **HamishW** Link to TO TYPED ARRAYS MODE2 DOCUMENTATION when this is ported
+When using :ref:`typed-arrays-mode-2` a typed array buffer (``ArrayBuffer``) is used to represent memory, with different views into it giving access to the different types. The views for accessing different types of memory are listed below.
 
 
 .. js:data:: HEAP8
diff --git a/site/source/docs/contributing/AUTHORS.rst b/site/source/docs/contributing/AUTHORS.rst
index 2aab2cf82a464..ed6e62e78349c 100644
--- a/site/source/docs/contributing/AUTHORS.rst
+++ b/site/source/docs/contributing/AUTHORS.rst
@@ -1,10 +1,12 @@
+.. _emscripten-authors:
+
 ============================
 AUTHORS (ready-for-review)
 ============================
 
 The `AUTHORS <https://github.com/kripken/emscripten/blob/incoming/AUTHORS>`_ file lists everyone who has contributed to Emscripten.
 
-.. note :: Authors must add themselves to the `AUTHORS <https://github.com/kripken/emscripten/blob/incoming/AUTHORS>`_ file (**incoming** branch) before :doc:`contributing <contributing>`. This act licenses their changes under the project’s :doc:`open source licenses (MIT/LLVM) <emscripten_license>`. Note that the developer retains copyright.
+.. note :: Authors must add themselves to the `AUTHORS <https://github.com/kripken/emscripten/blob/incoming/AUTHORS>`_ file (**incoming** branch) before :doc:`contributing <contributing>`. This act licenses their changes under the project’s :ref:`open source licenses (MIT/LLVM) <emscripten-license>`. Note that the developer retains copyright.
 
 The contributors for releases up to Emscripten |release| inclusive (|today|) are listed below.
 
diff --git a/site/source/docs/contributing/building_from_source/Getting-started-on-Mac-OS-X.rst b/site/source/docs/contributing/building_from_source/Getting-started-on-Mac-OS-X.rst
index 376a6580ce911..51e4f45d8b08c 100644
--- a/site/source/docs/contributing/building_from_source/Getting-started-on-Mac-OS-X.rst
+++ b/site/source/docs/contributing/building_from_source/Getting-started-on-Mac-OS-X.rst
@@ -84,6 +84,8 @@ Note for `homebrew <https://github.com/Homebrew/homebrew>`__ users:
 
 	By default, git will clone the emscripten 'incoming' branch, which is the branch where the newest developments of Emscripten occur. If you want to use a more stable branch, switch to the 'master' branch: - cd ~/emscripten - git checkout master
 
+.. _getting-started-on-osx-install-python2:
+
 10. Setup 'python2': (this step is needed to workaround a bug reported in `#763 <https://github.com/kripken/emscripten/issues/763>`__)
 
 	-  In terminal, type 'python2 --version'. If you get a "command not found", type the following: ::
diff --git a/site/source/docs/contributing/contributing.rst b/site/source/docs/contributing/contributing.rst
index 6a18452c52aa8..6ee17a8158894 100644
--- a/site/source/docs/contributing/contributing.rst
+++ b/site/source/docs/contributing/contributing.rst
@@ -1,8 +1,8 @@
 .. _contributing:
 
-================================================
-Contributing (ready-for-review) 
-================================================
+============
+Contributing
+============
 
 Anyone can contribute to Emscripten — if you find it useful and want to help improve the project, follow the suggestions below. Feel free to file :ref:`bug reports <bug-reports>`, :ref:`join the discussion <contact>` and share your own ideas with the community!
 
@@ -25,7 +25,7 @@ Branches of interest
 
 
 Submitting patches
-=====================
+==================
 
 Patches should be submitted as *pull requests* to the **incoming** branch. 
 
diff --git a/site/source/docs/getting_started/downloads.rst b/site/source/docs/getting_started/downloads.rst
index 26139da587ada..ff35d25826844 100644
--- a/site/source/docs/getting_started/downloads.rst
+++ b/site/source/docs/getting_started/downloads.rst
@@ -1,76 +1,83 @@
+.. _sdk-download-and-install:
+
 ======================================================
 Download and install (under-construction) 
 ======================================================
 
+.. note:: The *Emscripten SDK* provides the whole Emscripten toolchain (*Clang*, *Python*, *Node.js* and *Visual Studio* integration) in a single easy-to-install package, with integrated support for :ref:`updating to newer SDKs <updating-the-emscripten-sdk>` as they are released.
 
-.. note:: The *Emscripten SDK* provides the whole Emscripten toolchain (*Clang*, *Python*, *Node.js* and *Visual Studio* integration) in a single easy-to-install package, with integrated support for updating to newer Emscripten versions as they are released. 
-
-.. tip:: If you are :doc:`contributing <../contributing/contributing>` to Emscripten you should :ref:`set up Emscripten from source <installing-from-source>`.
-
+.. tip:: If you are :doc:`contributing <../contributing/contributing>` to Emscripten (or if you wish to build 32bit versions of the SDK) you should :ref:`set up Emscripten from source <installing-from-source>`.
 
-Downloads
-==============
 
-To get started with Emscripten development, grab one of the SDK packages below:
+SDK Downloads
+==================
 
+Download one of the SDK installers below to get started with Emscripten development. The Windows NSIS installers are the easiest to set up, while the portable SDKs can be moved between computers and do not require administration privileges. 
 
 Windows
-----------
-
-Emscripten SDK Web Installer is a NSIS installer that always gets you the latest Emscripten SDK from the web.
-
-- `emsdk-1.21.0-web-64bit.exe <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.21.0-web-64bit.exe>`_
-- ?32 bit
-
-Emscripten SDK Offline Installer is a NSIS installer that bundles together the Emscripten toolchain as an offline-installable package.
+-------
 
+- `Emscripten SDK Web Installer  <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.21.0-web-64bit.exe>`_ (emsdk-1.21.0-web-64bit.exe)
+		An NSIS installer which fetches and installs the latest Emscripten SDK from the web. To :ref:`install <windows-installation_instructions-NSIS>`, download and open the file, then follow the installer prompts.
 
-- `emsdk-1.21.0-full-64bit.exe <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.21.0-full-64bit.exe>`_
-- ?32 bit
-
-
-Portable Emscripten SDK is a zipped package of the Emscripten SDK that does not require system installation privileges. Just unzip and go!
-
-- `emsdk-1.21.0-portable-64bit.zip <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.21.0-portable-64bit.zip>`_
-- 32bit?
-
+- `Emscripten SDK Offline Installer <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.21.0-full-64bit.exe>`_ (emsdk-1.21.0-full-64bit.exe)
+		An NSIS installer that bundles together the current Emscripten toolchain as an offline-installable package. To :ref:`install <windows-installation_instructions-NSIS>`, download and open the file, then follow the installer prompts.
 
+- `Portable Emscripten SDK for Windows <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.21.0-portable-64bit.zip>`_ (emsdk-1.21.0-portable-64bit.zip)
+		A zipped package of the SDK that does not require system installation privileges. To install, follow :ref:`these <all-os-installation_instructions-portable-SDK>` instructions.
 
 Linux and Mac OS X
--------------------
+------------------
+	
+- `Portable Emscripten SDK for Linux and OS X <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz>`_ (emsdk-portable.tar.gz) 
+		A tar.gz archive package of the SDK that does not require system installation privileges. To install, follow :ref:`the general instructions <all-os-installation_instructions-portable-SDK>` and :ref:`platform specific notes <platform-notes-installation_instructions-portable-SDK>`.
+
 
-Emscripten SDK is available as a portable web-installer for Linux and OS X. This does not require system installation privileges. Just unzip and go!
 
-- `emsdk-portable.tar.gz <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz>`_
+.. _sdk-installation-instructions:
 
+Installation instructions
+=========================
 
+Check the relevant section below for instructions on installing your selected package. Then check the :ref:`Platform-specific notes <platform-notes-installation_instructions-portable-SDK>` at the end of the section to address any further prerequisites that exist for your system.
 
-Package installation instructions for Mac OSX and Windows
-===========================================================
-Check the relevant section below for what to do with the package you just downloaded, then check the Platform-specific notes at the end of the section to find out about and address any further prerequisites that exist for your system.
+.. _windows-installation_instructions-NSIS:
 
 Windows: Installing using an NSIS installer
 --------------------------------------------
 
-The NSIS installers register the Emscripten SDK as a 'standard' Windows application. To install the SDK, download an NSIS .exe file (see above), double-click on it, and run through the installer to perform the installation. After the installer finishes, the full Emscripten toolchain will be available in the directory that was chosen during the installation, and no other steps are necessary. If your system has Visual Studio 2010 installed, the vs-tool MSBuild plugin will be automatically installed as well.
+The NSIS installers register the Emscripten SDK as a 'standard' Windows application. To install the SDK, download an NSIS .exe file (see above), double-click on it, and run through the installer to perform the installation. 
 
+After the installer finishes, the full Emscripten toolchain will be available in the directory that was chosen during the installation, and no other steps are necessary. If your system has Visual Studio 2010 installed, the :term:`vs-tool` MSBuild plugin will be automatically installed as well.
+
+
+.. _all-os-installation_instructions-portable-SDK:
 
 Windows, OSX and Linux: Installing the Portable SDK
---------------------------------------------------------
+----------------------------------------------------
 
-The Portable Emscripten SDK is a no-installer version of the SDK package. It is identical to the NSIS installer, except that it does not interact with the Windows registry. This allows Emscripten to be used on a computer without administrative privileges, and enables us to migrate the installation from one location (directory or computer) to another by just copying/zipping up the directory contents.
+The Portable Emscripten SDK is a no-installer version of the SDK package. It is identical to the NSIS (web) installer, except that it does not interact with the Windows registry. This allows Emscripten to be used on a computer without administrative privileges, and means that the installation to be migrated from one location (directory or computer) to another by simply copying/zipping up the directory contents.
 
 If you want to use the Portable Emscripten SDK, the initial setup process is as follows:
 
 1. Download and unzip the portable SDK package to a directory of your choice (see above). This directory will contain the Emscripten SDK.
-#. Open a command prompt to the directory of the SDK.
-#. Run ``emsdk update`` (``./emsdk update`` on OSX). This will fetch the latest registry of available tools.
-#. Run ``emsdk install latest`` (``./emsdk install latest`` on OSX). This will download and install the latest SDK tools.
-#. Run ``emsdk activate latest`` (``./emsdk activate latest`` on OSX). This will set up the necessary paths to point to the SDK correctly.
+#. Open a command prompt to the directory of the SDK and run the following :ref:`emsdk <emsdk>` commands to get the latest SDK tools and set them as :term:`active <Active Tool/SDK>`. Note that on Mac OS X, invoke the tool with **./emsdk** isntead of **emsdk**.: ::
+
+	# Fetch the latest registry of available tools.
+	emsdk update
+	
+	# Download and install the latest SDK tools.
+	emsdk install latest
+
+	# Make the "latest" SDK "active"
+	emsdk activate latest	
+
+Whenever you change the location of the Portable SDK (e.g. take it to another computer), re-run the final command: ``emsdk activate latest``
 
-Whenever you change the location of the Portable SDK (e.g. take it to another computer), re-run step 5.
+.. tip:: The instructions above can also be used to get new SDKs, as they are released.
 
 
+.. _platform-notes-installation_instructions-portable-SDK:
 
 Platform-specific notes
 ----------------------------
@@ -78,115 +85,57 @@ Platform-specific notes
 Mac OS X
 ++++++++
 
--  On OSX (and Linux), the git tool will not be installed automatically. Git is not a required core component, and is only needed if you want to use one of the development branches **emscripten-incoming** or **emscripten-master** directly, instead of the fixed releases. To install git on OSX, you can 
+- *Git* is not installed automatically. Git is only needed if you want to use one of the development branches **emscripten-incoming** or **emscripten-master** directly, instead of the fixed releases. To install git on OSX:
    
-	1. Install XCode, and in XCode, install XCode Command Line Tools. This will provide git to the system PATH. For more help on this step, see http://stackoverflow.com/questions/9329243/xcode-4-4-command-line-tools
-	2. Install git directly from http://git-scm.com/
-
--  Also, on OSX, *Java* is not bundled with the Emscripten SDK. After installing emscripten via emsdk, typing 'emcc --help' should pop up a OSX dialog "Java is not installed. To open Java, you need a Java SE 6 runtime. Would you like to install one now?" that will automatically download a Java runtime to the system.
--  Emscripten requires the command line tool 'python2' to be present on OSX. On default OSX installations, this does not exist. To manually work around this issue, see step 10 at :doc:`Getting-started-on-Mac-OS-X`
-
-
-Linux
-++++++++
+	1. Install XCode and the XCode Command Line Tools. This will provide *git* to the system PATH. For more help on this step, see `this stackoverflow post <http://stackoverflow.com/questions/9329243/xcode-4-4-command-line-tools>`_.
+	2. Install git directly from http://git-scm.com/.
 
--  On Linux, prebuilt binaries of tools are not available. Installing a tool will automatically clone and build that tool from the sources inside **emsdk** directory. Emsdk does not interact with Linux package managers on the behalf of the user, nor does it install any tools to the system. All file changes are done inside the ``emsdk/`` directory.
--  Because *emsdk* builds software from the source on Linux, the system must have a working compiler environment available.
--  Emsdk does not provide *Python*, *node.js* or *Java* on Linux. The user is expected to install these beforehand with the system package manager.
+- *Java* is not bundled with the Emscripten SDK. After installing Emscripten via :ref:`emsdk <emsdk>`, typing ``emcc --help`` should pop up a dialog which will automatically download a Java Runtime to the system: ::
 
-
-
-SDK concepts
-==============
-
-The Emscripten SDK is effectively a small package manager for tools that are used in conjunction with Emscripten. The following glossary highlights the important concepts to help understanding the internals of the SDK.
-
-Tool
-	The basic unit of software bundled in the SDK. A Tool has a name and a version. For example, 'clang-3.2-32bit' is a Tool that contains the 32-bit version of the Clang v3.2 compiler.
-	
-SDK
-	A set of tools. For example, 'sdk-1.5.6-32bit' is an SDK consisting of the tools clang-3.2-32bit, node-0.10.17-32bit, python-2.7.5.1-32bit and emscripten-1.5.6.
-	
-Active Tool/SDK
-	Emscripten stores compiler configuration in a user-specific file **~/.emscripten**. This file points to paths for Emscripten, Python, Clang and so on. If the file ~/.emscripten is configured to point to a Tool in a specific directory, then that tool is denoted as being **active**. The Emscripten Command Prompt always gives access to the currently active Tools. This mechanism allows switching between different SDK versions easily.
+	Java is not installed. To open Java, you need a Java SE 6 runtime. 
+	Would you like to install one now?
 	
-emsdk
-	This is the name of the manager script that Emscripten SDK is accessed through. Most operations are of the form ``emsdk command``. To access the *emsdk* script, launch the Emscripten Command Prompt.
+- The *python2* command line tool is not present on OSX by default. To manually work around this issue, follow step 10 in :ref:`Getting-started-on-Mac-OS-X <getting-started-on-osx-install-python2>`
 
 
-	
-SDK maintenance
-============================
-
-The following tasks are common with the Emscripten SDK:
-
-How do I work the emsdk utility?
-	Run ``emsdk help`` or just ``emsdk`` to get information about all available commands.
-	
-How do I check the installation status and version of the SDK and tools?
-	To get a list of all currently installed tools and SDK versions, and all available tools, run ``emsdk list``. *A line will be printed for each tool/SDK that is available for installation.* The text ``INSTALLED`` will be shown for each tool that has already been installed. If a tool/SDK is currently active, a star (\*) will be shown next to it. Run ``emsdk_env.bat`` (Windows) or ``source ./emsdk_env.sh`` (Linux and OSX) to set up the environment for the calling terminal.
-	
-How do I install a tool/SDK version?
-	Run the command ``emsdk install <tool/sdk name>`` to download and install a new tool or an SDK version.
-	
-How do I remove a tool or an SDK?
-	Run the command ``emsdk uninstall <tool/sdk name>`` to delete the given tool or SDK from the local harddrive completely.
-	
-How do I check for updates to the Emscripten SDK?
-	The command ``emsdk update`` will fetch package information for all new tools and SDK versions. After that, run ``emsdk install <tool/sdk name>`` to install a new version.
-
-How do I change the currently active SDK version?
-	You can toggle between different tools and SDK versions by running ``emsdk activate <tool/sdk name>``. Activating a tool will set up ``~/.emscripten`` to point to that particular tool.
-	
-How do I install an old Emscripten compiler version?
-	Emsdk contains a history of old compiler versions that you can use to maintain your migration path. Type ``emsdk list --old`` to get a list of archived tool and SDK versions, and ``emsdk install <name_of_tool>`` to install it.
-
-	On Windows, you can directly install an old SDK version by using one of the archived offline NSIS installers. See the `Archived releases`_ section down below.
-	
-		.. COMMENT HamishW This is new for MDN. Check if really should belong here. I think may already be up the top too.
-		
-How do I track the latest Emscripten development with the SDK?
-	A common and supported use case of the Emscripten SDK is to enable the workflow where you directly interact with the github repositories. This allows you to obtain new features and latest fixes immediately as they are pushed to the github repository, without having to wait for release to be tagged. You do not need a github account or a fork of Emscripten to do this. To switch to using the latest upstream git development branch ``incoming``, run the following:
+Linux
+++++++++
 
-	::
+.. note:: Pre-built binaries of tools are not available on Linux. Installing a tool will automatically clone and build that tool from the sources inside **emsdk** directory. Emsdk does not interact with Linux package managers on the behalf of the user, nor does it install any tools to the system. All file changes are done inside the ``emsdk/`` directory.
 
-		emsdk install git-1.8.3 # Install git. Skip if the system already has it.
-		emsdk install sdk-incoming-64bit # Clone+pull the latest kripken/emscripten/incoming.
-		emsdk activate sdk-incoming-64bit # Set the incoming SDK as the currently active one.
+- The system must have a working compiler environment available (because *emsdk* builds software from the source). 
+- *Python*, *node.js* or *Java* are not provided by *emsdk*. The user is expected to install these beforehand with the *system package manager*.
+- *Git* is not installed automatically. Git is only needed if you want to use one of the development branches **emscripten-incoming** or **emscripten-master** directly, instead of the fixed releases. 
 
-	If you want to use the upstream stable branch ``master``, then replace ``-incoming-`` with ``-master-`` above.
-	
-	.. COMMENT HamishW This is new for MDN. Check if really should belong here.
+.. todo:: **HamishW** Add instructions for installing Git on Linux.
 
-	
-How do I use my own Emscripten github fork with the SDK?
-	It is also possible to use your own fork of the Emscripten repository via the SDK. This is achieved with standard git machinery, so there if you are already acquainted with working on multiple remotes in a git clone, these steps should be familiar to you. This is useful in the case when you want to make your own modifications to the Emscripten toolchain, but still keep using the SDK environment and tools. To set up your own fork as the currently active Emscripten toolchain, first install the ``sdk-incoming`` SDK like shown in the previous section, and then run the following commands in the emsdk directory:
 
-	::
+.. _updating-the-emscripten-sdk:
 
-		cd emscripten/incoming
-		# Add a git remote link to your own repository.
-		git remote add myremote https://github.com/mygituseraccount/emscripten.git
-		# Obtain the changes in your link.
-		git fetch myremote
-		# Switch the emscripten-incoming tool to use your fork.
-		git checkout -b myincoming --track myremote/incoming
+Updating the SDK
+================
 
-	In this way you can utilize the Emscripten SDK tools while using your own git fork. You can switch back and forth between remotes via the ``git checkout`` command as usual.
+You only need to install the SDK once! After that you can update to the latest SDK at any time using :ref:`SDK Package Manager (emsdk) <emsdk>`. Type the following (omitting comments) on the *Emscripten Command Prompt*: ::
 
-	.. COMMENT HamishW This is new for MDN. Check if really should belong here.
+	emsdk update 		// Fetch the latest registry of available tools.
+	emsdk install latest 	// Download and install the latest SDK tools.
+	emsdk activate latest	// Set up the compiler configuration to point to the "latest" SDK.
 
+The package manager can do many other maintenance tasks, ranging from fetching specific old versions of the SDK through to using the :ref:`versions of the tools on Github <emsdk-master-or-incoming-sdk>` (or even your own fork). Check out all the possibilities in the :ref:`emsdk_howto`.
 
 	
 Uninstalling the Emscripten SDK
 ========================================================
 
-If you installed the SDK using a NSIS installer on Windows, launch 'Control Panel' -> 'Uninstall a program' -> 'Emscripten SDK'.
+If you installed the SDK using a NSIS installer on Windows, launch: **Control Panel -> Uninstall a program -> Emscripten SDK**.
 
 If you want to remove a Portable SDK, just delete the directory containing the Portable SDK.
 
+It is also possible to :ref:`remove specific SDKs using emsdk <emsdk-remove-tool-sdk>`.
 
 
+.. _archived-nsis-windows-sdk-releases:
+
 Archived releases
 =================
  
@@ -208,3 +157,4 @@ On Windows, you can install one of the **old versions** via an offline NSIS inst
 
 
 A snapshot of all tagged releases (not SDKs) can be found in `emscripten/releases <https://github.com/kripken/emscripten/releases>`_.
+
diff --git a/site/source/docs/index.rst b/site/source/docs/index.rst
index a1866cb79bae8..5c2e0b4fbd64d 100644
--- a/site/source/docs/index.rst
+++ b/site/source/docs/index.rst
@@ -14,6 +14,7 @@ Documentation Home (under-construction)
 	packaging/index
 	contributing/index
 	api_reference/index
+	tools_reference/index
 	site/index
 
    
diff --git a/site/source/docs/introducing_emscripten/bug_reports.rst b/site/source/docs/introducing_emscripten/bug_reports.rst
index 32828a943b1b0..de177d5026131 100644
--- a/site/source/docs/introducing_emscripten/bug_reports.rst
+++ b/site/source/docs/introducing_emscripten/bug_reports.rst
@@ -1,8 +1,8 @@
 .. _bug-reports:
 
-=========================================
-Bug Reporting (ready-for-review) 
-=========================================
+=============
+Bug Reporting
+=============
 
 All bugs should be filed in the GitHub `main <https://github.com/kripken/emscripten>`_ Emscripten repository `Issue Tracker <https://github.com/kripken/emscripten/issues?state=open>`_.
 
@@ -18,15 +18,17 @@ Please supply as much relevant information as possible, including:
 
 
 Fastcomp LLVM-Backend and Clang bugs
-=====================================
+====================================
 
-:doc:`LLVM-Backend` bugs may instead be posted to the appropriate `Emscripten LLVM fork <https://github.com/kripken/emscripten-fastcomp>`_ or `Emscripten Clang fork <https://github.com/kripken/emscripten-fastcomp-clang>`_ **if you are certain** that the bug is specific to these repositories. If uncertain, bugs must be posted to the `main repository <https://github.com/kripken/emscripten>`_.
+:ref:`LLVM Backend <LLVM-Backend>` bugs may instead be posted to the appropriate `Emscripten LLVM fork <https://github.com/kripken/emscripten-fastcomp>`_ or `Emscripten Clang fork <https://github.com/kripken/emscripten-fastcomp-clang>`_ **if you are certain** that the bug is specific to these repositories. If uncertain, bugs must be posted to the `main repository <https://github.com/kripken/emscripten>`_.
 
 Pull requests must (of course) go to the proper repository.
 
 
+.. _site-and-documentation-bug-reports:
+
 Site and documentation bugs
-========================
+===========================
 
 Documentation (site) bugs should be filed in the same `Issue Tracker <https://github.com/kripken/emscripten/issues?state=open>`_.
 
@@ -37,6 +39,3 @@ Include relevant information including:
 - Suggestions for a possible solution.
 
 .. tip:: The `Page bug <https://github.com/kripken/emscripten/issues/new?title=Bug%20in%20page:How%20to%20Report%20Bugs%20%28under-construction%29%20&body=REPLACE%20THIS%20TEXT%20WITH%20BUG%20DESCRIPTION%20%0A%0AURL:%20../../docs/site/Bug-Reports&labels=bug>`_ link on the bottom-right of every page opens the Issue Tracker pre-seeded with the current page URL and title.  
-
-
- 
diff --git a/site/source/docs/introducing_emscripten/community.rst b/site/source/docs/introducing_emscripten/community.rst
index e52b9165f7e8e..1657a3e99a710 100644
--- a/site/source/docs/introducing_emscripten/community.rst
+++ b/site/source/docs/introducing_emscripten/community.rst
@@ -1,6 +1,6 @@
-===========================================
-Community (ready-for-review) 
-===========================================
+=========
+Community
+=========
 
 Welcome to the Emscripten community! 
 
@@ -8,9 +8,9 @@ Welcome to the Emscripten community!
 .. _contact:
 
 Get in touch
-===========================================
+============
 
-The best way to contact us is to use either the *mailing list* or *IRC*. 
+The best ways to contact us for support are the *mailing list* and the *IRC* channel. Ask questions, share your ideas, or just join the conversation.
 
 - Mailing list: `emscripten-discuss <http://groups.google.com/group/emscripten-discuss>`_
 - IRC: **#emscripten** on `irc.mozilla.org <https://wiki.mozilla.org/IRC>`_ 
@@ -24,7 +24,7 @@ Emscripten also has an *unofficial* presence on social media:
 
 
 Report a bug
-=============
+============
 
 :ref:`Bug reports <bug-reports>` can be posted in the GitHub `Issue Tracker <https://github.com/kripken/emscripten/issues?state=open>`_.
 
@@ -33,7 +33,7 @@ Report a bug
 
 
 Blogs
-=========================
+=====
 
 Get the latest official Emscripten news on the blogs: `Developer blog (azakai) <http://mozakai.blogspot.com/>`_ and `Mozilla blog <https://blog.mozilla.org/blog/tag/emscripten/>`_.
 
@@ -43,6 +43,6 @@ In addition, other interesting blogs and demos are regularly shared on Twitter b
 
 
 Contribute
-============
+==========
 
 Anyone can contribute to Emscripten. We've got some ideas to get you started on our :ref:`contributing` page.
diff --git a/site/source/docs/introducing_emscripten/index.rst b/site/source/docs/introducing_emscripten/index.rst
index 3a624dad3b325..1cced84271482 100644
--- a/site/source/docs/introducing_emscripten/index.rst
+++ b/site/source/docs/introducing_emscripten/index.rst
@@ -12,4 +12,3 @@ Introducing Emscripten (under-construction)
    bug_reports
    release_notes
    Talks-and-Publications
-   searching_site
diff --git a/site/source/docs/introducing_emscripten/searching_site.rst b/site/source/docs/introducing_emscripten/searching_site.rst
deleted file mode 100644
index 7730d01f94373..0000000000000
--- a/site/source/docs/introducing_emscripten/searching_site.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Searching this site (under-construction) 
-=========================================
-
-.. warning::
-    Under Construction: 
diff --git a/site/source/docs/site/about.rst b/site/source/docs/site/about.rst
index dd5feeab7c8ca..41e7c3967c89f 100644
--- a/site/source/docs/site/about.rst
+++ b/site/source/docs/site/about.rst
@@ -1,48 +1,65 @@
 ===============================
-About site (under-construction) 
+About site (ready-for-review) 
 ===============================
 
-The site is built using `Sphinx <http://sphinx-doc.org/latest/index.html>`_ (1.2.2), the (Python) open source tool used to create the official Python documentation, along with many other documentation sites. This is a very mature and stable tool, and was selected for, among other reasons, its support for defining API items and linking to them from code. 
-
-The site uses a custom theme, which is based on the `Read the docs theme <http://read-the-docs.readthedocs.org/en/latest/theme.html>`_
-
+The site is built using `Sphinx <http://sphinx-doc.org/latest/index.html>`_ (1.2.2), the open source tool used to create the official Python documentation and many other sites. This is a very mature and stable tool, and was selected for, among other reasons, its support for defining API items and linking to them from code. 
 
+The site uses a custom theme, which is based on the :ref:`read-the-docs-theme`.
 
 Page management markup
 ============================
 
 .. warning:: This site is still under construction and includes both new content and content from the wiki. 
 
-	To make it easy to manage documents during early review, "status" markup has been added to documents. You can search on this text in order to find articles which have questions or issues. At the end of the project a search on any of these should return "nothing"
+To make it easy to manage documents while the site is being created, "status" markup has been added to the document titles. You can search on this text in order to find articles which have questions or issues (e.g. on `ready for review <http://kripken.github.io/emscripten-site/search.html?q=ready+for+review>`_): 
+
+	- **wiki import** : The page has been imported automatically from the wiki. It has not been checked. When it is actively being worked on the article is next moved to *under construction*.
+	- **under construction** : The page is being worked on. It is still incomplete and not *ready for review*.
+	- **ready for review** : The page is ready for review. :ref:`contact` if you find any problems.
+	- **placeholder** : The page is a placeholder for a possible topic. The topic may not end up being created in the final build.
+	- If there is no header, the page is assumed to be published.
+
+In addition there is some markup in the body of the documents:
 
-- "wiki-import" in the heading: The page has been imported automatically from the wiki - and not been checked. This is moved to "under construction" when the article is being properly reviewed.
-- "under-construction" in the heading: The page is being worked on. Incomplete and not ready to review
-- "placeholder" in the heading: The page is not being worked on, and may not even exist in the final build. Even if it exists it may not exist in the current location.
-- "ready-for-review" in the heading - page is ready for review.
-- "REMOVE FROM FINAL BUILDS" in the heading - page is a scratchpad or temporary file during development. To be removed/moved before publishing.
-- If there is no header, the page is assumed to be published.
-- "HamishW" in the body of the document - this is a specific question or issue with the document at that point
+	- **HamishW** : This is a specific question or issue with the document at this point.
 
-You can find documents in each type using Search: e.g. on "under review".
+By the end of the project all articles should be published and all of this page management markup removed. This section of the "About" page will then be removed.
 
+.. todo:: **HamishW** Delete this whole section at the end of the project. At that point there should only be HamishW markup for possible Todos. 
+	Note the search link immediately above too - this is to the kripken site and may need to change if the site moves.
 
-Writing articles
+Reporting bugs
+==============
+
+Please :ref:`report documentation bugs <site-and-documentation-bug-reports>` as you would any other Emscripten bug. Help :ref:`fix them <writing-and-updating-articles>` by updating existing documents or by creating new ones.
+
+
+Searching the site
 ==================
 
-TBD :doc:`placholder-to-give-me-warning-to-update`
-	
+Searching returns only topics which contain **all** the specified keywords. 
+
+.. tip:: Always start by searching for *single* words like "interacting" or "compiling". Generally this will be enough to find the relevant document. If not, you can refine the search by adding additional terms. 
+
+Note that searches that include characters like "-" and "+" will not work. There is no support for logical operators.
+
+
+.. _building-the-site:
+
 Building the site
 ==================
 
-The site sources are in the Emscripten repo, *incoming* branch, `/site <https://github.com/kripken/emscripten/tree/incoming/site>`_ directory. Changes should be committed to the incoming branch. 
+The site sources are in the Emscripten *incoming* branch, `site <https://github.com/kripken/emscripten/tree/incoming/site>`_ directory. Changes should be committed to the incoming branch. 
+
+The site is published to the **kripken/emscripten-site** *gh-pages* branch (Github pages).
 
-The site is published to the *gh-pages* branch as part of a site build.
 
 make html
 ---------
 
-The site can be build from source on Ubuntu and Windows by navigating to the */emscripten/site* directory and using the command: ::
+The site can be built from source on Ubuntu and Windows by navigating to the */emscripten/site* directory and using the command: ::
 
+	make clean
 	make html
 
 Installing Sphinx
@@ -53,19 +70,120 @@ Notes for installing Sphinx are provided `here <http://sphinx-doc.org/install.ht
 
 Ubuntu
 ++++++
-The version of Sphinx on Ubuntu package repository (apt-get) is only 1.1.3. It appears to be dependent on an old version of the Jinja templating library. 
+The version of Sphinx on Ubuntu package repository (apt-get) fails when building the site. This is an early version (1.1.3), which appears to be dependent on an old version of the Jinja templating library. 
 
-The workaround is to use the Python package installer "pip" to get version 1.2.2, and then run an upgrade (note, you may have to uninstall Sphnx first): ::
+The workaround is to use the Python package installer "pip" to get version 1.2.2, and then run an upgrade (note, you may have to uninstall Sphinx first): ::
 
 	pip install sphinx
 	pip install sphinx --upgrade
 
 
 
+.. _writing-and-updating-articles:
+
+Writing and updating articles
+=============================
+
+.. note:: Sphinx is `well documented <http://sphinx-doc.org/latest/index.html>`_. This section only attempts to highlight specific styles and features used on this site.
+
+	The :ref:`building-the-site` section explains how to find the sources for articles and build the site. 
+
 	
+Site content is written using :term:`reStructured text`. We recommend you read the following articles to understand the syntax:
+
+* `reStructured text primer <http://sphinx-doc.org/rest.html>`_
+* `Sphinx Domains <http://sphinx-doc.org/domains.html>`_ (define and link to code items).
+* `Inline markup <http://sphinx-doc.org/markup/inline.html>`_
+
+
+
+
+
+Style guide
+-----------
 
-Changes to the sphinx_rtd_theme theme 
-=======================================
+This section has a few very brief recommendations to help authors use common style. 
+
+.. tip:: We need you coding and writing content, not stuck writing perfect prose! Just do your best, and then :ref:`ask for editorial review <contact>`.
+
+**Spelling:** Where possible use US-English spelling.
+
+**Avoid idiomatic expressions**: These can be particularly confusing to non-native speakers (for example "putting your foot in your mouth" actually means to "say something embarrassing").
+
+**Emphasis:**
+
+	- **Bold** : use for file names, and UI/menu instructions (for example: "Press **OK** to do something")
+	- *Italic* : use for tool names - e.g. *Clang*, *emcc*, *Closure Compiler*
+	- ``monotype`` : use for inline code (where you can't link to the API reference) and for demonstrating tool command line options.
+	- otherwise emphasis should be used sparingly
+
+
+**Lists**: Use a colon on the lead-in to the list. Capitalize the first letter and use a full-stop for each item.
+	
+
+How to link to a document or heading
+-------------------------------------
+
+To link to a page, first define a globally unique reference before the page title (e.g. ``_my-page-reference``) then link to it using the `ref <http://sphinx-doc.org/markup/inline.html#ref-role>`_ role as shown: ::
+
+	.. _my-page-reference:
+
+	My Page Title
+	=============
+
+	This is the text of the section.
+	
+	To link to page use either of the options below:
+		ref:`my-reference-label` - the link text is the heading name after the reference
+		ref:`some text <my-reference-label>` - the link text is "some text" 
+
+This is a better approach than linking to documents using the *:doc:* role, because the links do not get broken if the articles are moved. 
+
+This approach is also recommended for linking to arbitrary headings in the site.
+
+Note also that there are a number of other roles that are useful for linking - including `Sphinx Domains <http://sphinx-doc.org/domains.html>`_ for linking to code items, and **term** for linking to glossary terms.
+
+
+
+Recommended section/heading markup
+-------------------------------------
+
+reStructured text `defines <http://sphinx-doc.org/rest.html#sections>`_ section headings using a separate line of punctuation characters after (and optionally before) the heading text. The line of characters must be at least as long as the heading. For example: ::
+
+	A heading
+	=========
+
+Different punctuation characters are used to specify nested sections. Although the system does not mandate which punctuation character is used for each nested level, it is important to be consistent. The recommended heading levels are: ::
+
+	=======================================
+	Page title (top and bottom bars of "=")
+	=======================================
+	
+	Level 1 heading (single bar of "=" below)
+	=========================================
+	
+	Level 2 heading (single bar of "-" below)
+	-----------------------------------------
+	
+	Level 3 heading (single bar of "+" below)
+	+++++++++++++++++++++++++++++++++++++++++
+	
+	Level 4 heading (single bar of "~" below)
+	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+	
+Working in markdown
+-------------------
+	
+New articles may be authored and discussed on the `wiki <https://github.com/kripken/emscripten/wiki>`_ using Markdown syntax before being included in the documentation set. The easiest way to convert these to restructured text is to use a tool like `Pandoc <http://johnmacfarlane.net/pandoc/try/?text=&from=markdown_github&to=rst>`_. 
+
+.. note:: The *get_wiki.py* tool (**/site/source/get_wiki.py**) can be used to automate getting a snapshot of the wiki. It clones the wiki and calls *pandoc* on each file. The output is copied to a folder **wiki_static**. The tool also adds a heading, a note stating that the file is a "wiki snapshot", and fixes up links marked as "inline code" to matching links in the API Reference. 	
+	
+	
+.. _read-the-docs-theme:
+	
+Read the docs theme 
+===================
 
 The site uses a modification of the `Read the docs theme <http://read-the-docs.readthedocs.org/en/latest/theme.html>`_ (this can be found in the source at */emscripten/site/source/_themes/emscripten_sphinx_rtd_theme*).
 
@@ -90,3 +208,8 @@ The main changes to the original theme are listed below.
 	- Changed to support 4 levels of depth in sidebar toc.
 	- Centred theme. Made sidebar reach bottom of page using absolute positioning.
 
+
+Site license 
+============
+
+The site is licensed under the same :ref:`emscripten-license` as the rest of Emscripten. Contributors to the site should add themselves to :ref:`emscripten-authors`.
\ No newline at end of file
diff --git a/site/source/docs/site/glossary.rst b/site/source/docs/site/glossary.rst
new file mode 100644
index 0000000000000..5fedc100640fa
--- /dev/null
+++ b/site/source/docs/site/glossary.rst
@@ -0,0 +1,22 @@
+===============================
+Glossary (under-construction) 
+===============================
+
+
+
+.. glossary::
+	:sorted:
+
+	vs-tool
+		Visual Studio 2010 plugin to integrate MinGW, Clang and Emscripten to the VS IDE.  Automatically added by the Emscripten SDK NSIS Installer if Visual Studio 2010 is present on the target system.
+		
+		
+		
+Site / Sphinx
+==============		
+
+.. glossary::
+	:sorted:
+
+	reStructured text
+		Markup language used to define content on this site. See the `reStructured text primer <http://sphinx-doc.org/rest.html>`_.
\ No newline at end of file
diff --git a/site/source/docs/site/index.rst b/site/source/docs/site/index.rst
index baabba6baa2d9..dbcb41cb7c2c9 100644
--- a/site/source/docs/site/index.rst
+++ b/site/source/docs/site/index.rst
@@ -6,5 +6,5 @@ Site Links (under-construction)
    :maxdepth: 1
    
    about
-
+   glossary
 
diff --git a/site/source/docs/temp-fragments/getting-started-emscripten-wikiEmscriptenSDK.rst b/site/source/docs/temp-fragments/getting-started-emscripten-wikiEmscriptenSDK.rst
index 1c7ef82ec9acd..5fc9fd5f30c21 100644
--- a/site/source/docs/temp-fragments/getting-started-emscripten-wikiEmscriptenSDK.rst
+++ b/site/source/docs/temp-fragments/getting-started-emscripten-wikiEmscriptenSDK.rst
@@ -35,3 +35,36 @@ After installing the vs-tool plugin, a new 'Emscripten' platform will appear to
 
 Note: If you copied the Emscripten platform properties from the Win32 platform, be sure to go and clean up any leftover Win32-specific #defines and other configuration from the Emscripten platform!
 
+
+Raw HTML for toggle text
+=========================
+
+There is also a good example of a Sphinx plugin that could add this directive: http://scopatz.github.io/hiddencode/
+
+.. raw:: html
+
+	<a href="javascript:hideshow(document.getElementById('adiv1'))">Installation instructions1</a>
+
+	<div id="adiv1" style="display:none;">
+	1.The NSIS installers register the Emscripten SDK as a 'standard' Windows application. To install the SDK, download an NSIS .exe file (see above), double-click on it, and run through the installer to perform the installation. After the installer finishes, the full Emscripten toolchain will be available in the directory that was chosen during the installation, and no other steps are necessary. If your system has Visual Studio 2010 installed, the vs-tool MSBuild plugin will be automatically installed as well.
+	</div>
+
+.. raw:: html
+	<script type="text/javascript">
+	function hideshow(which){
+	if (!document.getElementById)
+		return
+	if (which.style.display=="none")
+		which.style.display="block"
+	else
+		which.style.display="none"
+	}
+	
+	</script>	
+
+Some text that probably belongs in installing SDK from source.
+========================================================================
+
+This was cut from an SDK installation topic:
+
+"Run ``emsdk_env.bat`` (Windows) or ``source ./emsdk_env.sh`` (Linux and OSX) to set up the environment for the calling terminal." from topic "How do I check the installation status and version of the SDK and tools?". I think this is part of manual setup and doesn't belong here.
\ No newline at end of file
diff --git a/site/source/docs/tools_reference/emsdk.rst b/site/source/docs/tools_reference/emsdk.rst
new file mode 100644
index 0000000000000..bcf2fe510c347
--- /dev/null
+++ b/site/source/docs/tools_reference/emsdk.rst
@@ -0,0 +1,221 @@
+.. _emsdk:
+
+=====================================
+emsdk - Emscripten SDK Manager
+=====================================
+
+**The Emscripten SDK management script (** ``emsdk`` **) is used to perform all SDK maintenance. You only need to "install" the SDK once; after that emsdk can do all further updates!**
+
+Purpose
+============================================
+
+With ``emsdk`` you can download, install or remove *any* SDK or Tool, ranging from the very first, through to the bleeding edge updates still on Github. Most operations are of the form ``emsdk command``. To access the *emsdk*, launch the *Emscripten Command Prompt*.
+
+This document provides the command syntax, and a :ref:`set of guides <emsdk_howto>` explaining how to perform both common and advanced maintenance operations.
+
+
+Command line syntax
+============================================
+
+**emsdk** [**help** [**--old**] | **list** | **update** | **install** *<tool/sdk>* | **uninstall** *<tool/sdk>* | **activate** *<tool/sdk>*]
+
+or
+
+**emcmdprompt.bat**
+
+.. note:: For Mac OSX the commands are called with  **./emsdk**  and **./emcmdprompt.bat** respectively.
+
+Arguments
+---------
+ 
+
+.. list-table:: 
+   :header-rows: 1
+   :widths: 20 80
+   :class: wrap-table-content 
+
+   * - Command
+     - Description
+   * - ``list [--old]``
+     - Lists all current SDKs and tools and their installation status. With the ``--old`` parameter, historical versions are also shown.
+   * - ``update``
+     - Fetches the latest list of all available tools and SDKs (but does not install them)
+   * - ``install <tool/sdk>``
+     - Downloads and installs the :ref:`specified tool or SDK <emsdk-specified-tool-sdk>`.
+   * - ``uninstall <tool/sdk>``
+     - Removes the :ref:`specified tool or SDK <emsdk-specified-tool-sdk>` from the disk.
+   * - ``activate <tool/sdk>``
+     - Sets the :ref:`specified tool or SDK <emsdk-specified-tool-sdk>` as the default tool in the system environment.
+   * - ``help``
+     - Lists all supported commands. The same list is output if no command is specified.	 
+
+**emcmdprompt.bat** doesn't take any arguments. It spawns a new command prompt window with the Emscripten environment active.
+
+.. _emsdk-specified-tool-sdk:
+
+Tools and SDK targets
+------------------------
+	 
+The ``<tool/sdk>`` given above is one of the targets listed using ``emsdk list`` (or ``emsdk list --old``). 
+
+Note that some of the tools and SDK names include  *master* or *incoming*: these targets are used to clone and pull the very latest versions from the Emscripten incoming and master branches.
+
+Finally, you can specify a target of ``latest`` to grab the most current SDK.
+
+.. todo:: **HamishW**  emcmdprompt.bat does not appear to work. Need to check with Jukka
+
+
+
+SDK manager concepts
+==============================
+
+The *emsdk* can fetch the different versions of all the tools and SDKs. These are put into different directories under the main SDK installation folder, grouped by tool and version. 
+
+A user-specific file (**~/.emscripten**) stores the "compiler configuration"; this configuration defines the specific set of tools that are :term:`active <Active Tool/SDK>`, and will be used by default if Emscripten in called on the **Emscripten Command Prompt*.
+
+The following terms are used when referring to the SDK and tool manager:
+
+.. glossary::
+
+	Tool
+		The basic unit of software bundled in the SDK. A Tool has a name and a version. For example, 'clang-3.2-32bit' is a Tool that contains the 32-bit version of the *Clang* v3.2 compiler. Other tools include *Emscripten*, *Java*, *Git*, *Node*, etc.
+		
+	SDK
+		A set of :term:`tools <Tool>`. For example, 'sdk-1.5.6-32bit' is an SDK consisting of the tools: clang-3.2-32bit, node-0.10.17-32bit, python-2.7.5.1-32bit and emscripten-1.5.6.
+		
+	Active Tool/SDK
+		The SDK can store multiple versions of tools and SDKs. The active tools/SDK is the set of tools that are used by default on the *Emscripten Command Prompt*. This compiler configuration is stored in a user-specific persistent file (**~/.emscripten**) and can be changed using *emsdk*.
+		
+	emsdk
+		This is the name of the manager script that Emscripten SDK is accessed through. Most operations are of the form ``emsdk command``. To access the *emsdk* script, launch the *Emscripten Command Prompt*.
+
+
+
+.. _emsdk_howto:
+
+"How to" guides
+=========================
+
+The following topics explain how to perform both common and advanced maintenance operations, ranging from installing the latest SDK through to installing your own fork from Github.
+
+
+How do I just get the latest SDK?
+------------------------------------------------------------------------------------------------
+Use the ``update`` argument to fetch the current registry of available tools, and then the ``latest`` target to get the most recent SDK: ::
+
+	emsdk update 		// Fetch the latest registry of available tools.
+	emsdk install latest 	// Download and install the latest SDK tools.
+	emsdk activate latest	// Set up the compiler configuration to point to the "latest" SDK.
+
+Note that the commands are the same on Mac OSX, but you need to replace **emsdk** with **./emsdk**.
+
+
+How do I use emsdk?
+--------------------------------
+
+Use ``emsdk help`` or just ``emsdk`` to get information about all available commands.
+
+	
+How do I check which versions of the SDK and tools are installed?
+------------------------------------------------------------------------------------------------
+
+To get a list of all currently installed tools and SDK versions (and all available tools) run: ::
+	emsdk list
+
+A line will be printed for each tool/SDK that is available for installation. The text ``INSTALLED`` will be shown for each tool that has already been installed. If a tool/SDK is currently active, a star (\*) will be shown next to it. 
+
+	
+How do I install a tool/SDK version?
+------------------------------------
+
+Use the ``install`` argument to download and install a new tool or an SDK version: ::
+
+	emsdk install <tool/sdk name>
+
+	
+.. _emsdk-remove-tool-sdk:
+	
+How do I remove a tool or an SDK?
+----------------------------------------------------------------
+
+Use the ``uninstall`` argument to delete the given tool or SDK from the local computer: ::
+
+	emsdk uninstall <tool/sdk name>
+
+	
+How do I check for updates to the Emscripten SDK?
+----------------------------------------------------------------
+
+First use the ``update`` command to fetch package information for all new tools and SDK versions. Then use ``install <tool/sdk name>`` to install a new version: ::
+
+	emsdk update			// Fetch the latest registry of available tools.
+	emsdk install <tool/sdk name> 	// Download and install the specified new version.
+
+
+How do I change the currently active SDK version?
+----------------------------------------------------------------
+
+Toggle between different tools and SDK versions using the :term:`activate <Active Tool/SDK>` command. This will set up ``~/.emscripten`` to point to that particular tool: ::
+
+	emsdk activate <tool/sdk name>
+	
+	
+How do I install an old Emscripten compiler version?
+----------------------------------------------------------------
+
+*Emsdk* contains a history of old compiler versions that you can use to maintain your migration path. Use the ``list --old`` argument to get a list of archived tool and SDK versions, and ``emsdk install <name_of_tool>`` to install it: ::
+
+	emsdk list --old
+	emsdk install <name_of_tool>
+	
+On Windows, you can directly install an old SDK version by using one of the :ref:`archived offline NSIS installers <archived-nsis-windows-sdk-releases>`. 
+	
+.. _emsdk-master-or-incoming-sdk:
+
+How do I track the latest Emscripten development with the SDK?
+------------------------------------------------------------------------------------------------
+
+It is also possible to use the latest and greatest versions of the tools on the Github repositories! This allows you to obtain new features and latest fixes immediately as they are pushed to Github, without having to wait for release to be tagged. **No Github account or a fork of Emscripten is required.** 
+
+To switch to using the latest upstream git development branch ``incoming``, run the following:
+
+::
+
+	# Install git. Skip if the system already has it.
+	emsdk install git-1.8.3 
+	
+	# Clone+pull the latest kripken/emscripten/incoming.
+	emsdk install sdk-incoming-64bit
+	
+	# Set the incoming SDK as the active.
+	emsdk activate sdk-incoming-64bit 	
+
+If you want to use the upstream stable branch ``master``, then replace ``-incoming-`` with ``-master-`` above.
+
+
+	
+How do I use my own Emscripten Github fork with the SDK?
+----------------------------------------------------------------
+
+It is also possible to use your own fork of the Emscripten repository via the SDK. This is useful in the case when you want to make your own modifications to the Emscripten toolchain, but still keep using the SDK environment and tools.
+
+The way this works is that you first install the ``sdk-incoming`` SDK as in the :ref:`previous section <emsdk-master-or-incoming-sdk>`. Then you use familiar git commands to replace this branch with the information from your own fork:
+
+::
+
+	cd emscripten/incoming
+	
+	# Add a git remote link to your own repository.
+	git remote add myremote https://github.com/mygituseraccount/emscripten.git
+	
+	# Obtain the changes in your link.
+	git fetch myremote
+	
+	# Switch the emscripten-incoming tool to use your fork.
+	git checkout -b myincoming --track myremote/incoming
+
+You can switch back and forth between remotes via the ``git checkout`` command as usual.
+
+
+
+
diff --git a/site/source/docs/tools_reference/index.rst b/site/source/docs/tools_reference/index.rst
new file mode 100644
index 0000000000000..2e33782ff19ba
--- /dev/null
+++ b/site/source/docs/tools_reference/index.rst
@@ -0,0 +1,16 @@
+.. _tools-reference:
+
+=======================================
+Tools Reference (under-construction) 
+=======================================
+
+This section provides reference for the main :term:`tools <Tool>` in the Emscripten toolchain.
+
+
+.. toctree:: 
+   :maxdepth: 1
+   
+   emsdk
+
+
+
diff --git a/site/source/index.rst b/site/source/index.rst
index 39b91857e92d8..fe157e965e8a1 100644
--- a/site/source/index.rst
+++ b/site/source/index.rst
@@ -31,7 +31,8 @@ News
 	docs/compiling/index
 	docs/packaging/index
 	docs/contributing/index
-	docs/api_reference/index  
+	docs/api_reference/index
+	docs/tools_reference/index
 	wiki_static/index
 	docs/site/about
 

From 50708bcc2a2828bbee084818b126a85955ba9e2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Thu, 31 Jul 2014 11:27:31 +0300
Subject: [PATCH 17/30] Fix other.test_EMCC_BUILD_DIR on Windows ('/' vs '\'
 path delimiter comparison issue)

---
 tests/test_other.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test_other.py b/tests/test_other.py
index afcc7bd054eca..427665cce3b9c 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -2387,7 +2387,7 @@ def test_EMCC_BUILD_DIR(self):
 printErr('dir was ' + process.env.EMCC_BUILD_DIR);
 ''')
     out, err = Popen([PYTHON, EMCC, path_from_root('tests', 'hello_world.cpp'), '--js-library', 'lib.js'], stderr=PIPE).communicate()
-    self.assertContained('dir was ' + self.get_dir().replace('\\', '/'), err)
+    self.assertContained('dir was ' + os.path.normpath(self.get_dir()), err)
 
   def test_float_h(self):
     process = Popen([PYTHON, EMCC, path_from_root('tests', 'float+.c')], stdout=PIPE, stderr=PIPE)

From 6579bdbd26538da10780363b420086495b0dbdd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Thu, 31 Jul 2014 11:53:00 +0300
Subject: [PATCH 18/30] Work around node.js output flush bug
 https://github.com/joyent/node/issues/1669 to fix other.test_warn_undefined
 on Windows. The end of the output buffer would not get printed during the
 test, which would cause the test to fail. See also
 https://github.com/kripken/emscripten/issues/2582

---
 src/compiler.js | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/compiler.js b/src/compiler.js
index a86af011f0f97..2a98b129f44f2 100644
--- a/src/compiler.js
+++ b/src/compiler.js
@@ -319,9 +319,29 @@ try {
     }
   }
 } catch(err) {
-  printErr('Internal compiler error in src/compiler.js! Please raise a bug report at https://github.com/kripken/emscripten/issues/ with a log of the build and the input files used to run. Exception message: ' + err + ' | ' + err.stack);
-  if (ENVIRONMENT_IS_NODE) process.exit(1);
-  else throw err;
+  if (err.indexOf('Aborting compilation due to previous errors') != -1) {
+    // Compiler failed on user error, print out the error message.
+    printErr(err + ' | ' + err.stack);
+  } else {
+    // Compiler failed on internal compiler error!
+    printErr('Internal compiler error in src/compiler.js! Please raise a bug report at https://github.com/kripken/emscripten/issues/ with a log of the build and the input files used to run. Exception message: ' + err + ' | ' + err.stack);
+  }
+
+  if (ENVIRONMENT_IS_NODE) {
+    // Work around a node.js bug where stdout buffer is not flushed at process exit:
+    // Instead of process.exit() directly, wait for stdout flush event.
+    // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582
+    // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6
+    process['stdout']['once']('drain', function () {
+      process['exit'](1);
+    });
+    console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty.
+    // Work around another node bug where sometimes 'drain' is never fired - make another effort
+    // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up)
+    setTimeout(function() {
+      process['exit'](1);
+    }, 500);
+  } else throw err;
 }
 
 //var M = keys(tokenCacheMisses).map(function(m) { return [m, misses[m]] }).sort(function(a, b) { return a[1] - b[1] });

From a37b5dcb51ba6b7dd4078e1c10e6a8daa5b62d33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Thu, 31 Jul 2014 18:37:23 +0300
Subject: [PATCH 19/30] Set argv[0] to store path in forward slashes also on
 Windows. Fixes #2607.

---
 src/shell.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/shell.js b/src/shell.js
index 7f556fb9fde39..71efd202cd82e 100644
--- a/src/shell.js
+++ b/src/shell.js
@@ -70,7 +70,7 @@ if (ENVIRONMENT_IS_NODE) {
     globalEval(read(f));
   };
 
-  Module['thisProgram'] = process['argv'][1];
+  Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
   Module['arguments'] = process['argv'].slice(2);
 
   if (typeof module !== 'undefined') {

From bbf4171e1b6067ebcd39fbd6492ba7c9a879db74 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Thu, 31 Jul 2014 12:33:02 -0700
Subject: [PATCH 20/30] when using EMCC_ONLY_FORCED_STDLIBS, must export all
 the symbols in deps_info, as we don't know which are specifically needed;
 fixes #2611

---
 tests/test_other.py  | 25 +++++++++++++++++++++++++
 tools/system_libs.py | 14 ++++++++++++--
 2 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/tests/test_other.py b/tests/test_other.py
index 427665cce3b9c..738d4afe4c103 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -3453,6 +3453,31 @@ def test(name):
       del os.environ['EMCC_FORCE_STDLIBS']
       del os.environ['EMCC_ONLY_FORCED_STDLIBS']
 
+  def test_only_force_stdlibs_2(self):
+    open('src.cpp', 'w').write(r'''
+#include <iostream>
+#include <stdexcept>
+
+int main()
+{
+  try {
+    throw std::exception();
+    std::cout << "got here" << std::endl;
+  }
+  catch (const std::exception& ex) {
+    std::cout << "Caught exception: " << ex.what() << std::endl;
+  }
+}
+''')
+    try:
+      os.environ['EMCC_FORCE_STDLIBS'] = 'libc,libcxxabi,libcxx'
+      os.environ['EMCC_ONLY_FORCED_STDLIBS'] = '1'
+      Popen([PYTHON, EMXX, 'src.cpp']).communicate()
+      self.assertContained('Caught exception: std::exception', run_js('a.out.js', stderr=PIPE))
+    finally:
+      del os.environ['EMCC_FORCE_STDLIBS']
+      del os.environ['EMCC_ONLY_FORCED_STDLIBS']
+
   def test_strftime_zZ(self):
     open('src.cpp', 'w').write(r'''
 #include <cerrno>
diff --git a/tools/system_libs.py b/tools/system_libs.py
index 01b8ec0e40b09..6922727216049 100644
--- a/tools/system_libs.py
+++ b/tools/system_libs.py
@@ -460,8 +460,10 @@ def create_gl():
 
   # Setting this will only use the forced libs in EMCC_FORCE_STDLIBS. This avoids spending time checking
   # for unresolved symbols in your project files, which can speed up linking, but if you do not have
-  # the proper list of actually needed libraries, errors can occur.
-  if os.environ.get('EMCC_ONLY_FORCED_STDLIBS'):
+  # the proper list of actually needed libraries, errors can occur. See below for how we must
+  # export all the symbols in deps_info when using this option.
+  only_forced = os.environ.get('EMCC_ONLY_FORCED_STDLIBS')
+  if only_forced:
     temp_files = []
 
   # Scan symbols
@@ -496,6 +498,14 @@ def add_back_deps(need):
   for symbols in symbolses:
     add_back_deps(symbols)
 
+  # If we are only doing forced stdlibs, then we don't know the actual symbols we need,
+  # and must assume all of deps_info must be exported. Note that this might cause
+  # warnings on exports that do not exist.
+  if only_forced:
+    for key, value in deps_info.iteritems():
+      for dep in value:
+        shared.Settings.EXPORTED_FUNCTIONS.append('_' + dep)
+
   all_needed = set()
   for symbols in symbolses:
     all_needed.update(symbols.undefs)

From 292f6f3593576f2cfa93ec162a3ae1c2449acdc6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com>
Date: Thu, 31 Jul 2014 23:40:47 +0300
Subject: [PATCH 21/30] Fix test_env and test_environ on Windows after previous
 convention change to default shell.js to store argv[0] in forward slashes on
 Windows as well.

---
 tests/test_core.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/test_core.py b/tests/test_core.py
index b879f1b2375a7..98e454155be90 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -4564,8 +4564,8 @@ def test_env(self):
     src = open(path_from_root('tests', 'env', 'src.c'), 'r').read()
     expected = open(path_from_root('tests', 'env', 'output.txt'), 'r').read()
     self.do_run(src, [
-      expected.replace('{{{ THIS_PROGRAM }}}', './this.program'), # spidermonkey, v8
-      expected.replace('{{{ THIS_PROGRAM }}}', os.path.join(os.path.normpath(self.get_dir()), 'src.cpp.o.js')) # node, can find itself properly
+      expected.replace('{{{ THIS_PROGRAM }}}', os.path.join(self.get_dir(), 'src.cpp.o.js').replace('\\', '/')), # node, can find itself properly
+      expected.replace('{{{ THIS_PROGRAM }}}', './this.program') # spidermonkey, v8
     ])
 
   def test_environ(self):
@@ -4573,8 +4573,8 @@ def test_environ(self):
     src = open(path_from_root('tests', 'env', 'src-mini.c'), 'r').read()
     expected = open(path_from_root('tests', 'env', 'output-mini.txt'), 'r').read()
     self.do_run(src, [
-      expected.replace('{{{ THIS_PROGRAM }}}', './this.program'), # spidermonkey, v8
-      expected.replace('{{{ THIS_PROGRAM }}}', os.path.join(os.path.normpath(self.get_dir()), 'src.cpp.o.js')) # node, can find itself properly
+      expected.replace('{{{ THIS_PROGRAM }}}', os.path.join(self.get_dir(), 'src.cpp.o.js').replace('\\', '/')), # node, can find itself properly
+      expected.replace('{{{ THIS_PROGRAM }}}', './this.program') # spidermonkey, v8
     ])
 
   def test_systypes(self):

From 9a02807cac7040455901574f1f3cbb38ddd0b040 Mon Sep 17 00:00:00 2001
From: hamishwillee <hamishwillee@gmail.com>
Date: Fri, 1 Aug 2014 19:24:53 +1000
Subject: [PATCH 22/30] Fixes to downloads/tools stuff. Draft update of File
 system API to use Sphinx code support

---
 .../docs/api_reference/Filesystem-API.rst     | 991 +++++++++---------
 .../source/docs/getting_started/downloads.rst |  40 +-
 site/source/docs/site/glossary.rst            |  35 +-
 .../docs/tools_reference/emcmdprompt.rst      |  23 +
 site/source/docs/tools_reference/emsdk.rst    |  86 +-
 site/source/docs/tools_reference/index.rst    |   3 +-
 6 files changed, 625 insertions(+), 553 deletions(-)
 create mode 100644 site/source/docs/tools_reference/emcmdprompt.rst

diff --git a/site/source/docs/api_reference/Filesystem-API.rst b/site/source/docs/api_reference/Filesystem-API.rst
index e77f45777bca2..bc491fa06e16b 100644
--- a/site/source/docs/api_reference/Filesystem-API.rst
+++ b/site/source/docs/api_reference/Filesystem-API.rst
@@ -5,711 +5,714 @@ Filesystem API (wiki-import)
 ============================
 .. note:: This article was migrated from the wiki (Fri, 25 Jul 2014 04:21) and is now the "master copy" (the version in the wiki will be deleted). It may not be a perfect rendering of the original but we hope to fix that soon!
 
-File I/O in emscripten is provided by the
-`FS <https://github.com/kripken/emscripten/blob/incoming/src/library_fs.js>`__
-library. This same library is used internally for all of emscripten's
-libc and libcxx file I/O.
-
-Emscripten deals predominantly with synchronous file I/O, so the
-majority of the FS member functions offer a synchronous interface, with
-errors being reported by raising exceptions of type ``FS.ErrnorError``.
-
-The file data in emscription is partioned by mounted filesystems, of
-which several are provided to work with. By default, an instance of
-`MEMFS <Files#memfs>`__ is mounted to ``/`` and instances of
-`NODEFS <Files#nodefs>`__ and `IDBFS <Files#idbfs>`__ can be mounted to
-other directories if your application needs to `persist
-data <Files#persistence>`__.
+File I/O in Emscripten is provided by the `FS <https://github.com/kripken/emscripten/blob/incoming/src/library_fs.js>`_ library. This same library is used internally for all of emscripten's libc and libcxx file I/O.
+
+Emscripten deals predominantly with synchronous file I/O, so the majority of the FS member functions offer a synchronous interface, with errors being reported by raising exceptions of type ``FS.ErrnorError``.
+
+The file data in emscription is partioned by mounted filesystems, of which several are provided to work with. By default, an instance of `MEMFS` is mounted to ``/`` and instances of `NODEFS` and `IDBFS` can be mounted to other directories if your application needs to `persist data <Files#persistence>`__.
+
 
 Persistence
------------
+===========
 
-Applications being compiled with emscripten expect synchronous I/O,
-therefore, emscripten itself must provide filesystems with completely
-synchronous interfaces. However, due to JavaScript's event-driven
-nature, most persistent storage options offer only asynchronous
-interfaces.
+Applications being compiled with Emscripten expect synchronous I/O, therefore, Emscripten itself must provide filesystems with completely synchronous interfaces. However, due to JavaScript's event-driven nature, most persistent storage options offer only asynchronous interfaces.
 
-Because of this, emscripten offers multiple filesystems that can be
-mounted with `FS.mount <Files#fsmounttype-opts-mountpoint>`__ to help
-deal with persistence depending on the execution context.
+Because of this, Emscripten offers multiple filesystems that can be mounted with :js:func:`FS.mount` to help deal with persistence depending on the execution context.
 
 MEMFS
-~~~~~
+===========
 
-This is the default filesystem mounted at ``/`` when the runtime is
-initialized. All files exist strictly in-memory, and any data written to
-it is lost when the page is reloaded.
+This is the default filesystem mounted at ``/`` when the runtime is initialized. All files exist strictly in-memory, and any data written to it is lost when the page is reloaded.
 
 NODEFS
-~~~~~~
+===========
 
-NODEFS lets a program in node directly access files on the local
-filesystem, as if the problem were running normally. See `this
-test <https://github.com/kripken/emscripten/blob/master/tests/fs/test_nodefs_rw.c>`__
-for an example.
+NODEFS lets a program in node directly access files on the local filesystem, as if the problem were running normally. See `this test <https://github.com/kripken/emscripten/blob/master/tests/fs/test_nodefs_rw.c>`__ for an example.
 
 Mount options
-^^^^^^^^^^^^^
+-------------
 
 -  root ``string`` Path to persist the data to on the local filesystem.
 
-This filesystem is only for use when running inside of node. It uses
-node's synchronous fs API to immediately persist any data written to
-emscripten's filesystem to your local disk.
+This filesystem is only for use when running inside of node. It uses node's synchronous fs API to immediately persist any data written to emscripten's filesystem to your local disk.
 
 IDBFS
-~~~~~
+=====
 
-This filesystem is only for use when running inside of the browser. Due
-to the browser not offering any synchronous APIs for persistent storage,
-by default all writes exist only temporarily in-memory. However, the
-IDBFS filesystem implements the
-`FS.syncfs <Files#fssyncfspopulate-callback>`__ interface, which once
-called will persist any operations to a backing IndexedDB instance.
+This filesystem is only for use when running inside of the browser. Due to the browser not offering any synchronous APIs for persistent storage, by default all writes exist only temporarily in-memory. However, the IDBFS filesystem implements the :js:func`FS.syncfs` interface, which once called will persist any operations to a backing IndexedDB instance.
 
 Devices
--------
+===========
+
+Emscripten supports registering arbitrary device drivers composed of a device id and a set of unique stream callbacks. Once a driver has been registered with :js:func:`FS.registerDevice`, a device node (acting as an interface between the device and the filesystem) can be created to reference it with :js:func`FS.mkdev`. Any stream referencing the new node will inherit the stream callbacks registered for the device, making all of the high-level FS operations transparently interact with the device.
 
-Emscripten supports registering arbitrary device drivers composed of a
-device id and a set of unique stream callbacks. Once a driver has been
-registered with `FS.registerDevice <#fsregisterdevicedev-ops>`__, a
-device node (acting as an interface between the device and the
-filesystem) can be created to reference it with
-`FS.mkdev <#fsmkdevpath-mode-dev>`__. Any stream referencing the new
-node will inherit the stream callbacks registered for the device, making
-all of the high-level FS operations transparently interact with the
-device.
 
-FS.makedev(ma, mi)
-^^^^^^^^^^^^^^^^^^
 
-Converts a major and minor number into a single unique integer.
+.. js:function:: FS.makedev(ma, mi)
 
-FS.registerDevice(dev, ops)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	Converts a major and minor number into a single unique integer.
+	
+	:param ma: **HamishW**
+	:param mi: **HamishW**
+	:throws **HamishW**:		
 
-Registers a device driver for the specified id / callbacks.
+
+
+.. js:function:: FS.registerDevice(dev, ops)
+
+	Registers a device driver for the specified id / callbacks.
+	
+	:param dev: ``MEMFS`` ``NODEFS`` ``IDBFS``
+	:param object ops: **HamishW**
+	:throws **HamishW**:		
+	
 
 Setting up standard I/O devices
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Emscripten standard I/O works by going though the virtual
-``/dev/stdin``, ``/dev/stdout`` and ``/dev/stderr`` devices. You can set
-them up using your own I/O functions by calling
-``FS.init(input_callback, output_callback, error_callback)`` (all
-arguments optional). Note that all the configuration should be done
-before the main ``run()`` method is executed, typically by implementing
-``Module.preRun``, see :ref:`Interacting-with-code`.
-
--  The input callback will be called with no parameters whenever the
-   program attempts to read from ``stdin``. It should return an ASCII
-   character code when data is available, or ``null`` when it isn't.
--  The output callback will be called with an ASCII character code
-   whenever the program writes to ``stdout``. It may also be called with
-   ``null`` to flush the output.
--  The error callback is similar to the output one, except it is called
-   when data is written to ``stderr``.
-
-If any of the callbacks throws an exception, it will be caught and
-handled as if the device malfunctioned.
+-------------------------------
+
+Emscripten standard I/O works by going though the virtual ``/dev/stdin``, ``/dev/stdout`` and ``/dev/stderr`` devices. You can set them up using your own I/O functions by calling ``FS.init(input_callback, output_callback, error_callback)`` (all arguments optional). Note that all the configuration should be done before the main ``run()`` method is executed, typically by implementing ``Module.preRun``, see :ref:`Interacting-with-code`.
+
+-  The input callback will be called with no parameters whenever the program attempts to read from ``stdin``. It should return an ASCII character code when data is available, or ``null`` when it isn't.
+-  The output callback will be called with an ASCII character code whenever the program writes to ``stdout``. It may also be called with ``null`` to flush the output.
+-  The error callback is similar to the output one, except it is called when data is written to ``stderr``.
+
+If any of the callbacks throws an exception, it will be caught and handled as if the device malfunctioned.
 
 By default:
 
--  ``stdin`` will read from the terminal in command line engines and use
-   ``window.prompt()`` in browsers (in both cases, with line buffering).
--  ``stdout`` will use a ``print`` function if one such is defined,
-   printing to the terminal in command line engines and to the browser
-   console in browsers that have a console (again, line-buffered).
+-  ``stdin`` will read from the terminal in command line engines and use ``window.prompt()`` in browsers (in both cases, with line buffering).
+-  ``stdout`` will use a ``print`` function if one such is defined, printing to the terminal in command line engines and to the browser console in browsers that have a console (again, line-buffered).
 -  ``stderr`` will use the same output function as ``stdout``.
 
+
 Filesystem
-----------
+===========
+
+
+.. js:function:: FS.mount(type, opts, mountpoint)
+
+	Mounts the FS object specified by ``type`` to the directory specified by ``mountpoint``. The ``opts`` objects is specific to each filesystem type.
+
+	:param type: ``MEMFS`` ``NODEFS`` ``IDBFS``
+	:param object opts: **HamishW**
+	:param string mountpoint: **HamishW**	
+	:throws **HamishW**:	
 
-FS.mount(type, opts, mountpoint)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
--  type `MEMFS <Files#memfs>`__ `NODEFS <Files#nodefs>`__
-   `IDBFS <Files#idbfs>`__
--  opts ``object``
--  mountpoint ``string``
 
-Mounts the FS object specified by ``type`` to the directory specified by
-``mountpoint``. The ``opts`` objects is specific to each filesystem
-type.
+.. js:function:: FS.syncfs(populate, callback)
 
-FS.syncfs(populate, callback)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	Responsible for iterating and synchronizing all mounted filesystems in an asynchronous fashion.
 
--  populate ``bool``
+	The ``populate`` flag is used to control the intended direction of the underlying synchronization between Emscripten`s internal data, and the filesystem's persistent data. ``populate=true`` is used for initializing Emscripten's filesystem data with the data from the filesystem's persistent source, and ``populate=false`` is used to save emscripten's filesystem data to the filesystem's persistent source.
 
-Responsible for iterating and synchronizing all mounted filesystems in
-an asynchronous fashion.
+	For example:
 
-The ``populate`` flag is used to control the intended direction of the
-underlying synchronization between emscripten's internal data, and the
-filesystem's persistent data. ``populate=true`` is used for initializing
-emscripten's filesystem data with the data from the filesystem's
-persistent source, and ``populate=false`` is used to save emscripten's
-filesystem data to the filesystem's persistent source.
+	.. code:: javascript
 
-Example
-'''''''
+		function myAppStartup(callback) {
+		  FS.mkdir('/data');
+		  FS.mount(IDBFS, {}, '/data');
 
-.. code:: javascript
+		  FS.syncfs(true, function (err) {
+			// handle callback
+		  });
+		}
 
-    function myAppStartup(callback) {
-      FS.mkdir('/data');
-      FS.mount(IDBFS, {}, '/data');
+		function myAppShutdown(callback) {
+		  FS.syncfs(function (err) {
+			// handle callback
+		  });
+		}
 
-      FS.syncfs(true, function (err) {
-        // handle callback
-      });
-    }
+	An actual test implementing this functionality can be seen at https://github.com/kripken/emscripten/blob/master/tests/fs/test\_idbfs\_sync.c.
 
-    function myAppShutdown(callback) {
-      FS.syncfs(function (err) {
-        // handle callback
-      });
-    }
+	.. note:: Currently, only the `IDBFS`_ filesystem implements the interfaces needed by this. All other filesystems are completely synchronous and don't require synchronization.
 
-An actual test implementing this functionality can be seen at
-https://github.com/kripken/emscripten/blob/master/tests/fs/test\_idbfs\_sync.c.
+	:param bool populate: ``true`` to initialize Emscripten's filesystem data with the data from the filesystem's persistent source, and ``false`` to save emscripten's filesystem data to the filesystem's persistent source.
+	:param callback: **HamishW**
+	:throws **HamishW**:
 
-NOTE: Currently, only the `IDBFS <Files#idbfs>`__ filesystem implements
-the interfaces needed by this. All other filesystems are completely
-synchronous and don't require synchronization.
 
-FS.mkdir(path, mode)
-^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.mkdir(path, mode)
 
--  path ``string``
--  mode ``int`` default = 0777
+	Creates a new directory node in the filesystem. For example:
 
-Creates a new directory node in the filesystem.
+	.. code:: javascript
 
-Example
-'''''''
+		FS.mkdir('/data');
+	
+	:param string path: The path name for the new directory node.
+	:param int mode: **HamishW** Link to mode values. The default is 0777.
+	:throws **HamishW**:
 
-.. code:: javascript
 
-    FS.mkdir('/data');
+.. js:function:: FS.mkdev(path, mode, dev)
 
-FS.mkdev(path, mode, dev)
-^^^^^^^^^^^^^^^^^^^^^^^^^
+	Creates a new device node in the filesystem referencing the device driver registered for ``dev``. For example:
 
--  path ``string``
--  mode ``int`` default = 0777
--  dev ``int``
+	.. code:: javascript
 
-Creates a new device node in the filesystem referencing the device
-driver registered for ``dev``.
+		var id = FS.makedev(64, 0);
+		FS.registerDevice(id, {});
+		FS.mkdev('/dummy', id);
 
-Example
-'''''''
+	:param string path: The path name for the new device node.
+	:param int mode: **HamishW** Link to mode values. The default is 0777.
+	:param int dev: **HamishW**.
+	:throws **HamishW**:
 
-.. code:: javascript
 
-    var id = FS.makedev(64, 0);
-    FS.registerDevice(id, {});
-    FS.mkdev('/dummy', id);
+.. js:function:: FS.symlink(oldpath, newpath)
 
-FS.symlink(oldpath, newpath)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	Creates a symlink node at ``newpath`` linking to ``oldpath``. For example:
 
--  oldpath ``string``
--  newpath ``string``
+	.. code:: javascript
 
-Creates a symlink node at ``newpath`` linking to ``oldpath``.
+		FS.writeFile('file', 'foobar');
+		FS.symlink('file', 'link');
 
-Example
-'''''''
+	:param string oldpath: The path name of the file to link to.
+	:param string newpath: The path to the new symlink node to ``oldpath``.
+	:throws **HamishW**:
 
-.. code:: javascript
 
-    FS.writeFile('file', 'foobar');
-    FS.symlink('file', 'link');
 
-FS.rename(oldpath, newpath)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.rename(oldpath, newpath)
 
--  oldpath ``string``
--  newpath ``string``
+	Renames the node at ``oldpath`` to ``newpath``. For example:
 
-Renames the node at ``oldpath`` to ``newpath``.
+	.. code:: javascript
 
-Example
-'''''''
+		FS.writeFile('file', 'foobar');
+		FS.rename('file', 'newfile');
 
-.. code:: javascript
+	:param string oldpath: The old path name.
+	:param string newpath: The new path name
+	:throws **HamishW**:
+	
 
-    FS.writeFile('file', 'foobar');
-    FS.rename('file', 'newfile');
+.. js:function:: FS.rmdir(path)
 
-FS.rmdir(path)
-^^^^^^^^^^^^^^
+	Removes an empty directory located at ``path``.
 
--  path ``string``
+	Example
 
-Removes an empty directory located at ``path``.
+	.. code:: javascript
 
-Example
-'''''''
+		FS.mkdir('data');
+		FS.rmdir('data');
 
-.. code:: javascript
+	:param string path: Path of the directory to be removed.
+	:throws **HamishW**:	
 
-    FS.mkdir('data');
-    FS.rmdir('data');
 
-FS.unlink(path)
-^^^^^^^^^^^^^^^
+.. js:function:: FS.unlink(path)
 
--  path ``string``
+	Unlinks the node at ``path`` (this was previously called
+	``deleteFile``).
+	
+	.. COMMENT :: **HamishW** What does unlinking actually mean?
+	
+	For example: 
 
-Unlink the node at ``path``. (This was previously called
-``deleteFile``.)
+	.. code:: javascript
 
-Example
-'''''''
+		FS.writeFile('/foobar.txt', 'Hello, world');
+		FS.unlink('/foobar.txt');
 
-.. code:: javascript
+	:param string path: Path of the target node.
+	:throws **HamishW**:
+	
 
-    FS.writeFile('/foobar.txt', 'Hello, world');
-    FS.unlink('/foobar.txt');
+	
+.. js:function:: FS.readlink(path)
 
-FS.readlink(path)
-^^^^^^^^^^^^^^^^^
+	Gets the string value stored in the symbolic link at ``path``. For example: 
 
--  path ``string``
+	.. code:: c
 
-Returns the string value stored in the symbolic link at ``path``.
+		#include <stdio.h>
+		#include <emscripten.h>
 
-Example
-'''''''
+		int main() {
+		  EM_ASM(
+			FS.writeFile('file', 'foobar');
+			FS.symlink('file', 'link');
+			console.log(FS.readlink('link'));
+		  );
+		  return 0;
+		}
 
-.. code:: c
+	outputs
 
-    #include <stdio.h>
-    #include <emscripten.h>
+	::
 
-    int main() {
-      EM_ASM(
-        FS.writeFile('file', 'foobar');
-        FS.symlink('file', 'link');
-        console.log(FS.readlink('link'));
-      );
-      return 0;
-    }
+		file
+	
+	:param string path: Path of the target file.
+	:returns: The string value stored in the symbolic link at ``path``.
+	:throws **HamishW**:	
+	
 
-outputs
 
-::
+.. js:function:: FS.stat(path)
 
-    file
+	Gets a JavaScript object of stats for the node at ``path``. For example:
 
-FS.stat(path)
-^^^^^^^^^^^^^
+	.. code:: c
 
--  path ``string``
+		#include <stdio.h>
+		#include <emscripten.h>
 
-Returns a JavaScript object of stats for the node at ``path``.
+		int main() {
+		  EM_ASM(
+			FS.writeFile('file', 'foobar');
+			console.log(FS.stat('file'));
+		  );
+		  return 0;
+		}
 
-Example
-'''''''
+	outputs
 
-.. code:: c
+	::
 
-    #include <stdio.h>
-    #include <emscripten.h>
+		{
+		  dev: 1,
+		  ino: 13,
+		  mode: 33206,
+		  nlink: 1,
+		  uid: 0,
+		  gid: 0,
+		  rdev: 0,
+		  size: 6,
+		  atime: Mon Nov 25 2013 00:37:27 GMT-0800 (PST),
+		  mtime: Mon Nov 25 2013 00:37:27 GMT-0800 (PST),
+		  ctime: Mon Nov 25 2013 00:37:27 GMT-0800 (PST),
+		  blksize: 4096,
+		  blocks: 1
+		}
 
-    int main() {
-      EM_ASM(
-        FS.writeFile('file', 'foobar');
-        console.log(FS.stat('file'));
-      );
-      return 0;
-    }
+	:param string path: Path of the target file.
+	:throws **HamishW**:	
 
-outputs
 
-::
+.. js:function:: FS.lstat(path)
 
-    {
-      dev: 1,
-      ino: 13,
-      mode: 33206,
-      nlink: 1,
-      uid: 0,
-      gid: 0,
-      rdev: 0,
-      size: 6,
-      atime: Mon Nov 25 2013 00:37:27 GMT-0800 (PST),
-      mtime: Mon Nov 25 2013 00:37:27 GMT-0800 (PST),
-      ctime: Mon Nov 25 2013 00:37:27 GMT-0800 (PST),
-      blksize: 4096,
-      blocks: 1
-    }
+	Identical to :ref:`FS.stat`, However, if ``path`` is a symbolic link then the returned stats will be for the link itself, not the file that it links to.
 
-FS.lstat(path)
-^^^^^^^^^^^^^^
+	:param string path: Path of the target file.
+	:throws **HamishW**:
 
--  path ``string``
 
-Identical to ``FS.stat``, However, if ``path`` is a symbolic link then
-the returned stats will be for the link itself, not the file that it
-links to.
+.. js:function:: FS.chmod(path, mode)
 
-FS.chmod(path, mode)
-^^^^^^^^^^^^^^^^^^^^
+	Change the mode flags for ``path`` to ``mode``. For example:
 
--  path ``string``
--  mode ``int``
+	.. code:: javascript
 
-Change the mode flags for ``path`` to ``mode``.
+		FS.writeFile('forbidden', 'can\'t touch this');
+		FS.chmod('forbidden', 0000);
 
-Example
-'''''''
+	:param string path: Path of the target file.
+	:param int mode: **HamishW**.
+	:throws **HamishW**:
 
-.. code:: javascript
 
-    FS.writeFile('forbidden', 'can\'t touch this');
-    FS.chmod('forbidden', 0000);
 
-FS.lchmod(path, mode)
-^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.lchmod(path, mode)
 
--  path ``string``
--  mode ``int``
+	Identical to :ref:`FS.chmod`. However, if ``path`` is a symbolic link then the mode will be set on the link itself, not the file that it links to.
 
-Identical to ``FS.chmod``. However, if ``path`` is a symbolic link then
-the mode will be set on the link itself, not the file that it links to.
+	:param string path: Path of the target file.
+	:param int mode: **HamishW**.
+	:throws **HamishW**:
 
-FS.fchmod(fd, mode)
-^^^^^^^^^^^^^^^^^^^
 
--  fd ``int``
--  mode ``int``
+.. js:function:: FS.fchmod(fd, mode)
 
-Identical to ``FS.chmod``. However, a raw file decriptor is supplied as
-``fd``.
+	Identical to :ref:`FS.chmod`. However, a raw file descriptor is supplied as ``fd``.
 
-FS.chown(path, uid, gid)
-^^^^^^^^^^^^^^^^^^^^^^^^
+	:param int fd: Descriptor of target file.
+	:param int mode: **HamishW**.
+	:throws **HamishW**:
 
--  path ``string``
--  uid ``int``
--  gid ``int``
 
-Set ``uid`` and ``gid`` properties of the node at ``path``.
 
-FS.lchown(path, uid, gid)
-^^^^^^^^^^^^^^^^^^^^^^^^^
 
--  path ``string``
--  uid ``int``
--  gid ``int``
+.. js:function:: FS.chown(path, uid, gid)
 
-Identical to ``FS.chown``. However, if path is a symbolic link then the
-properties will be set on the link itself, not the file that it links
-to.
+	Set ``uid`` and ``gid`` properties of the node at ``path``.
 
-FS.fchown(fd, uid, gid)
-^^^^^^^^^^^^^^^^^^^^^^^
+	:param string path: Path of the target file.
+	:param int uid: **HamishW**.
+	:param int gid: **HamishW**.
+	:throws **HamishW**:
 
--  fd ``int``
--  uid ``int``
--  gid ``int``
 
-Identical to ``FS.chown``. However, a raw file decriptor is supplied as
-``fd``.
 
-FS.truncate(path, len)
-^^^^^^^^^^^^^^^^^^^^^^
 
--  path ``string``
--  len ``int``
+.. js:function:: FS.lchown(path, uid, gid)
 
-Truncates a file to the specified length.
+	Identical to Identical to :ref:`FS.chown`. However, if path is a symbolic link then the properties will be set on the link itself, not the file that it links to.
 
-Example
-'''''''
+	:param string path: Path of the target file.
+	:param int uid: **HamishW**.
+	:param int gid: **HamishW**.
+	:throws **HamishW**:
 
-.. code:: c
 
-    #include <stdio.h>
-    #include <emscripten.h>
 
-    int main() {
-      EM_ASM(
-        FS.writeFile('file', 'foobar');
-        FS.truncate('file', 3);
-        console.log(FS.readFile('file', { encoding: 'utf8' }));
-      );
-      return 0;
-    }
+.. js:function:: FS.fchown(fd, uid, gid)
 
-outputs
+	Identical to :ref:`FS.chown`. However, a raw file descriptor is supplied as ``fd``.
 
-::
+	:param int fd: Descriptor of target file.
+	:param int uid: **HamishW**.
+	:param int gid: **HamishW**.
+	:throws **HamishW**:
 
-    foo
+	
 
-FS.ftruncate(fd, len)
-^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.truncate(path, len)
 
--  fd ``int``
--  len ``int``
+	Truncates a file to the specified length. For example:
 
-Truncates the file identified by the file descriptor to the specified
-length.
 
-FS.utime(path, atime, mtime)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	.. code:: c
 
--  path ``string``
--  atime ``int``
--  mtime ``int``
+		#include <stdio.h>
+		#include <emscripten.h>
 
-Change the timestamps of the file located at ``path``.
+		int main() {
+		  EM_ASM(
+			FS.writeFile('file', 'foobar');
+			FS.truncate('file', 3);
+			console.log(FS.readFile('file', { encoding: 'utf8' }));
+		  );
+		  return 0;
+		}
 
-FS.open(path, flags, [mode])
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	outputs
 
--  path ``string``
--  flags ``sring``
--  mode ``int`` default = 0666
+	::
 
-Opens a file with the specified flags. ``flags`` can be:
+		foo
+	
+	:param string path: Path of the file to be truncated.
+	:param int len: The truncation length for the file.
+	:throws ERRNO_CODES.EINVAL:
+	:throws ERRNO_CODES.EPERM:
+	:throws ERRNO_CODES.EISDIR:
+	
+	
+	
+.. js:function:: FS.ftruncate(fd, len)
 
--  'r' - Open file for reading.
--  'r+' - Open file for reading and writing.
--  'w' - Open file for writing.
--  'wx' - Like 'w' but fails if path exists.
--  'w+' - Open file for reading and writing. The file is created if it
-   does not exist or truncated if it exists.
--  'wx+' - Like 'w+' but fails if path exists.
--  'a' - Open file for appending. The file is created if it does not
-   exist.
--  'ax' - Like 'a' but fails if path exists.
--  'a+' - Open file for reading and appending. The file is created if it
-   does not exist.
--  'ax+' - Like 'a+' but fails if path exists.
+	Truncates the file identified by the ``fd`` to the specified length (``len``).
 
-``mode`` specifies the permissions for the file, and are only used if
-the file is created.
+	:param int fd: Descriptor of file to be truncated.
+	:param int len: The truncation length for the file.
+	:throws ERRNO_CODES.EBADF:
+	:throws ERRNO_CODES.EINVAL:
+	:throws ERRNO_CODES.EPERM:
+	:throws ERRNO_CODES.EISDIR:
 
-Returns a stream object.
 
-FS.close(stream)
-^^^^^^^^^^^^^^^^
+.. js:function:: FS.utime(path, atime, mtime)
 
--  stream ``object``
+	Change the timestamps of the file located at ``path``. Note that in the current implementation the stored timestamp is a single value, the maximum of ``atime`` and ``mtime``.
+	
+	:param string path: The path of the file to update.
+	:param int atime: The file modify time.
+	:param int mtime: The file access time.
 
-Closes the file stream.
+	.. COMMENT :: **HamishW** what is the format of the time? Seconds since unix/posix start time in 1970?
+	
 
-FS.llseek(stream, offset, whence)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.open(path, flags [, mode])
 
--  stream ``object``
--  offset ``int``
--  whence ``int``
+	Opens a file with the specified flags. ``flags`` can be:
 
-Repositions the offset of the stream ``offset`` bytes, relative to the
-``whence`` parameter.
+	.. _fs-read-and-write-flags:
+	
+	-  'r' - Open file for reading.
+	-  'r+' - Open file for reading and writing.
+	-  'w' - Open file for writing.
+	-  'wx' - Like 'w' but fails if path exists.
+	-  'w+' - Open file for reading and writing. The file is created if it does not exist or truncated if it exists.
+	-  'wx+' - Like 'w+' but fails if path exists.
+	-  'a' - Open file for appending. The file is created if it does not exist.
+	-  'ax' - Like 'a' but fails if path exists.
+	-  'a+' - Open file for reading and appending. The file is created if it does not exist.
+	-  'ax+' - Like 'a+' but fails if path exists.
 
-When can be SEEK\_SET (0), SEEK\_CUR(1) or SEEK\_END(2);
+		
+	:param string path: The path of the file to open.
+	:param string flags: Read and write :ref:`flags <fs-read-and-write-flags>`.
+	:param mode: Permissions for the file. This is only used if the file is created. Default is 0666.
+	:returns: A stream object.	
 
-FS.read(stream, buffer, offset, length, position)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	.. COMMENT:: **HamishW** What mode/settings does 0666 map to? We need a list to possible mode values.
 
--  stream ``object``
--  buffer ``ArrayBufferView``
--  offset ``int``
--  length ``int``
--  position ``int``
+	
 
-Read ``length`` bytes from the stream, storing them into ``buffer``
-starting at ``offset``. By default, reading starts from the stream's
-current offset, however, a specific offset can be specified with the
-``position`` argument.
+.. js:function:: FS.close(stream)
 
-Example
-'''''''
+	Closes the file stream.
+	
+	:param object stream: The stream to be closed.
 
-.. code:: javascript
 
-    var stream = FS.open('abinaryfile', 'r');
-    var buf = new Uint8Array(4);
-    FS.read(stream, buf, 0, 4, 0);
-    FS.close(stream);
 
-FS.write(stream, buffer, offset, length, position)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.llseek(stream, offset, whence)
 
--  stream ``object``
--  buffer ``ArrayBufferView``
--  offset ``int``
--  length ``int``
--  position ``int``
+	Repositions the offset of the stream ``offset`` bytes, relative to the ``whence`` parameter.
 
-Write ``length`` bytes from ``buffer``, starting at ``offset``. By
-default, writing starts from the stream's current offset, however, a
-specific offset can be specified with the ``position`` argument.
+	:param object stream: The stream for which the offset is to be repositioned.
+	:param int offset: The offset (in bytes) relative to ``whence``.
+	:param int whence: SEEK\_SET (0), SEEK\_CUR(1) or SEEK\_END(2);
 
-Example
-'''''''
+	.. COMMENT :: **HamishW** I don't understand the whence parameter. Need to follow up and check test code.
+	
 
-.. code:: javascript
+.. js:function:: FS.read(stream, buffer, offset, length [, position])
 
-    var data = new Uint8Array(32);
-    var stream = FS.open('dummy', 'w+');
-    FS.write(stream, data, 0, data.length, 0);
-    FS.close(stream);
+	Read ``length`` bytes from the stream, storing them into ``buffer`` starting at ``offset``. 
+	
+	By default, reading starts from the stream's current offset, however, a specific offset can be specified with the ``position`` argument. For example:
 
-FS.readFile(path, opts)
-^^^^^^^^^^^^^^^^^^^^^^^
+	.. code:: javascript
 
--  path ``string``
--  opts ``object``
--  flags ``string`` default = 'r'
--  encoding ``string`` default = 'binary'
+		var stream = FS.open('abinaryfile', 'r');
+		var buf = new Uint8Array(4);
+		FS.read(stream, buf, 0, 4, 0);
+		FS.close(stream);
+
+	:param object stream: The stream to read from.
+	:param ArrayBufferView buffer: The buffer to store the read data.
+	:param int offset: The offset within ``buffer`` to store the data.
+	:param int length: The length of data to write in ``buffer``.
+	:param int position: The offset within the stream to read. By default this is the stream's current offset.
+	:throws ERRNO_CODES.EINVAL: Reading from an invalid position or length
+	:throws ERRNO_CODES.EBADF:
+	:throws ERRNO_CODES.ESPIPE:
+	:throws ERRNO_CODES.EISDIR:
+	:throws ERRNO_CODES.EINVAL:
+	
+	
+	
+.. js:function:: FS.write(stream, buffer, offset, length[, position])
+
+	Writes ``length`` bytes from ``buffer``, starting at ``offset``. 
+	
+	By default, writing starts from the stream's current offset, however, a specific offset can be specified with the ``position`` argument. For example:
 
-Slurps the entire file at ``path`` and returns it either as a string, or
-a new Uint8Array buffer (``encoding`` = 'binary').
+	.. code:: javascript
 
-FS.writeFile(path, data, opts)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+		var data = new Uint8Array(32);
+		var stream = FS.open('dummy', 'w+');
+		FS.write(stream, data, 0, data.length, 0);
+		FS.close(stream);
 
--  path ``string``
--  data ``ArrayBufferView``
--  opts ``object``
--  flags ``string`` default = 'w'
--  encoding ``string`` default = 'utf8'
+	:param object stream: The stream to write to.
+	:param ArrayBufferView buffer: The buffer to write.
+	:param int offset: The offset within ``buffer`` to write.
+	:param int length: The length of data to write.
+	:param int position: The offset within the stream to write. By default this is the stream's current offset.
+	:throws ERRNO_CODES.EINVAL: Reading from an invalid position or length
+	:throws ERRNO_CODES.EBADF:
+	:throws ERRNO_CODES.ESPIPE:
+	:throws ERRNO_CODES.EISDIR:
+	:throws ERRNO_CODES.EINVAL:
+	
+	.. COMMENT:: Need to check if Throws should be recorded, and if so, what should be said. **HamishW**
 
-Writes the entire contents of ``data`` to the file at ``path``. ``data``
-is treated either as a string (``encoding`` = 'utf8'), or as an
-ArrayBufferView (``encoding`` = 'binary').
 
-Example
-'''''''
+	
+.. js:function:: FS.readFile(path, opts)
 
-.. code:: javascript
+	Reads the entire file at ``path`` and returns it as a ``string`` (encoding is 'utf8'), or as a new ``Uint8Array`` buffer (encoding is `binary').
 
-    FS.writeFile('file', 'foobar');
-    var contents = FS.readFile('file', { encoding: 'utf8' });
+	:param string path: The file to read.
+	:param object opts:
+	
+		- **encoding** (*string*)
+			Defines the encoding used to return the file contents: 'binary' | 'utf8' . The default is 'binary'		
+		- **flags** (*string*)
+			Read flags, as defined in :js:func:`FS.open`. The default is 'r'.
+			
+	:returns: The file as a ``string`` or ``Uint8Array`` buffer, depending on the encoding.
 
-FS.createLazyFile(parent, name, url, canRead, canWrite)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Creates a file that will be loaded lazily on first access from a given
-URL or local filesystem path, and returns a reference to it. WARNING:
-Firefox and Chrome have recently disabled synchronous binary XHRs, which
-means this cannot work for Javascript in regular HTML pages (but it
-works within WebWorkers).
 
-::
+.. js:function:: FS.writeFile(path, data, opts)
 
-    * `(string|object) parent`: The parent folder, either as a path (e.g. `'/usr/lib'`) or an object previously returned from a `FS.createFolder()` or `FS.createPath()` call.
-    * `string name`: The name of the new file.
-    * `string url`: In the browser, this is the URL whose contents will be returned when this file is accessed. In a command line engine, this will be the local (real) filesystem path from where the contents will be loaded. Note that writes to this file are virtual.
-    * `bool canRead`: Whether the file should have read permissions set from the program's point of view.
-    * `bool canWrite`: Whether the file should have write permissions set from the program's point of view.
+	Writes the entire contents of ``data`` to the file at ``path``. 
+	
+	The value of ``opts`` determines whether ``data`` is treated either as a string (``encoding`` = 'utf8'), or as an ``ArrayBufferView`` (``encoding`` = 'binary'). For example:
 
-Example
-'''''''
+	.. code:: javascript
 
-.. code:: javascript
+		FS.writeFile('file', 'foobar');
+		var contents = FS.readFile('file', { encoding: 'utf8' });
+		
+	:param string path: The file to which to write ``data``.
+	:param ArrayBufferView data: The data to write.
+	:param object opts:
+	
+		- **encoding** (*string*)
+			'binary' | 'utf8' . The default is 'utf8'		
+		- **flags** (*string*)
+			Write flags, as defined in :js:func:`FS.open`. The default is 'w'.
 
-    FS.createLazyFile('/', 'foo', 'other/page.htm', true, false);
-    FS.createLazyFile('/', 'bar', '/get_file.php?name=baz', true, true);
 
-FS.createPreloadedFile(parent, name, url, canRead, canWrite)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	
+.. js:function:: FS.createLazyFile(parent, name, url, canRead, canWrite)
+
+	Creates a file that will be loaded lazily on first access from a given URL or local filesystem path, and returns a reference to it.
+
+	.. warning:: Firefox and Chrome have recently disabled synchronous binary XHRs, which means this cannot work for JavaScript in regular HTML pages (but it works within WebWorkers).
+
+	Example
+
+	.. code:: javascript
+
+		FS.createLazyFile('/', 'foo', 'other/page.htm', true, false);
+		FS.createLazyFile('/', 'bar', '/get_file.php?name=baz', true, true);
+	
+	
+	:param parent: The parent folder, either as a path (e.g. `'/usr/lib'`) or an object previously returned from a `FS.createFolder()` or `FS.createPath()` call.
+	:type parent: string/object
+	:param string name: The name of the new file.
+	:param string url: In the browser, this is the URL whose contents will be returned when this file is accessed. In a command line engine, this will be the local (real) filesystem path from where the contents will be loaded. Note that writes to this file are virtual.
+	:param bool canRead: Whether the file should have read permissions set from the program's point of view.
+	:param bool canWrite: Whether the file should have write permissions set from the program's point of view.
+	:returns: A reference to the new file.
+	:throws ERRNO_CODES.EIO:
+	:throws: if there is an invalid range or URL, or if synchronous binary XHRs have been disabled.
+	
+
+
+.. js:function:: FS.createPreloadedFile(parent, name, url, canRead, canWrite)
+
+	Preloads a file asynchronously. You should call this in ``preRun``, and then ``run()`` will be delayed until all preloaded files are ready. This is how ``--preload-file`` works in *emcc*.
+	
+	:param parent: The parent folder, either as a path (e.g. `'/usr/lib'`) or an object previously returned from a `FS.createFolder()` or `FS.createPath()` call.
+	:type parent: string/object
+	:param string name: The name of the new file.
+	:param string url: In the browser, this is the URL whose contents will be returned when this file is accessed. In a command line engine, this will be the local (real) filesystem path from where the contents will be loaded. Note that writes to this file are virtual.
+	:param bool canRead: Whether the file should have read permissions set from the program's point of view.
+	:param bool canWrite: Whether the file should have write permissions set from the program's point of view.
+
 
-Preloads a file asychronously. You should call this in preRun, and then
-run() will be delayed until all preloaded files are ready. This is how
-``--preload-file`` works in emcc.
 
 File types
-----------
+===========
+
+Emscripten's filesystem supports regular files, directories, symlinks, character devices, block devices and sockets. In a similar manner to most Unix systems, all of these file types are able to be operated on with the higher-level FS operations such as :js:func:`FS.read` :js:func:`FS.write`.
+
+
+.. js:function:: FS.isFile(mode)
+
+	Tests if the ``mode`` bitmask represents a file.
+	
+	
+	:param mode: A bitmask of possible file properties.
+	:returns: ``true`` if the ``mode`` bitmask represents a file.
+	:rtype: bool
+
+
+.. js:function:: FS.isDir(mode)
+
+	Tests if the ``mode`` bitmask represents a directory.
 
-Emscripten's filesystem supports regular files, directories, symlinks,
-character devices, block devices and sockets. In a similar manner to
-most Unix systems, all of these file types are able to be operated on
-with the higher-level FS operations such as
-`FS.read <#fsreadstream-buffer-offset-length-position>`__ and
-`FS.write <#fswritestream-buffer-offset-length-position-canown>`__.
+	:returns: ``true`` if the ``mode`` bitmask represents a directory.
+	:rtype: bool
 
-FS.isFile(node \|\| mode)
-^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Returns true if the mode bitmask represents a file.
 
-FS.isDir(node \|\| mode)
-^^^^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.isLink(mode)
 
-Returns true if the mode bitmask represents a directory.
+	Tests if the ``mode`` bitmask represents a symlink.
 
-FS.isLink(node \|\| mode)
-^^^^^^^^^^^^^^^^^^^^^^^^^
+	:param mode: A bitmask of possible file properties.
+	:returns: ``true`` if the ``mode`` bitmask represents a symlink.
+	:rtype: bool
 
-Returns true if the mode bitmask represents a symlink.
 
-FS.isChrdev(node \|\| mode)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.isChrdev(mode)
 
-Returns true if the mode bitmask represents a character device.
+	Tests if the ``mode`` bitmask represents a character device.
 
-FS.isBlkdev(node \|\| mode)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+	:param mode: A bitmask of possible file properties.	
+	:returns: ``true`` if the ``mode`` bitmask represents a character device.
+	:rtype: bool
 
-Returns true if the mode bitmask represents a block device.
 
-FS.isSocket(node \|\| mode)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. js:function:: FS.isBlkdev(mode)
+
+	Tests if the ``mode`` bitmask represents a block device.
+
+	:param mode: A bitmask of possible file properties.
+	:returns: ``true`` if the ``mode`` bitmask represents a block device.
+	:rtype: bool
+
+
+.. js:function:: FS.isSocket(mode)
+
+	Tests if the ``mode`` bitmask represents a socket.
+
+	:param mode: A bitmask of possible file properties.	
+	:returns: ``true`` if the ``mode`` bitmask represents a socket. 
+	:rtype: bool
 
-Returns true if the mode bitmask represents a socket.
 
 Paths
------
+=======
+
 
-FS.cwd()
-^^^^^^^^
+.. js:function:: FS.cwd()
 
-Return the current working directory.
+	Gets the current working directory.
 
-FS.lookupPath(path, opts)
-^^^^^^^^^^^^^^^^^^^^^^^^^
+	:returns: The current working directory.
+   
+   
 
--  path ``string``
--  opts ``object``
--  parent ``bool`` default = false
--  follow ``bool`` default = false
+.. js:function:: FS.lookupPath(path, opts)
 
-Lookups up the incoming path and returns an object of the format:
+	Lookups up the incoming path and returns an object containing both the resolved path and node. 
+	
+	The ``opts`` allow you to specify whether the object or it's parent component, and whether a symlink or the item it points to are returned. For example: ::
+	
+		var lookup = FS.lookupPath(path, { parent: true });
+	
+	:param string path: The incoming path.
+	:param object opts: Options for the path:
+	
+		- **parent** (*bool*) 
+			If true, stop resolving the path once the next to the last component is reached. 
+			For example, for the path ``/foo/bar`` with ``{ parent: true }``, would return receive back an object representing ``/foo``. The default is ``false``.
+		- **follow** (*bool*)
+			If true, follow the last component if it is a symlink. 
+			For example, consider a symlink ``/foo/symlink`` that links to ``/foo/notes.txt``. if ``{ follow: true }``, an object representing ``/foo/notes.txt`` would be returned. If ``{ follow: false }`` an object representing the symlink file would be returned. The default is ``false``.
 
-::
+	:returns: an object with the the format:
+	
+		.. code-block:: JavaScript
 
-    {
-      path: resolved_path,
-      node: resolved_node
-    }
+			{
+			  path: resolved_path,
+			  node: resolved_node
+			}
+	:throws ERRNO_CODES.ELOOP: Lookup caught in a loop (recursive lookup is too deep or there are too many consecutive symlinks).
 
-The ``parent`` option says to stop resolving the path once the next to
-the last component is reached. For example, for the path ``/foo/bar``
-with ``{ parent: true }``, would return receive back an object
-representing ``/foo``.
 
-The ``follow`` option says whether to follow the last component in the
-case that is is a symlink. To illustrate, let's say there exists a
-symlink ``/foo/symlink`` that links to ``/foo/notes.txt``. If
-``/foo/symlink`` is looked up with ``{ follow: false }`` an object
-representing the symlink file itself would be returned. However if
-``{ follow: true }`` is passed, an object representing
-``/foo/notes.txt`` would be returned.
 
-FS.getPath(node)
-^^^^^^^^^^^^^^^^
+.. js:function:: FS.getPath(node)
 
-Takes in a node object and return the absolute path to it, accounting
-for mounts.
+	Gets the absolute path to ``node``, accounting for mounts.
+	
+	:param node: The current node.
+	:returns: The absolute path to ``node``.
diff --git a/site/source/docs/getting_started/downloads.rst b/site/source/docs/getting_started/downloads.rst
index ff35d25826844..5909d8d36bd58 100644
--- a/site/source/docs/getting_started/downloads.rst
+++ b/site/source/docs/getting_started/downloads.rst
@@ -1,7 +1,7 @@
 .. _sdk-download-and-install:
 
 ======================================================
-Download and install (under-construction) 
+Download and install (ready-for-review) 
 ======================================================
 
 .. note:: The *Emscripten SDK* provides the whole Emscripten toolchain (*Clang*, *Python*, *Node.js* and *Visual Studio* integration) in a single easy-to-install package, with integrated support for :ref:`updating to newer SDKs <updating-the-emscripten-sdk>` as they are released.
@@ -46,9 +46,9 @@ Check the relevant section below for instructions on installing your selected pa
 Windows: Installing using an NSIS installer
 --------------------------------------------
 
-The NSIS installers register the Emscripten SDK as a 'standard' Windows application. To install the SDK, download an NSIS .exe file (see above), double-click on it, and run through the installer to perform the installation. 
+The NSIS installers register the Emscripten SDK as a 'standard' Windows application. To install the SDK, download an NSIS .exe file, double-click on it, and run through the installer to perform the installation. 
 
-After the installer finishes, the full Emscripten toolchain will be available in the directory that was chosen during the installation, and no other steps are necessary. If your system has Visual Studio 2010 installed, the :term:`vs-tool` MSBuild plugin will be automatically installed as well.
+After the installer finishes, the full Emscripten toolchain will be available in the directory that was chosen during the installation, and no other steps are necessary. If your system has *Visual Studio 2010* installed, the :term:`vs-tool` MSBuild plugin will be automatically installed as well.
 
 
 .. _all-os-installation_instructions-portable-SDK:
@@ -56,12 +56,12 @@ After the installer finishes, the full Emscripten toolchain will be available in
 Windows, OSX and Linux: Installing the Portable SDK
 ----------------------------------------------------
 
-The Portable Emscripten SDK is a no-installer version of the SDK package. It is identical to the NSIS (web) installer, except that it does not interact with the Windows registry. This allows Emscripten to be used on a computer without administrative privileges, and means that the installation to be migrated from one location (directory or computer) to another by simply copying/zipping up the directory contents.
+The *Portable Emscripten SDK* is a no-installer version of the SDK package. It is identical to the NSIS installer, except that it does not interact with the Windows registry. This allows Emscripten to be used on a computer without administrative privileges, and means that the installation to be migrated from one location (directory or computer) to another by simply copying/zipping up the directory contents.
 
-If you want to use the Portable Emscripten SDK, the initial setup process is as follows:
+If you want to use the *Portable Emscripten SDK*, the initial setup process is as follows:
 
-1. Download and unzip the portable SDK package to a directory of your choice (see above). This directory will contain the Emscripten SDK.
-#. Open a command prompt to the directory of the SDK and run the following :ref:`emsdk <emsdk>` commands to get the latest SDK tools and set them as :term:`active <Active Tool/SDK>`. Note that on Mac OS X, invoke the tool with **./emsdk** isntead of **emsdk**.: ::
+1. Download and unzip the portable SDK package to a directory of your choice. This directory will contain the Emscripten SDK.
+#. Open a command prompt to the directory of the SDK and run the following :ref:`emsdk <emsdk>` commands to get the latest SDK tools and set them as :term:`active <Active Tool/SDK>`. Note that on Mac OS X, invoke the tool with **./emsdk** instead of **emsdk**: ::
 
 	# Fetch the latest registry of available tools.
 	emsdk update
@@ -85,7 +85,7 @@ Platform-specific notes
 Mac OS X
 ++++++++
 
-- *Git* is not installed automatically. Git is only needed if you want to use one of the development branches **emscripten-incoming** or **emscripten-master** directly, instead of the fixed releases. To install git on OSX:
+- *Git* is not installed automatically. Git is only needed if you want to use tools from one of the development branches **emscripten-incoming** or **emscripten-master** directly. To install git on OSX:
    
 	1. Install XCode and the XCode Command Line Tools. This will provide *git* to the system PATH. For more help on this step, see `this stackoverflow post <http://stackoverflow.com/questions/9329243/xcode-4-4-command-line-tools>`_.
 	2. Install git directly from http://git-scm.com/.
@@ -101,11 +101,11 @@ Mac OS X
 Linux
 ++++++++
 
-.. note:: Pre-built binaries of tools are not available on Linux. Installing a tool will automatically clone and build that tool from the sources inside **emsdk** directory. Emsdk does not interact with Linux package managers on the behalf of the user, nor does it install any tools to the system. All file changes are done inside the ``emsdk/`` directory.
+.. note:: Pre-built binaries of tools are not available on Linux. Installing a tool will automatically clone and build that tool from the sources inside **emsdk** directory. *Emsdk* does not interact with Linux package managers on the behalf of the user, nor does it install any tools to the system. All file changes are done inside the **emsdk/** directory.
 
 - The system must have a working compiler environment available (because *emsdk* builds software from the source). 
 - *Python*, *node.js* or *Java* are not provided by *emsdk*. The user is expected to install these beforehand with the *system package manager*.
-- *Git* is not installed automatically. Git is only needed if you want to use one of the development branches **emscripten-incoming** or **emscripten-master** directly, instead of the fixed releases. 
+- *Git* is not installed automatically. Git is only needed if you want to use tools from one of the development branches **emscripten-incoming** or **emscripten-master**. 
 
 .. todo:: **HamishW** Add instructions for installing Git on Linux.
 
@@ -115,15 +115,21 @@ Linux
 Updating the SDK
 ================
 
-You only need to install the SDK once! After that you can update to the latest SDK at any time using :ref:`SDK Package Manager (emsdk) <emsdk>`. Type the following (omitting comments) on the *Emscripten Command Prompt*: ::
+.. tip:: You only need to install the SDK once! After that you can update to the latest SDK at any time using :ref:`SDK Package Manager (emsdk) <emsdk>`. 
 
-	emsdk update 		// Fetch the latest registry of available tools.
-	emsdk install latest 	// Download and install the latest SDK tools.
-	emsdk activate latest	// Set up the compiler configuration to point to the "latest" SDK.
+Type the following (omitting comments) on the :ref:`Emscripten Command Prompt <emcmdprompt>`: ::
+
+	# Fetch the latest registry of available tools.
+	emsdk update
+	# Download and install the latest SDK tools.
+	emsdk install latest
+	# Set up the compiler configuration to point to the "latest" SDK.
+	emsdk activate latest
 
 The package manager can do many other maintenance tasks, ranging from fetching specific old versions of the SDK through to using the :ref:`versions of the tools on Github <emsdk-master-or-incoming-sdk>` (or even your own fork). Check out all the possibilities in the :ref:`emsdk_howto`.
 
-	
+.. _downloads-uninstall-the-sdk:
+
 Uninstalling the Emscripten SDK
 ========================================================
 
@@ -139,9 +145,9 @@ It is also possible to :ref:`remove specific SDKs using emsdk <emsdk-remove-tool
 Archived releases
 =================
  
-You can always install old SDK and compiler toolchains via the latest emsdk. If you need to fall back to an old version, download the Portable SDK version and use that to install a previous version of a tool. All old tool versions are available by typing `emsdk list --old`.
+You can always install old SDK and compiler toolchains via the latest :ref:`emsdk <emsdk-get-latest-sdk>`. If you need to fall back to an old version, download the Portable SDK version and use that to install a previous version of a tool. All old tool versions are available by typing ``emsdk list --old``.
 
-On Windows, you can install one of the **old versions** via an offline NSIS installer:
+On Windows, you can also install one of the **old versions** via an offline NSIS installer:
 
 - `emsdk-1.16.0-full-64bit.exe <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.16.0-full-64bit.exe>`_ (first stable fastcomp release) 
 - `emsdk-1.13.0-full-32bit.exe <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.13.0-full-64bit.exe>`_ (a unstable first fastcomp release with Clang 3.3)
diff --git a/site/source/docs/site/glossary.rst b/site/source/docs/site/glossary.rst
index 5fedc100640fa..6d0b0a3b69c88 100644
--- a/site/source/docs/site/glossary.rst
+++ b/site/source/docs/site/glossary.rst
@@ -8,8 +8,41 @@ Glossary (under-construction)
 	:sorted:
 
 	vs-tool
-		Visual Studio 2010 plugin to integrate MinGW, Clang and Emscripten to the VS IDE.  Automatically added by the Emscripten SDK NSIS Installer if Visual Studio 2010 is present on the target system.
+		Visual Studio 2010 plugin to integrate MinGW, Clang and Emscripten to the VS IDE.  Automatically added by the Emscripten SDK NSIS Installer if Visual Studio 2010 is present on the target system. Note, at time of writing this only supports Visual Studio 2010.
+
+
+.. todo:: **HamishW** Is there a link we can put for the version support? Should remove the "Note, at time of writing" when fixed.
+
+
+SDK Terms
+=========
+
+The following terms are used when referring to the SDK and :ref:`emsdk`:
+
+.. glossary::
+
+	emsdk
+		The :ref:`emsdk <emsdk>` management script is used to control which SDK and tools are present and :term:`active <Active Tool/SDK>` on an installation. Most operations are of the form ``emsdk command``. To access the *emsdk* script, launch the *Emscripten Command Prompt*.
+
+	Tool
+		The basic unit of software bundled in the :term:`SDK`. A Tool has a name and a version. For example, **clang-3.2-32bit** is a tool that contains the 32-bit version of the *Clang* v3.2 compiler. Other tools include *Emscripten*, *Java*, *Git*, *Node*, etc.
+		
+	SDK
+		A set of :term:`tools <Tool>`. For example, **sdk-1.5.6-32bit** is an SDK consisting of the tools: clang-3.2-32bit, node-0.10.17-32bit, python-2.7.5.1-32bit and emscripten-1.5.6. 
+		
+		There are a number of different packages of the Emscripten SDKs including the :term:`Portable Emscripten SDK` and :term:`Windows NSIS Installer Emscripten SDK`. SDKs can be downloaded from :ref:`here <sdk-download-and-install>`.
+		
+	Active Tool/SDK
+		The :term:`emsdk` can store multiple versions of :term:`tools <Tool>` and :term:`SDKs <SDK>`. The active tools/SDK is the set of tools that are used by default on the *Emscripten Command Prompt*. This compiler configuration is stored in a user-specific persistent file (**~/.emscripten**) and can be changed using *emsdk*.
 		
+	Portable Emscripten SDK
+		A portable, no-installer, version of the SDK package. It is identical to the :term:`NSIS SDK installer <Windows NSIS Installer Emscripten SDK>`, except that it does not interact with the Windows registry. This allows Emscripten to be used on a computer without administrative privileges, and means that the installation to be migrated from one location (directory or computer) to another by simply copying/zipping up the directory contents.
+		
+	Windows NSIS Installer Emscripten SDK
+		A Windows NSIS installer of the Emscripten SDK. This registers the Emscripten SDK as a ‘standard’ Windows application. allow it to be installed and removed from Windows like any other app.
+		
+
+
 		
 		
 Site / Sphinx
diff --git a/site/source/docs/tools_reference/emcmdprompt.rst b/site/source/docs/tools_reference/emcmdprompt.rst
new file mode 100644
index 0000000000000..5a0573436418b
--- /dev/null
+++ b/site/source/docs/tools_reference/emcmdprompt.rst
@@ -0,0 +1,23 @@
+.. _emcmdprompt:
+
+===================================================================
+Emscripten Command Prompt (emcmdprompt.bat) (ready-for-review)
+===================================================================
+
+
+Purpose
+============================================
+
+The *Emscripten Command Prompt* is a Windows command prompt which has been configured with the current :term:`active <Active Tool/SDK>` settings for Emscripten development. 
+
+The prompt is launched by executing **emcmdprompt.bat** using the normal Windows mechanisms (for example, type "Emscripten" in the Windows 8 start screen and then open, double-clicking in Windows Explorer, etc.).
+
+
+Command line syntax
+============================================
+
+The tool is not intended to be run from the command line.
+
+
+
+
diff --git a/site/source/docs/tools_reference/emsdk.rst b/site/source/docs/tools_reference/emsdk.rst
index bcf2fe510c347..466848c1f09bf 100644
--- a/site/source/docs/tools_reference/emsdk.rst
+++ b/site/source/docs/tools_reference/emsdk.rst
@@ -1,15 +1,15 @@
 .. _emsdk:
 
-=====================================
-emsdk - Emscripten SDK Manager
-=====================================
+=====================================================
+Emscripten SDK Manager (emsdk) (ready-for-review)
+=====================================================
 
 **The Emscripten SDK management script (** ``emsdk`` **) is used to perform all SDK maintenance. You only need to "install" the SDK once; after that emsdk can do all further updates!**
 
 Purpose
 ============================================
 
-With ``emsdk`` you can download, install or remove *any* SDK or Tool, ranging from the very first, through to the bleeding edge updates still on Github. Most operations are of the form ``emsdk command``. To access the *emsdk*, launch the *Emscripten Command Prompt*.
+With *emsdk* you can download, install or remove *any* :term:`SDK` or :term:`Tool`, ranging from the very first, through to the :ref:`bleeding edge updates <emsdk-master-or-incoming-sdk>` still on Github. Most operations are of the form ``emsdk command``. To access the *emsdk*, launch the :ref:`Emscripten Command Prompt <emcmdprompt>`.
 
 This document provides the command syntax, and a :ref:`set of guides <emsdk_howto>` explaining how to perform both common and advanced maintenance operations.
 
@@ -19,11 +19,6 @@ Command line syntax
 
 **emsdk** [**help** [**--old**] | **list** | **update** | **install** *<tool/sdk>* | **uninstall** *<tool/sdk>* | **activate** *<tool/sdk>*]
 
-or
-
-**emcmdprompt.bat**
-
-.. note:: For Mac OSX the commands are called with  **./emsdk**  and **./emcmdprompt.bat** respectively.
 
 Arguments
 ---------
@@ -49,14 +44,17 @@ Arguments
    * - ``help``
      - Lists all supported commands. The same list is output if no command is specified.	 
 
-**emcmdprompt.bat** doesn't take any arguments. It spawns a new command prompt window with the Emscripten environment active.
+.. note:: For Mac OSX the commands are called with  **./emsdk**  and **./emcmdprompt.bat** respectively.
+
+Note that **emcmdprompt.bat** is also displayed as an option in the ``emsdk help``. This is not intended to be called through the command line. See :ref:`emcmdprompt` for more information.
+
 
 .. _emsdk-specified-tool-sdk:
 
 Tools and SDK targets
 ------------------------
 	 
-The ``<tool/sdk>`` given above is one of the targets listed using ``emsdk list`` (or ``emsdk list --old``). 
+The ``<tool/sdk>`` given above as a command argument is one of the targets listed using ``emsdk list`` (or ``emsdk list --old``). 
 
 Note that some of the tools and SDK names include  *master* or *incoming*: these targets are used to clone and pull the very latest versions from the Emscripten incoming and master branches.
 
@@ -69,26 +67,9 @@ Finally, you can specify a target of ``latest`` to grab the most current SDK.
 SDK manager concepts
 ==============================
 
-The *emsdk* can fetch the different versions of all the tools and SDKs. These are put into different directories under the main SDK installation folder, grouped by tool and version. 
-
-A user-specific file (**~/.emscripten**) stores the "compiler configuration"; this configuration defines the specific set of tools that are :term:`active <Active Tool/SDK>`, and will be used by default if Emscripten in called on the **Emscripten Command Prompt*.
-
-The following terms are used when referring to the SDK and tool manager:
-
-.. glossary::
-
-	Tool
-		The basic unit of software bundled in the SDK. A Tool has a name and a version. For example, 'clang-3.2-32bit' is a Tool that contains the 32-bit version of the *Clang* v3.2 compiler. Other tools include *Emscripten*, *Java*, *Git*, *Node*, etc.
-		
-	SDK
-		A set of :term:`tools <Tool>`. For example, 'sdk-1.5.6-32bit' is an SDK consisting of the tools: clang-3.2-32bit, node-0.10.17-32bit, python-2.7.5.1-32bit and emscripten-1.5.6.
-		
-	Active Tool/SDK
-		The SDK can store multiple versions of tools and SDKs. The active tools/SDK is the set of tools that are used by default on the *Emscripten Command Prompt*. This compiler configuration is stored in a user-specific persistent file (**~/.emscripten**) and can be changed using *emsdk*.
-		
-	emsdk
-		This is the name of the manager script that Emscripten SDK is accessed through. Most operations are of the form ``emsdk command``. To access the *emsdk* script, launch the *Emscripten Command Prompt*.
+The SDK contains a number of different :term:`tools <Tool>`, including *Clang*, *Emscripten*, *Java*, *Git*, *Node*, etc. The *emsdk* can fetch the different versions of all these tools and also specific SDKs. These are put into different directories under the main SDK installation folder, grouped by tool and version. 
 
+A user-specific file (**~/.emscripten**) stores the active "compiler configuration"; the :term:`active <Active Tool/SDK>` configuration is the specific set of tools that are used by default if Emscripten in called on the :ref:`Emscripten Command Prompt <emcmdprompt>`. Users can call *emsdk* with the ``activate`` argument to make a specific tool or SDK active.
 
 
 .. _emsdk_howto:
@@ -98,16 +79,23 @@ The following terms are used when referring to the SDK and tool manager:
 
 The following topics explain how to perform both common and advanced maintenance operations, ranging from installing the latest SDK through to installing your own fork from Github.
 
+.. note:: The examples below show the commands for Windows and Linux. The commands are the same on Mac OSX, but you need to replace **emsdk** with **./emsdk**.
+
+.. _emsdk-get-latest-sdk:
 
 How do I just get the latest SDK?
 ------------------------------------------------------------------------------------------------
 Use the ``update`` argument to fetch the current registry of available tools, and then the ``latest`` target to get the most recent SDK: ::
 
-	emsdk update 		// Fetch the latest registry of available tools.
-	emsdk install latest 	// Download and install the latest SDK tools.
-	emsdk activate latest	// Set up the compiler configuration to point to the "latest" SDK.
+	# Fetch the latest registry of available tools.
+	emsdk update
+
+	# Download and install the latest SDK tools.
+	emsdk install latest
+	
+	# Set up the compiler configuration to point to the "latest" SDK.
+	emsdk activate latest	
 
-Note that the commands are the same on Mac OSX, but you need to replace **emsdk** with **./emsdk**.
 
 
 How do I use emsdk?
@@ -120,6 +108,7 @@ How do I check which versions of the SDK and tools are installed?
 ------------------------------------------------------------------------------------------------
 
 To get a list of all currently installed tools and SDK versions (and all available tools) run: ::
+
 	emsdk list
 
 A line will be printed for each tool/SDK that is available for installation. The text ``INSTALLED`` will be shown for each tool that has already been installed. If a tool/SDK is currently active, a star (\*) will be shown next to it. 
@@ -138,9 +127,14 @@ Use the ``install`` argument to download and install a new tool or an SDK versio
 How do I remove a tool or an SDK?
 ----------------------------------------------------------------
 
-Use the ``uninstall`` argument to delete the given tool or SDK from the local computer: ::
+Use the ``uninstall`` argument to delete a given tool or SDK from the local computer: ::
 
 	emsdk uninstall <tool/sdk name>
+	
+
+See :ref:`downloads-uninstall-the-sdk` if you need to completely remove Emscripten from your system. 
+
+
 
 	
 How do I check for updates to the Emscripten SDK?
@@ -148,8 +142,11 @@ How do I check for updates to the Emscripten SDK?
 
 First use the ``update`` command to fetch package information for all new tools and SDK versions. Then use ``install <tool/sdk name>`` to install a new version: ::
 
-	emsdk update			// Fetch the latest registry of available tools.
-	emsdk install <tool/sdk name> 	// Download and install the specified new version.
+	# Fetch the latest registry of available tools.
+	emsdk update
+	
+	# Download and install the specified new version.
+	emsdk install <tool/sdk name> 	
 
 
 How do I change the currently active SDK version?
@@ -163,13 +160,15 @@ Toggle between different tools and SDK versions using the :term:`activate <Activ
 How do I install an old Emscripten compiler version?
 ----------------------------------------------------------------
 
-*Emsdk* contains a history of old compiler versions that you can use to maintain your migration path. Use the ``list --old`` argument to get a list of archived tool and SDK versions, and ``emsdk install <name_of_tool>`` to install it: ::
+*Emsdk* contains a history of old compiler versions that you can use to maintain your migration path. Use the ``list --old`` argument to get a list of archived tool and SDK versions, and ``install <name_of_tool>`` to install it: ::
 
 	emsdk list --old
 	emsdk install <name_of_tool>
 	
 On Windows, you can directly install an old SDK version by using one of the :ref:`archived offline NSIS installers <archived-nsis-windows-sdk-releases>`. 
-	
+
+
+
 .. _emsdk-master-or-incoming-sdk:
 
 How do I track the latest Emscripten development with the SDK?
@@ -192,6 +191,15 @@ To switch to using the latest upstream git development branch ``incoming``, run
 
 If you want to use the upstream stable branch ``master``, then replace ``-incoming-`` with ``-master-`` above.
 
+.. note:: On Windows, *git* may fail with the error message: 
+
+	::
+
+		Unable to find remote helper for 'https' when cloning a repository with https:// url. 
+		
+	The workaround is to uninstall git from *emsdk* (``emsdk uninstall git-1.8.3``)  and install `Git for Windows <http://msysgit.github.io>`_. This issue is reported `here <https://github.com/juj/emsdk/issues/13>`_.
+	
+.. todo:: **HamishW** Check whether the bug (https://github.com/juj/emsdk/issues/13) is fixed and remove the above note if it is.
 
 	
 How do I use my own Emscripten Github fork with the SDK?
diff --git a/site/source/docs/tools_reference/index.rst b/site/source/docs/tools_reference/index.rst
index 2e33782ff19ba..9c871ad1d946f 100644
--- a/site/source/docs/tools_reference/index.rst
+++ b/site/source/docs/tools_reference/index.rst
@@ -11,6 +11,5 @@ This section provides reference for the main :term:`tools <Tool>` in the Emscrip
    :maxdepth: 1
    
    emsdk
-
-
+   emcmdprompt
 

From 3d9e1e8e1bae78e65a020dc9572e69e878fc2597 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Fri, 1 Aug 2014 21:49:21 -0700
Subject: [PATCH 23/30] pass through null pointers and null types in
 cxa_catch_exception; fixes #2616

---
 src/library.js                         |  10 +-
 tests/core/test_exceptions_convert.cpp | 132 +++++++++++++++++++++++++
 tests/core/test_exceptions_convert.txt |   3 +
 tests/test_core.py                     |   7 ++
 4 files changed, 150 insertions(+), 2 deletions(-)
 create mode 100644 tests/core/test_exceptions_convert.cpp
 create mode 100644 tests/core/test_exceptions_convert.txt

diff --git a/src/library.js b/src/library.js
index 6c84e590a38fe..f9fa21c55a90e 100644
--- a/src/library.js
+++ b/src/library.js
@@ -4006,11 +4006,17 @@ LibraryManager.library = {
   __cxa_find_matching_catch__deps: ['__resumeException', '__cxa_last_thrown_exception', '__cxa_exception_header_size'],
   __cxa_find_matching_catch: function(thrown, throwntype) {
     if (thrown == -1) thrown = ___cxa_last_thrown_exception;
+    if (!thrown) {
+      // just pass through the null ptr
+      {{{ makeStructuralReturn([0, 0]) }}};
+    }
     var header = thrown - ___cxa_exception_header_size;
     if (throwntype == -1) throwntype = {{{ makeGetValue('header', 0, 'void*') }}};
     var typeArray = Array.prototype.slice.call(arguments, 2);
-
-    assert(throwntype);
+    if (!throwntype) {
+      // just pass through the thrown ptr
+      {{{ makeStructuralReturn(['thrown', 0]) }}};
+    }
 
     var pointer = Module['___cxa_is_pointer_type'](throwntype);
     // can_catch receives a **, add indirection
diff --git a/tests/core/test_exceptions_convert.cpp b/tests/core/test_exceptions_convert.cpp
new file mode 100644
index 0000000000000..08938ef5c9e05
--- /dev/null
+++ b/tests/core/test_exceptions_convert.cpp
@@ -0,0 +1,132 @@
+#include <ios>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+
+namespace
+{
+  struct TestEnum
+  {
+    enum type
+    {
+      Zero,
+      One
+    };
+  };
+
+  // An input operator a-la-boost date_time.  This input operator will catch
+  // anything and rethrow if the exception mask for the input stream is set to
+  // throw on failure.
+  std::istream& operator>>(std::istream& in, TestEnum::type& value)
+  {
+    try {
+      std::string raw;
+      if (not (in >> raw)) { return in; }
+      if (raw == "Zero")  { value = TestEnum::Zero; return in; }
+      if (raw == "One")   { value = TestEnum::One; return in; }
+
+      // The boost input operator uses it's own facet for input which can
+      // throw, so we simulate something failing by just throwing an exception
+      // directly.
+      throw std::exception();
+    }
+    catch (...) {
+      const std::ios_base::iostate exception_mask = in.exceptions();
+      if (std::ios_base::failbit & exception_mask) {
+        try { in.setstate(std::ios_base::failbit); }
+        catch(std::ios_base::failure&) {}
+        throw; // rethrow original exception
+      }
+      else {
+        in.setstate(std::ios_base::failbit);
+      }
+    }
+    return in;
+  }
+}
+
+int main()
+{
+  try {
+    // Show that the input operator works.
+    std::istringstream iss("One");
+    TestEnum::type value = TestEnum::Zero;
+
+    // We expect this to work.
+    iss >> value;
+    if (iss.fail()) {
+      std::cout
+        << "Failed to convert 'One' to TestEnum::type... fail"
+        << std::endl;
+    }
+    else {
+      std::cout
+        << "Successfully converted 'One' to TestEnum::type: " << value
+        << "... ok" << std::endl;
+    }
+  }
+  catch (...) {
+    std::cout
+      << "Unknown exception caught converting 'One' to TestEnum... fail"
+      << std::endl;
+  }
+
+  try {
+    // Show that invalid input set the fail bit on the input stream and no
+    // exception is thrown, since we did not enable them on the stream.
+    std::istringstream iss("Two");
+    TestEnum::type value = TestEnum::Zero;
+
+    // We expect this to fail.
+    iss >> value;
+    if (iss.fail()) {
+      std::cout
+        << "Failed to convert 'Two' to TestEnum::type... ok"
+        << std::endl;
+    }
+    else {
+      std::cout
+        << "Successfully converted 'Two' to TestEnum::type: " << value
+        << "... fail" << std::endl;
+    }
+  }
+  catch (...) {
+    std::cout
+      << "Unknown exception caught converting 'Two' to TestEnum... fail"
+      << std::endl;
+  }
+
+  try {
+    // Show that setting the input stream to throw on failure currently
+    // results in a JS exception being emitted.
+    std::istringstream iss("Three");
+    TestEnum::type value = TestEnum::Zero;
+
+    // Tell the stream to throw on failure.
+    iss.exceptions(std::ios_base::failbit);
+
+    // We expect this to fail.
+    iss >> value;
+    if (iss.fail()) {
+      std::cout
+        << "No exception thrown; Failed to convert 'Three' to TestEnum::type..."
+        "fail" << std::endl;
+    }
+    else {
+      std::cout
+        << "Successfully converted 'Three' to TestEnum::type: " << value
+        << "... fail" << std::endl;
+    }
+  }
+  catch(const std::ios_base::failure& ex) {
+    std::cout << "Caught exception: " << ex.what() << "... ok" << std::endl;
+  }
+  catch (...) {
+    std::cout
+      << "Unknown exception caught converting 'Three' to TestEnum... fail"
+      << std::endl;
+  }
+
+  return 0;
+}
+
diff --git a/tests/core/test_exceptions_convert.txt b/tests/core/test_exceptions_convert.txt
new file mode 100644
index 0000000000000..fca657ce4e8c1
--- /dev/null
+++ b/tests/core/test_exceptions_convert.txt
@@ -0,0 +1,3 @@
+Successfully converted 'One' to TestEnum::type: 1... ok
+Failed to convert 'Two' to TestEnum::type... ok
+Unknown exception caught converting 'Three' to TestEnum... fail
diff --git a/tests/test_core.py b/tests/test_core.py
index 98e454155be90..8542428500681 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -1478,6 +1478,13 @@ def test_exceptions_virtual_inheritance(self):
 
     self.do_run_from_file(src, output)
 
+  def test_exceptions_convert(self):
+    if os.environ.get('EMCC_FAST_COMPILER') == '0': return self.skip('needs fastcomp')
+    Settings.DISABLE_EXCEPTION_CATCHING = 0
+    test_path = path_from_root('tests', 'core', 'test_exceptions_convert')
+    src, output = (test_path + s for s in ('.cpp', '.txt'))
+    self.do_run_from_file(src, output)
+
   def test_exceptions_multi(self):
     Settings.DISABLE_EXCEPTION_CATCHING = 0
     test_path = path_from_root('tests', 'core', 'test_exceptions_multi')

From e4045d174384c15375fd4c26a0475700fef6ae49 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Sat, 2 Aug 2014 10:53:26 -0700
Subject: [PATCH 24/30] remove unnecessary first two arguments to
 cxa_find_matching_catch

---
 src/jsifier.js | 2 +-
 src/library.js | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/jsifier.js b/src/jsifier.js
index 1f6440dd150c2..c8714380dfdd7 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -1308,7 +1308,7 @@ function JSify(data, functionsOnly) {
       return ret;
     }
     var catchTypeArray = item.catchables.map(finalizeLLVMParameter).map(function(element) { return asmCoercion(element, 'i32') }).join(',');
-    var ret = asmCoercion('___cxa_find_matching_catch(-1, -1' + (catchTypeArray.length > 0 ? ',' + catchTypeArray : '') +')', 'i32');
+    var ret = asmCoercion('___cxa_find_matching_catch(' + catchTypeArray +')', 'i32');
     if (USE_TYPED_ARRAYS == 2) {
       ret = makeVarDef(item.assignTo) + '$0 = ' + ret + '; ' + makeVarDef(item.assignTo) + '$1 = tempRet0;';
       item.assignTo = null;
diff --git a/src/library.js b/src/library.js
index f9fa21c55a90e..40d7e0648b003 100644
--- a/src/library.js
+++ b/src/library.js
@@ -4004,19 +4004,19 @@ LibraryManager.library = {
   // We'll do that here, instead, to keep things simpler.
 
   __cxa_find_matching_catch__deps: ['__resumeException', '__cxa_last_thrown_exception', '__cxa_exception_header_size'],
-  __cxa_find_matching_catch: function(thrown, throwntype) {
-    if (thrown == -1) thrown = ___cxa_last_thrown_exception;
+  __cxa_find_matching_catch: function() {
+    var thrown = ___cxa_last_thrown_exception;
     if (!thrown) {
       // just pass through the null ptr
       {{{ makeStructuralReturn([0, 0]) }}};
     }
     var header = thrown - ___cxa_exception_header_size;
-    if (throwntype == -1) throwntype = {{{ makeGetValue('header', 0, 'void*') }}};
-    var typeArray = Array.prototype.slice.call(arguments, 2);
+    var throwntype = {{{ makeGetValue('header', 0, 'void*') }}};
     if (!throwntype) {
       // just pass through the thrown ptr
       {{{ makeStructuralReturn(['thrown', 0]) }}};
     }
+    var typeArray = Array.prototype.slice.call(arguments);
 
     var pointer = Module['___cxa_is_pointer_type'](throwntype);
     // can_catch receives a **, add indirection

From 2f3f0081414b411aa8edfe34185eb4425d533cf8 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Sat, 2 Aug 2014 11:23:42 -0700
Subject: [PATCH 25/30] stop execution even when waiting to exit in node; #2615

---
 src/postamble.js | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/postamble.js b/src/postamble.js
index 7fd4eb1951505..a2ce89947308a 100644
--- a/src/postamble.js
+++ b/src/postamble.js
@@ -190,10 +190,9 @@ function exit(status) {
     }, 500);
   } else if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') {
     quit(status);
-  } else {
-    // no proper way to exit with a return code, throw an exception to halt the current execution
-    throw new ExitStatus(status);
   }
+  // if we reach here, we must throw an exception to halt the current execution
+  throw new ExitStatus(status);
 }
 Module['exit'] = Module.exit = exit;
 

From 1c3412cccdbd109c08357823382360782a0ad307 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Mon, 4 Aug 2014 13:52:40 -0700
Subject: [PATCH 26/30] make .a link groups work also when linking just to
 bitcode; fixes #2568

---
 emcc                | 10 ++++++----
 tests/test_other.py | 25 ++++++++++++++++++++++++-
 2 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/emcc b/emcc
index 43e2cdd0590a0..d4201bcfa8e14 100755
--- a/emcc
+++ b/emcc
@@ -1499,6 +1499,9 @@ try:
           #if DEBUG: shutil.copyfile(temp_file, os.path.join(TEMP_DIR, 'to_opt.bc') # useful when LLVM opt aborts
           shared.Building.llvm_opt(temp_file, llvm_opts)
 
+  # Decide what we will link
+  linker_inputs = [val for _, val in sorted(temp_files + link_flags)]
+
   # If we were just asked to generate bitcode, stop there
   if final_suffix not in JS_CONTAINING_SUFFIXES:
     if not specified_target:
@@ -1522,10 +1525,9 @@ try:
         assert len(original_input_files) == 1 or not has_dash_c, 'fatal error: cannot specify -o with -c with multiple files' + str(sys.argv) + ':' + str(original_input_files)
         # We have a specified target (-o <target>), which is not JavaScript or HTML, and
         # we have multiple files: Link them
-        logging.debug('link: ' + str(temp_files) + specified_target)
+        logging.debug('link: ' + str(linker_inputs) + specified_target)
         # Sort arg tuples and pass the extracted values to link.
-        link_args = [f for (i, f) in sorted(temp_files)]
-        shared.Building.link(link_args, specified_target)
+        shared.Building.link(linker_inputs, specified_target)
     logging.debug('stopping at bitcode')
     exit(0)
 
@@ -1547,7 +1549,7 @@ try:
   # First, combine the bitcode files if there are several. We must also link if we have a singleton .a
   if len(input_files) + len(extra_files_to_link) > 1 or \
      (not LEAVE_INPUTS_RAW and not (suffix(temp_files[0][1]) in BITCODE_ENDINGS or suffix(temp_files[0][1]) in DYNAMICLIB_ENDINGS) and shared.Building.is_ar(temp_files[0][1])):
-    linker_inputs = [val for _, val in sorted(temp_files + link_flags)] + extra_files_to_link
+    linker_inputs += extra_files_to_link
     logging.debug('linking: ' + str(linker_inputs))
     shared.Building.link(linker_inputs, in_temp(target_basename + '.bc'), force_archive_contents=len([temp for i, temp in temp_files if not temp.endswith(STATICLIB_ENDINGS)]) == 0)
     final = in_temp(target_basename + '.bc')
diff --git a/tests/test_other.py b/tests/test_other.py
index 738d4afe4c103..35b767092087f 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -1046,7 +1046,7 @@ def test_multiply_defined_libsymbols_2(self):
 
     self.assertContained('result: 62', run_js(os.path.join(self.get_dir(), 'a.out.js')))
 
-  def test_link_group_asserts(self):
+  def test_link_group(self):
     lib_src_name = os.path.join(self.get_dir(), 'lib.c')
     open(lib_src_name, 'w').write('int x() { return 42; }')
 
@@ -1078,6 +1078,29 @@ def test(lib_args, err_expected):
     test(['-Wl,--end-group', lib_name, '-Wl,--start-group'], '--end-group without --start-group')
     test(['-Wl,--start-group', lib_name, '-Wl,--end-group'], None)
 
+  def test_link_group_bitcode(self):
+    one = open('1.c', 'w').write(r'''
+int f(void);
+int main() {
+  f();
+  return 0;
+}
+    ''')
+    two = open('2.c', 'w').write(r'''
+#include <stdio.h>
+int f() {
+  printf("Hello\n");
+  return 0;
+}
+    ''')
+
+    Popen([PYTHON, EMCC, '-o', '1.o', '1.c']).communicate()
+    Popen([PYTHON, EMCC, '-o', '2.o', '2.c']).communicate()
+    Popen([PYTHON, EMAR, 'crs', '2.a', '2.o']).communicate()
+    Popen([PYTHON, EMCC, '-o', 'out.bc', '-Wl,--start-group', '2.a', '1.o', '-Wl,--end-group']).communicate()
+    Popen([PYTHON, EMCC, 'out.bc']).communicate()
+    self.assertContained('Hello', run_js('a.out.js'))
+
   def test_circular_libs(self):
     def tmp_source(name, code):
       file_name = os.path.join(self.get_dir(), name)

From 57b3f35a88c389f83b1870e8ca8cb9193c9419d6 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Mon, 4 Aug 2014 16:32:53 -0700
Subject: [PATCH 27/30] ensure -lX libraries are linked in last, not according
 to their order in the inputs; fixes regression from
 6556a69f282ec534512c3e6a119328fe98886a97

---
 emcc                | 2 +-
 tests/test_other.py | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/emcc b/emcc
index d4201bcfa8e14..bbf66151dcf85 100755
--- a/emcc
+++ b/emcc
@@ -1186,7 +1186,7 @@ try:
       lib_dirs.append(arg[2:])
       newargs[i] = ''
     elif arg.startswith('-l'):
-      libs.append((i, arg[2:]))
+      libs.append((next_arg_index + 1 + i, arg[2:])) # -l libraries must be linked in last
       newargs[i] = ''
     elif arg.startswith('-Wl,'):
       # Multiple comma separated link flags can be specified. Create fake
diff --git a/tests/test_other.py b/tests/test_other.py
index 35b767092087f..e815be87270f2 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -1101,6 +1101,12 @@ def test_link_group_bitcode(self):
     Popen([PYTHON, EMCC, 'out.bc']).communicate()
     self.assertContained('Hello', run_js('a.out.js'))
 
+    # link using -l syntax, ensure ordering works (group-related, but not exactly testing of groups; ordering was introduced for groups, and broke this)
+    Popen([PYTHON, EMCC, '-o', 'out.bc', '-L.', '-l2', '1.o']).communicate()
+    Popen([PYTHON, EMCC, 'out.bc']).communicate()
+    self.assertContained('Hello', run_js('a.out.js'))
+
+
   def test_circular_libs(self):
     def tmp_source(name, code):
       file_name = os.path.join(self.get_dir(), name)

From 91ac0e524aa4c9859a3ed03fd95aa65020653a3e Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 5 Aug 2014 13:07:00 -0700
Subject: [PATCH 28/30] fix benchmark return code checking

---
 tests/test_benchmark.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test_benchmark.py b/tests/test_benchmark.py
index 16abbfdd8070f..1b82b1e45b13f 100644
--- a/tests/test_benchmark.py
+++ b/tests/test_benchmark.py
@@ -118,7 +118,7 @@ def process(filename):
     self.filename = final
 
   def run(self, args):
-    return run_js(self.filename, engine=self.engine, args=args, stderr=PIPE, full_output=True)
+    return run_js(self.filename, engine=self.engine, args=args, stderr=PIPE, full_output=True, assert_returncode=None)
 
 # Benchmarkers
 try:

From a31556de062e4fb3d128c981da725ed378194219 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 5 Aug 2014 15:13:42 -0700
Subject: [PATCH 29/30] use emscripten_force_exit in
 sockets.test_nodejs_sockets_echo, fixing it

---
 tests/sockets/test_sockets_echo_client.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/sockets/test_sockets_echo_client.c b/tests/sockets/test_sockets_echo_client.c
index 48c031a4c54ef..af01311d5f21f 100644
--- a/tests/sockets/test_sockets_echo_client.c
+++ b/tests/sockets/test_sockets_echo_client.c
@@ -44,8 +44,10 @@ void finish(int result) {
   }
 #ifdef __EMSCRIPTEN__
   REPORT_RESULT();
-#endif
+  emscripten_force_exit(result);
+#else
   exit(result);
+#endif
 }
 
 void main_loop() {

From 46d00a9b4f825955cbc5588285db92d237525074 Mon Sep 17 00:00:00 2001
From: Alon Zakai <alonzakai@gmail.com>
Date: Tue, 5 Aug 2014 15:25:29 -0700
Subject: [PATCH 30/30] 1.22.0

---
 emscripten-version.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/emscripten-version.txt b/emscripten-version.txt
index 5b3a48eab21e4..af3b687c7e180 100644
--- a/emscripten-version.txt
+++ b/emscripten-version.txt
@@ -1,2 +1,2 @@
-1.21.10
+1.22.0