aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2018-09-21 16:35:17 +0100
committerDavid Baker <dave@matrix.org>2018-09-21 16:35:17 +0100
commit5e87db615a5e430627b17da5dfbd52f0ef7f4db9 (patch)
tree5e3c0798a6606b56b1fc75cc836c3380ac519d2e
parent122867c45c7f41b82a550a9665d34b7dda1c3ffa (diff)
Make OLM_OPTIONS work again
The closure compiler was just renaming the variable so it never would have picked them up. Make it an extern so it knows what to do.
-rw-r--r--Makefile3
-rw-r--r--javascript/externs.js1
-rw-r--r--javascript/olm_pre.js4
3 files changed, 4 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index f6c2ab4..dcd5cc1 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,7 @@ JS_TARGET := javascript/olm.js
JS_EXPORTED_FUNCTIONS := javascript/exported_functions.json
JS_EXTRA_EXPORTED_RUNTIME_METHODS := ALLOC_STACK
+JS_EXTERNS := javascript/externs.js
PUBLIC_HEADERS := include/olm/olm.h include/olm/outbound_group_session.h include/olm/inbound_group_session.h include/olm/pk.h
@@ -147,7 +148,7 @@ js: $(JS_TARGET)
.PHONY: js
$(JS_TARGET): $(JS_OBJECTS) $(JS_PRE) $(JS_POST) $(JS_EXPORTED_FUNCTIONS)
- $(EMCC_LINK) \
+ EMCC_CLOSURE_ARGS="--externs $(JS_EXTERNS)" $(EMCC_LINK) \
$(foreach f,$(JS_PRE),--pre-js $(f)) \
$(foreach f,$(JS_POST),--post-js $(f)) \
-s "EXPORTED_FUNCTIONS=@$(JS_EXPORTED_FUNCTIONS)" \
diff --git a/javascript/externs.js b/javascript/externs.js
new file mode 100644
index 0000000..8ec5b02
--- /dev/null
+++ b/javascript/externs.js
@@ -0,0 +1 @@
+var OLM_OPTIONS;
diff --git a/javascript/olm_pre.js b/javascript/olm_pre.js
index 5e8ed12..673b868 100644
--- a/javascript/olm_pre.js
+++ b/javascript/olm_pre.js
@@ -21,10 +21,8 @@ if (typeof(window) !== 'undefined') {
}
/* applications should define OLM_OPTIONS in the environment to override
- * emscripten module settings (we still need to (re) declare the variable
- * otherwise the closure compiler becomes sad).
+ * emscripten module settings
*/
-var OLM_OPTIONS;
if (typeof(OLM_OPTIONS) !== 'undefined') {
for (var olm_option_key in OLM_OPTIONS) {
if (OLM_OPTIONS.hasOwnProperty(olm_option_key)) {