From 1125c3883d6b36ae99953515a4452653eca29372 Mon Sep 17 00:00:00 2001 From: ice_iix Date: Wed, 22 May 2019 18:12:10 -0700 Subject: [PATCH] Conditionalize wasm_bindgen to fix compile error on wasm32-wasi From investigation for #115, now three targets: - wasm32-unknown-unknown: build with `wasm-pack build`, uses the #[wasm_bindgen] directive on main() - wasm32-wasi: build with `cargo +nightly build --target wasm32-wasi`, requires normal main() - native targets: same as wasm32-wasi --- src/main.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index c9aee8b..05ec437 100644 --- a/src/main.rs +++ b/src/main.rs @@ -44,7 +44,6 @@ pub mod model; pub mod entity; use cfg_if::cfg_if; -use wasm_bindgen::prelude::*; use std::sync::{Arc, RwLock, Mutex}; use std::rc::Rc; use std::marker::PhantomData; @@ -190,8 +189,19 @@ cfg_if! { } } -#[wasm_bindgen] -pub fn main() { +cfg_if! { + if #[cfg(target_os = "unknown")] { + use wasm_bindgen::prelude::*; + + #[wasm_bindgen] + pub fn main() { main2(); } + } else { + #[inline] + pub fn main() { main2(); } + } +} + +fn main2() { let opt = Opt::from_args(); set_panic_hook();