README.wasm | 31 ++++++++++++++++++++++++++++++- external/cairo/ExternalProject_cairo.mk | 3 +-- 2 files changed, 31 insertions(+), 3 deletions(-)
New commits: commit 7ece832eca94a4948d98e55c5371bd8575a3fdc5 Author: Jan-Marek Glogowski <glo...@fbihome.de> AuthorDate: Sun Dec 20 12:00:17 2020 +0100 Commit: Jan-Marek Glogowski <glo...@fbihome.de> CommitDate: Sun Dec 20 12:00:17 2020 +0100 Drop cairo debugging stuff and update README.wasm Change-Id: Ica8e115ee19c7777f520fe2c41a88efa07de8b13 diff --git a/README.wasm b/README.wasm index d6180cab09da..46c84a1a1a4e 100644 --- a/README.wasm +++ b/README.wasm @@ -71,7 +71,6 @@ Enabling multi-thread support in Firefox is a bit of work with older versions: - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer - == Setup LO == Currently autogen.sh is patched to use emconfigure. That basically sets various environment vars, @@ -119,6 +118,36 @@ QT5DIR=/dir/of/git_qt5/qtbase Will also be encoded in configure.ac at some point, some already is. += Ideas for an UNO bridge implementation = + +My post to Discord #emscripten: "I'm looking for a way to do an abstract call +from one WASM C++ object to an other WASM C++ object, so like FFI / WebIDL, +just within WASM. All my code is C++ and normally I have bridge code, with +assembler to implement the function call /RTTI and exception semantics of the +specified platform. Code is at +https://cgit.freedesktop.org/libreoffice/core/tree/bridges/source/cpp_uno. +I've read a bit about call_indirect and stuff, but I don't have yet a good +idea, how I could implement this (and there is an initial feature/wasm branch +for the interested). I probably need some fixed lookup table, like on iOS, +because AFAIK you can't dynamically generate code in WASM. So any pointers or +ideas for an implementation? I can disassemble some minimalistic WASM example +and read clang code for WASM_EmscriptenInvoke, but if there were some +standalone code or documentation I'm missing, that would be nice to know." + +We basically would go the same way then the other backends. Write the bridge in +C++, which is probably largely boilerplate code, but the function call in WAT +(https://github.com/WebAssembly/wabt) based on the LLVM WASM calling +conventions in WASM_EmscriptenInvoke. I didn't get a reply to that question for +hours. Maybe I'll open an Emscripten issue, if we really have to implement +this. + + += Tools for problem diagnosis = + +* nm -s should list the symbols in the archive, based on the index generated by ranlib. + If you get linking errors that archive has no index. + + = Mixed information, links, problems, TODO = More info on Qt WASM emscripten pthreads: https://wiki.qt.io/Qt_for_WebAssembly#Multithreading_Support diff --git a/external/cairo/ExternalProject_cairo.mk b/external/cairo/ExternalProject_cairo.mk index 08e83086a1cc..eb32338fe74b 100644 --- a/external/cairo/ExternalProject_cairo.mk +++ b/external/cairo/ExternalProject_cairo.mk @@ -64,8 +64,7 @@ else $(call gb_ExternalProject_get_state_target,cairo,build) : $(call gb_Trace_StartRange,cairo,EXTERNAL) $(call gb_ExternalProject_run,build,\ - env | sort && \ - dash -x ./configure \ + ./configure \ $(if $(debug),STRIP=" ") \ $(if $(filter ANDROID iOS,$(OS)),CFLAGS="$(if $(debug),-g) $(ZLIB_CFLAGS) $(gb_VISIBILITY_FLAGS)") \ $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS=" $(ZLIB_CFLAGS)" --enable-pthread=yes PTHREAD_LIBS="" EMMAKEN_JUST_CONFIGURE=1) \ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits