roll emscripten on the bots

This 1.39.4 is the current "latest", the recommended version.

I'm not quite confident enough to just let this float at "latest",
but I think the way the new directory structure is laid out, we
could, at least until they bump node.

Change-Id: I0aebdea7728bea0d0b8215a49c0d1db56805eb79
Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/259556
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/infra/bots/bot.py b/infra/bots/bot.py
index 9f72eb3..d2c48a2 100644
--- a/infra/bots/bot.py
+++ b/infra/bots/bot.py
@@ -44,40 +44,34 @@
   append('skcms/build/clang', 'cc  = {}/bin/clang  '.format(clang_linux))
   append('skcms/build/clang', 'cxx = {}/bin/clang++'.format(clang_linux))
 
-  if True:
-    append('skcms/build/emscripten', 'disabled = true')
-  else:
-    # Get an Emscripten environment all set up.
-    call('git clone https://github.com/emscripten-core/emsdk.git')
-    os.chdir('emsdk')
-    call('./emsdk install sdk-1.38.28-64bit')
-    os.chdir('..')
+  # Get an Emscripten environment all set up.
+  call('git clone https://github.com/emscripten-core/emsdk.git')
+  os.chdir('emsdk')
+  call('./emsdk install 1.39.4')
+  os.chdir('..')
 
-    emscripten_sdk = os.path.realpath('emsdk')
-    node = emscripten_sdk + '/node/8.9.1_64bit/bin/node'
+  emscripten_sdk = os.path.realpath('emsdk')
+  node = emscripten_sdk + '/node/12.9.1_64bit/bin/node'
 
-    em_config = os.path.realpath(os.path.join('.', 'em_config'))
-    with open(em_config, 'w') as f:
-      print >>f, '''
-BINARYEN_ROOT = '{}'
-LLVM_ROOT = '{}'
+  em_config = os.path.realpath(os.path.join('.', 'em_config'))
+  with open(em_config, 'w') as f:
+    print >>f, '''
+LLVM_ROOT = '{}/upstream/bin'
+BINARYEN_ROOT = '{}/upstream'
+EMSCRIPTEN_ROOT = '{}/upstream/emscripten'
 NODE_JS = '{}'
 COMPILER_ENGINE = NODE_JS
 JS_ENGINES = [NODE_JS]
-    '''.format(
-      emscripten_sdk + '/clang/e1.38.28_64bit/binaryen',
-      emscripten_sdk + '/clang/e1.38.28_64bit',
-      node,
-    )
+  '''.format(emscripten_sdk, emscripten_sdk, emscripten_sdk, node)
 
-    append('skcms/build/emscripten',
-           'cc  = env EM_CONFIG={} {}/emscripten/1.38.28/emcc'.format(
-             em_config, emscripten_sdk))
-    append('skcms/build/emscripten',
-           'cxx = env EM_CONFIG={} {}/emscripten/1.38.28/em++'.format(
-             em_config, emscripten_sdk))
-    append('skcms/build/emscripten',
-           'node = {}'.format(node))
+  append('skcms/build/emscripten',
+         'cc  = env EM_CONFIG={} {}/upstream/emscripten/emcc'.format(
+           em_config, emscripten_sdk))
+  append('skcms/build/emscripten',
+         'cxx = env EM_CONFIG={} {}/upstream/emscripten/em++'.format(
+           em_config, emscripten_sdk))
+  append('skcms/build/emscripten',
+         'node = {}'.format(node))
 
   call('{ninja}/ninja -C skcms -k 0'.format(ninja=ninja))