tdweb works with newest emsdk
GitOrigin-RevId: b52ab5d9e182e1a689933d7a44d3306f0c9151e5
This commit is contained in:
parent
958b16b8a3
commit
5926e00320
|
@ -97,8 +97,10 @@ if (EMSCRIPTEN)
|
||||||
set(ZLIB_LIBRARIES)
|
set(ZLIB_LIBRARIES)
|
||||||
set(ZLIB_INCLUDE_DIR)
|
set(ZLIB_INCLUDE_DIR)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -s MEMFS_APPEND_TO_TYPED_ARRAYS=1 -s USE_ZLIB=1 -s MODULARIZE=1 -s WEBSOCKET_URL=\"'wss:#'\" -s EXTRA_EXPORTED_RUNTIME_METHODS=\"['FS','cwrap']\" -lidbfs.js -lworkerfs.js")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -s MEMFS_APPEND_TO_TYPED_ARRAYS=1 -s USE_ZLIB=1 -s MODULARIZE=1 \
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -s MEMFS_APPEND_TO_TYPED_ARRAYS=1 -s USE_ZLIB=1 -s MODULARIZE=1 -s WEBSOCKET_URL=\"'wss:#'\" -s EXTRA_EXPORTED_RUNTIME_METHODS=\"['FS','cwrap']\" -lidbfs.js -lworkerfs.js")
|
-s EXPORT_NAME=\"'createTdwebModule'\" -s WEBSOCKET_URL=\"'wss:#'\" -s EXTRA_EXPORTED_RUNTIME_METHODS=\"['FS','cwrap']\" -lidbfs.js -lworkerfs.js")
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -s MEMFS_APPEND_TO_TYPED_ARRAYS=1 -s USE_ZLIB=1 -s \
|
||||||
|
MODULARIZE=1 -s EXPORT_NAME=\"'createTdwebModule'\" -s WEBSOCKET_URL=\"'wss:#'\" -s EXTRA_EXPORTED_RUNTIME_METHODS=\"['FS','cwrap']\" -lidbfs.js -lworkerfs.js")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -s DEMANGLE_SUPPORT=1 -s ASSERTIONS=1")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -s DEMANGLE_SUPPORT=1 -s ASSERTIONS=1")
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -s DEMANGLE_SUPPORT=1 -s ASSERTIONS=1")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -s DEMANGLE_SUPPORT=1 -s ASSERTIONS=1")
|
||||||
|
|
||||||
|
|
2138
example/web/tdweb/package-lock.json
generated
2138
example/web/tdweb/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
|
@ -26,7 +26,7 @@
|
||||||
"@babel/plugin-transform-runtime": "^7.4.3",
|
"@babel/plugin-transform-runtime": "^7.4.3",
|
||||||
"@babel/preset-env": "^7.4.3",
|
"@babel/preset-env": "^7.4.3",
|
||||||
"@typescript-eslint/eslint-plugin": "^1.7.0",
|
"@typescript-eslint/eslint-plugin": "^1.7.0",
|
||||||
"acorn": "^6.1.1",
|
"acorn": "^6.4.1",
|
||||||
"babel-eslint": "^10.0.1",
|
"babel-eslint": "^10.0.1",
|
||||||
"babel-loader": "^8.0.5",
|
"babel-loader": "^8.0.5",
|
||||||
"clean-webpack-plugin": "^2.0.1",
|
"clean-webpack-plugin": "^2.0.1",
|
||||||
|
@ -43,8 +43,8 @@
|
||||||
"lint-staged": "^8.1.5",
|
"lint-staged": "^8.1.5",
|
||||||
"prettier": "^1.17.0",
|
"prettier": "^1.17.0",
|
||||||
"typescript": "^3.4.5",
|
"typescript": "^3.4.5",
|
||||||
"webpack": "4.28.2",
|
"webpack": "^4.44.1",
|
||||||
"webpack-cli": "^3.3.1",
|
"webpack-cli": "^3.3.12",
|
||||||
"worker-loader": "^2.0.0"
|
"worker-loader": "^2.0.0"
|
||||||
},
|
},
|
||||||
"husky": {
|
"husky": {
|
||||||
|
|
|
@ -63,18 +63,19 @@ async function initLocalForage() {
|
||||||
|
|
||||||
async function loadTdlibWasm(onFS, wasmUrl) {
|
async function loadTdlibWasm(onFS, wasmUrl) {
|
||||||
console.log('loadTdlibWasm');
|
console.log('loadTdlibWasm');
|
||||||
const Module = await import('./prebuilt/release/td_wasm.js');
|
const td_module = await import('./prebuilt/release/td_wasm.js');
|
||||||
log.info('got td_wasm.js');
|
const createTdwebModule = td_module.default;
|
||||||
|
log.info('got td_wasm.js', td_module, createTdwebModule);
|
||||||
let td_wasm = td_wasm_release;
|
let td_wasm = td_wasm_release;
|
||||||
if (wasmUrl) {
|
if (wasmUrl) {
|
||||||
td_wasm = wasmUrl;
|
td_wasm = wasmUrl;
|
||||||
}
|
}
|
||||||
const module = Module.default({
|
const module = await createTdwebModule({
|
||||||
onRuntimeInitialized: () => {
|
onRuntimeInitialized: () => {
|
||||||
log.info('runtime intialized');
|
log.info('runtime intialized');
|
||||||
},
|
},
|
||||||
instantiateWasm: (imports, successCallback) => {
|
instantiateWasm: (imports, successCallback) => {
|
||||||
log.info('start instantiateWasm', td_wasm);
|
log.info('start instantiateWasm', td_wasm, imports);
|
||||||
const next = instance => {
|
const next = instance => {
|
||||||
log.info('finish instantiateWasm');
|
log.info('finish instantiateWasm');
|
||||||
successCallback(instance);
|
successCallback(instance);
|
||||||
|
@ -86,23 +87,17 @@ async function loadTdlibWasm(onFS, wasmUrl) {
|
||||||
});
|
});
|
||||||
log.info('Got module', module);
|
log.info('Got module', module);
|
||||||
onFS(module.FS);
|
onFS(module.FS);
|
||||||
const TdModule = new Promise((resolve, reject) =>
|
return module;
|
||||||
module.then(m => {
|
|
||||||
delete m.then;
|
|
||||||
resolve(m);
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
return TdModule;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadTdlibAsmjs(onFS) {
|
async function loadTdlibAsmjs(onFS) {
|
||||||
console.log('loadTdlibAsmjs');
|
console.log('loadTdlibAsmjs');
|
||||||
const Module = await import('./prebuilt/release/td_asmjs.js');
|
const createTdwebModule = (await import('./prebuilt/release/td_asmjs.js'))
|
||||||
console.log('got td_asm.js');
|
.default;
|
||||||
|
console.log('got td_asm.js', createTdwebModule);
|
||||||
const fromFile = 'td_asmjs.js.mem';
|
const fromFile = 'td_asmjs.js.mem';
|
||||||
const toFile = td_asmjs_mem_release;
|
const toFile = td_asmjs_mem_release;
|
||||||
const module = Module.default({
|
const module = await createTdwebModule({
|
||||||
onRuntimeInitialized: () => {
|
onRuntimeInitialized: () => {
|
||||||
console.log('runtime intialized');
|
console.log('runtime intialized');
|
||||||
},
|
},
|
||||||
|
@ -115,14 +110,7 @@ async function loadTdlibAsmjs(onFS) {
|
||||||
ENVIROMENT: 'WORKER'
|
ENVIROMENT: 'WORKER'
|
||||||
});
|
});
|
||||||
onFS(module.FS);
|
onFS(module.FS);
|
||||||
const TdModule = new Promise((resolve, reject) =>
|
return module;
|
||||||
module.then(m => {
|
|
||||||
delete m.then;
|
|
||||||
resolve(m);
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
return TdModule;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadTdlib(mode, onFS, wasmUrl) {
|
async function loadTdlib(mode, onFS, wasmUrl) {
|
||||||
|
|
|
@ -133,6 +133,7 @@ class DelayedClosure {
|
||||||
do_clone(const DelayedClosure<FromActorT, FromFunctionT, FromArgsT...> &value) const {
|
do_clone(const DelayedClosure<FromActorT, FromFunctionT, FromArgsT...> &value) const {
|
||||||
static_assert(std::is_same<FromActorT, FromActorT>::value,
|
static_assert(std::is_same<FromActorT, FromActorT>::value,
|
||||||
"Trying to clone DelayedClosure that contains noncopyable elements");
|
"Trying to clone DelayedClosure that contains noncopyable elements");
|
||||||
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class FromActorT, class FromFunctionT, class... FromArgsT>
|
template <class FromActorT, class FromFunctionT, class... FromArgsT>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user