Age | Commit message (Collapse) | Author |
|
This patch includes all marshalling and proxy handling code on the
.NET side as well as the native side needed for a fully functional
UNO bridge.
It also includes some changes and corrections to net_basetypes and
netmaker needed for the bridge to work properly.
It also includes the FirstUnoContact example in C# as demonstration.
Change-Id: I406932938a4415d24408fb41ddfa7d8eeb5d1f94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170916
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
...with a new Module.catchUnoException JS function that can be used in a JS
catch block to provide the thrown UNO exception as an Any. (For a non-C++
exception, it rethrows the exception, and for a non-UNO C++ exception it maps it
to css.uno.RuntimeException.)
The implementation reuses parts of bridges/source/cpp_uno/gcc3_wasm/, which have
been moved to a new StaticLibrary_emscriptencxxabi.
Change-Id: I708fe6121c43a1b9736de5dff449f6c4f32a45f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169325
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
...by making the general UNO -> C++ function call case work (modulo handling
exceptions, which I'll look into later).
Wasm call_indirect unfortunately needs to statically know the call target's
signature, so we statically need to know all possible signatures. So introduce
wasmcallgen helper to scan the existing UNOIDL API upfront and generate the
relevant callvirtualfunction-wrapper.cxx and callvirtualfunction-inst.s code.
(The good thing is that the number of different signatures is somewhat limited,
each parameter can only be one of i32, i64, f32, or f64. So even if 3rd-party
extensions bring along new UNOIDL interface methods, chances are relatively high
that the signatures needed for them would already be covered by the existing
ones.)
Testing this can nicely be done in unotest/source/embindtest/embindtest.js via
css.script.Invocation (which internally exercises the relevant code). (Instead
of adding individual org.libreoffice.embindtest.StructLong/String etc., it would
be nicer to introduce some polymorphic StructOne<T>, but the Emind UNO binding
does not support polymorphic structs, so the embindtest.js code would not work.)
Change-Id: If829c9e3772bfd27561f3ad743d38a71d11545b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167308
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
... and use the same fake exception rethrowing code then the
mobile platforms.
Change-Id: Ic90de1cfd1e0092d6064d041a613d60d9f5f76b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128596
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
- configure with:
- --host=wasm64-local-emscripten
- had to make a few externals optional, so adding:
- --disable-nss
- --disable-cmis
- --disable-curl
Change-Id: I48d1c73d2675ad2e2beaf2c341578199efbd24ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111130
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
When compiling for the simulator it is like compiling
for macosx (64bit) but with other libraries, therefore
the bridge should be like the macosx.
Change-Id: I59f1442a5c77d09ad0bc4bf31c2432fc32ef725e
|
|
Supporting 32bit iOS, means a.o. adding several libraries to
the dependency list because macOSX does not install them by
default (e.g. zlib).
32bit is only used in old iPhones.
updated configure.ac
removed from solenv/gbuild/platform
bridges corrected
Change-Id: I415e744a9cb4acb3b5fbfca33c22940a1d56e390
|
|
Change-Id: I1cd5331157e684afb01e6555168ce646194c6ff2
Reviewed-on: https://gerrit.libreoffice.org/34493
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
See https://wiki.documentfoundation.org/Development/Emscripten for details
Change-Id: I977a8b9e98b9be13c263fef48f567b92347d0492
Reviewed-on: https://gerrit.libreoffice.org/18643
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Replace uses with CPUNAME instead, and get rid of the horrible
postgresql patch that worked around environment leakage.
Change-Id: I38ccabfc438360524a272901bb9332ea708e274c
|
|
...not exactly a nice way to do it, though. Plus, further missing instdir
.jnilibs are LibreOffice.app/Contents/MacOS/libhsqldb.jnilib -> libhsqldb.dylib
and LibreOffice.app/Contents/ure-link/lib/libjpipe.jnilib (which should not be
a symlink but should replace the corresponding libjpipe.dylib completely).
Change-Id: I5505704fc52da42e40c8b27185450d3fec8a864d
|
|
Change-Id: Ib451bdb3c1c2ca42347abfde44651d5cf5eef4f3
|
|
- this speeds up the old SKIP_TESTS targets build-nocheck and
dev-install-nocheck
- this allows e.g. tinderboxes, which know that they just completed a
build, to only read the files for the tests (and exclude the build
itself)
- since the dep file can be quite large this might help performance in
such scenarios quite a bit
- also moving this to extensions as it is merely a performance
optimization
Conflicts:
Makefile.in
solenv/gbuild/Module.mk
Change-Id: I1265dbacdd9f3731fe755a1b997c2fa5ac1f7421
Reviewed-on: https://gerrit.libreoffice.org/2742
Reviewed-by: Matúš Kukan <matus.kukan@gmail.com>
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
|
|
Reduce excessive copy-pasting
Remove bridges for C50 and C52 compilers which aren't in configure any
more
Prevent LTO from being used in the bridges module because it causes
crashes
Change-Id: I7ff85c2e8d6ff89c5acd48aea415e0960b3ef812
Reviewed-on: https://gerrit.libreoffice.org/2765
Reviewed-by: Tor Lillqvist <tml@iki.fi>
Tested-by: Tor Lillqvist <tml@iki.fi>
|
|
Change-Id: Ib886a323c1ade6dcd455a44d3dfc6702086416e3
|
|
Moved from translations' custom makefile.
Change-Id: Ife58bfa3ee607b06617d7db80408afb453b9a10c
Reviewed-on: https://gerrit.libreoffice.org/1622
Reviewed-by: Miklos Vajna <vmiklos@suse.cz>
Tested-by: Miklos Vajna <vmiklos@suse.cz>
|
|
Basically, a 1:1 copy of the Linux x86-64 one. The Apple docs say that
"The OS X x86-64 function calling conventions are the same as the
function calling conventions described in System V Application Binary
Interface AMD64 Architecture Processor Supplement," which should mean
that it's the same as on Linux.
Once this works, the very minor differences to the Linux one will be
merged as ifdefs into the Linux one, and no separate source files will
be needed.
Change-Id: I1ff58f303a7ab7f59ec2ff7a9e24465e89151ec5
|
|
Change-Id: I468c9b6e3381383665ee9c86a485831a176982eb
|
|
Change-Id: I8d7a10e26858dbbcce9c7c47a1dd9668a35736bd
|
|
Change-Id: Ie5bc8a27feed65126bd8bfceff2903029cd20059
|
|
Change-Id: Icffcd0733e030b565e3f78f6fff7467a10347f52
|
|
Change-Id: I3f3fe5904ce7cc257fb475b5a91227af7e540293
|
|
Change-Id: Ia19ff61f1f7fb446298472acd6722b57ddaeddec
|
|
Change-Id: I66e76da71dd5d6ed1b899aba8d41dfb5bc36da1c
|