New branch 'private/jmux/armin-strip-before-squash' available with the
following commits:
commit bfee2970a79e10c72978598b53e032719cccdb07
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Tue May 25 18:47:54 2021 +0200
Wasm strip some SW exports & corrections
Change-Id: I4dae3fc978d082215e780a371e0442d6f3687237
commit 34243e3acfe8d27ef0b5bec97d4b795c5149974f
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Tue May 25 11:38:36 2021 +0200
Wasm correct unresolved CreateMediaTempFile
Change-Id: Id697258ea694e1a6fc951c216a7cd34c116dd88d
commit 4fa1ad6869f01f2f7eab3482803b39ef424cb482
Author: Thorsten Behrens <[email protected]>
Date: Sat May 22 14:20:59 2021 +0200
Fix linking for clang build
Change-Id: I593ab41a4602cedb6586e428773ed41d7e21f1f4
commit fac2aeca4010cb5dc0de39557d51aa94ad0df091
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Fri May 21 11:08:44 2021 +0200
Wasm optional premultiply table replace
Change-Id: I69f4aab802a935d6e850a7705d38f3e378cd5fce
commit ec9e2c81b4ec6a1efce632a7fbc47683219582bf
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Thu May 20 18:56:25 2021 +0200
Wasm remove hunspell/hyphen optionally
Change-Id: I104264202e147f7a037647b84f07647ae28f3e60
commit 302a6f6f777a1394e439807f3ef034e7edc45682
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Thu May 20 16:45:26 2021 +0200
Wasm LanguageGuess optional removal
Change-Id: Ida6a6357be9a92c473c292142575c9e111c33cca
commit 55404a55984c5a3d34dbb8693fd445a8ce2bac30
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Wed May 19 11:24:24 2021 +0200
Wasm oprtional autorecovery remove additions
Change-Id: If06478b4d9db2aba6defdb8f5c76bf13954ee22d
commit 10963e79ac7d4b4e622ad2c12e041252d66b07c5
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Tue May 18 21:46:11 2021 +0200
Wasm optional reduce created locales
Change-Id: I00fdea6af81aff0d03d2f7106c99d9a745151588
commit 640d53e1e7c11d15ad7bfa48e0425198c21c3e35
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Mon May 17 17:43:49 2021 +0200
Wasm optional EPUB removal
Change-Id: Ia7c50b7e66ac2398303c4a26cf169bee94aec57c
commit 4a09f57c132c7957eb922063500964e2fd1bf5a5
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Mon May 17 15:56:44 2021 +0200
Wasm strip: remove UcpHelp
Change-Id: I0900835c9b155571f524b5d9fd1b4227bc0670f3
commit 4e0c2aaae495ebd480f6d358223a13c927048242
Author: Jan-Marek Glogowski <[email protected]>
Date: Fri May 14 15:26:39 2021 +0200
gbuild: serialize dynamic link for static builds
This uses a the lockfile tool / liblockfile 1.17. Since it polls
the file, I adjusted the poll timeout to 5s max, because I found
the 60s wait much too long. Maybe even 1s would be ok...
Since it's just a build tool, I simply copied the source, instead
of creating an external project. Since it's just used for cross
builds, even an external project wouldn't be a problem.
Change-Id: I16bc4579a273dcf1aac811ae4723ca325a0b9eba
commit eeebc1383df75c174adddb4d91c4c63d1e24302b
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Thu May 13 15:11:25 2021 +0200
Wasm optional accessibility removal
Using flag ENABLE_WASM_STRIP_ACCESSIBILITY. Had some problems
with linking against UNO API loader ($(gb_CPPU_ENV)_uno)
used for target unoapploader/CPPU_ENV_uno_ext_getMapping,
see comment at static/CustomTarget_components.mk
Change-Id: I87dfaeac440fd2fcf251bc2de0863d384b38d5c4
commit b95eaa6302731b1245a44d57cc680038383d1ca5
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Mon May 10 23:15:43 2021 +0200
Additions/corrections to dbaccess wasm removal
Change-Id: I463e4a89b1349ff43439b8d548fff9f90b42acef
commit d8c11d72aa5ae81a00571aeae1c6568782f46e34
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Mon May 10 12:36:52 2021 +0200
Wasm: Removed dbaccess optional
There is --disable-database-connectivity, but marked
as incomplete/experimental. Some dbaccess stuff was
built in wasm build, removed completely now
Change-Id: I942c9055adb351bf9c5fa804a2422353ccf1e14d
commit f7d462b61c08de89ecded09eab5609fdf546ecd8
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Sat May 8 20:33:46 2021 +0200
WASM Removal of clucene
leaded to also remove:
helplinker -> remove
helpcompiler, xmlhelp -> remove
Change-Id: Ifb677dd5b50a116cb8c8856a24b61582906683e2
commit a1c508fc1c41b8ca1a13fe94f27e3f59fc1af269
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Fri May 7 21:10:24 2021 +0200
Stripped canvas/cppcanvas and related
using ENABLE_WASM_STRIP_CANVAS define
Change-Id: Ic09bb09dabd30cc7f8da92b4f9b414cf4fb1f739
commit ebfb45f4631937d28f93101856941895eb4f43b6
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Fri May 7 18:14:25 2021 +0200
Use more expressive ENABLE_WASM_STRIP markers
for the single strip steps, e.g. use
DENABLE_WASM_STRIP_SPLASH for removal of the
splash screen. This makes it potentially easier
to later see single strip steps if needed
Change-Id: I339c175efd456536589940df07ed48c29c1fd931
commit a3519b1a41c8e4e61f56104d3dfdb1d15bd694e5
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Wed May 5 20:52:09 2021 +0200
Disable wpftcalc for wasm reduction
Change-Id: I1f263a7a07fcbd122c8e6be8070b068d0e66cc0c
commit fa86c5bc36f79c5cece9b563ac6d6fce3dd1f5c7
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Wed May 5 13:48:25 2021 +0200
Chart wasm optional removal
Used "WASM_CHART change" as markerfor later changes,
added TODO hints, too. Services and Libraries removed.
Imports may need extension to show replacement graphic,
exports should not happen at all due to not being able
to create chart models
Change-Id: I55633af3bddf831f8ceb97f0a73018fd26f051d1
commit 90d9a8dee35a6b14d5c994ace756da77b182238f
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Mon May 3 20:43:33 2021 +0200
BackingWindow (RecentDocsView) optional removal
Change-Id: I8a47f879069efed5e89c6bc2b0c3e2da2e20fdd1
commit 68e5f972b1a6df0bff288e5609b7d71781a73f3b
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Mon May 3 17:10:13 2021 +0200
Deeper TipOfTheDay optional removal
Change-Id: I4206cde761f0ed0aa559d257cf0ad1564ede3bd7
commit 4ed18d09ce0753f03b99107cce501b79c5550942
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Mon May 3 10:45:50 2021 +0200
Optional removal of more startup-modules
WhatsNewHandler
GetInvolvedHandler
DonationHandler
TipOfTheDayDialog
Change-Id: Iaad8d120f4e7768684551543dcfcaddcea44356e
commit ab8d809b6ab721f4d1cabfad0d057fed6df85f31
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Sat May 1 15:21:00 2021 +0200
Remove RecoveryCore
Change-Id: I523ff4db762589e6fe57a736c32cdbfb2b102157
commit f82517838840383d3a67338f61c4d66d713c42ca
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Sat May 1 14:03:32 2021 +0200
Remove RecoveryUI, correct spl stuff
Also removed components, learned a lot about
doing so, corrected spl stuff.
Also had to take a deep look at static linking
mechanism/native-code.py
Change-Id: I3ff9b29feba93f011f8699f6ae3f6e39061f9e81
commit f38dca150d583b51019b9b7219fc3f7251968b28
Author: Armin Le Grand (Allotropia) <[email protected]>
Date: Fri Apr 30 17:26:41 2021 +0200
SplashScreen and Startup
SplashScreens spl.lib removed, services no longer register
to UNO services (services.rdb)
Startup uses hard-coded flags "-nolockcheck -norestore -nologo
-writer"
Change-Id: I276f8775176e750e56f76b66aece2169bada3652
commit a8c79eebcaba484dc2900988597f426abf18c156
Author: Jan-Marek Glogowski <[email protected]>
Date: Thu Apr 29 19:40:14 2021 +0200
Add --enable-wasm-strip
Will just set enable wasm strip for cross-target
Change-Id: I0840b843794e4fab694df26608619a7bf06f5e5f
commit c4455877d85b4191c38ad14dc74ed0250284f35d
Author: Jan-Marek Glogowski <[email protected]>
Date: Thu Mar 25 13:13:53 2021 +0100
Hack Windows static build stuff
Change-Id: Ied05b72e95fceb47881f080d2b10eca29dfce73f
commit 4a5a722f833a4a381975d22873f3628c36930fe1
Author: Jan-Marek Glogowski <[email protected]>
Date: Thu Mar 25 09:59:51 2021 +0100
Working static Writer (use SAL_VCL_QT5_USE_CAIRO)
Change-Id: Ie1aab718cbf36b43621e2be644328fdc3fa1c90b
commit 8353b0d91332d8bdff6e49706c33c7613a06ad73
Author: Jan-Marek Glogowski <[email protected]>
Date: Wed Mar 24 16:46:09 2021 +0100
catchall vcldemo
Change-Id: I07c8b12b9926e2228fc69b173ac4acf3dd6ef075
commit 8eea797076c94eb4b66dbbae1be26a04021c2168
Author: Thorsten Behrens <[email protected]>
Date: Mon Mar 15 00:17:41 2021 +0100
Add docs for container build setup
Change-Id: Ib250ae58e0dc36169125707a8c523d59239cabf6
commit 7434151775f05c653b0ddc7ffa869f0470386b42
Author: Jan-Marek Glogowski <[email protected]>
Date: Sat Mar 13 00:13:30 2021 +0100
catchall
Change-Id: I8b4dea6870dc6698a03cd2607f98eb57971eca4b
commit ac55f536a37334df1717e0f22cca97c1cc8c8dfa
Author: Jan-Marek Glogowski <[email protected]>
Date: Fri Feb 26 14:42:02 2021 +0100
catchall
Change-Id: If3eadcc396ab500f1a08a334a957ee0494aef033
commit 7a6fc056909d308f240bbadf45fcebda09dd5245
Author: Jan-Marek Glogowski <[email protected]>
Date: Fri Feb 12 14:01:45 2021 +0100
Strip some stuff from build
Change-Id: I8c2351a03ad65f4b82ee3fd2b4d64d6cf42d4592
commit 235fda810fce9997a27b51ba8795d360c14928e3
Author: Jan-Marek Glogowski <[email protected]>
Date: Fri Feb 5 14:21:43 2021 +0100
catchall
Change-Id: I2b10b0c78e81ac9332a0665037dbdaddec395bc4
commit 713f3e1c51419afc598889d3dec78d4741c23181
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Jan 26 14:47:11 2021 +0100
catchall
Change-Id: I94dbe94eed80bfb82a404db83249572caed7f715
commit cbf38d3c071a00ec4074c0e04de1cbf04d5301b3
Author: Jan-Marek Glogowski <[email protected]>
Date: Mon Jan 25 15:00:53 2021 +0100
catchall
Change-Id: If41abaa40cf6aef38400083d3afa3d82d446df43
commit ed38ed2db29edf72db25dea45c9f69038f1ddf86
Author: Thorsten Behrens <[email protected]>
Date: Sun Jan 24 23:54:02 2021 +0100
Get debug builds working
- source maps really don't like SAFE_HEAP=1
(c.f. https://github.com/emscripten-core/emscripten/issues/8584)
- get OptFlags passed on consistently while at it
Change-Id: I7d234de6b069877a558a2f3c7ab9dd5398d18ef2
commit a51e72b41f05a2e0f9ab44ad274bb1e0b37c3af7
Author: Thorsten Behrens <[email protected]>
Date: Sun Jan 24 22:29:38 2021 +0100
Make qt5 src download options explicit
Change-Id: Id2e78f71e10b8736cb03e42b1d0ad52c851cadd3
commit a9af280b536dc9f40a664350cd64028429988634
Author: Thorsten Behrens <[email protected]>
Date: Sun Jan 24 22:28:47 2021 +0100
Change order of qmake search
Otherwise we'd find local, non-emscription installation before
the QT5DIR-provided one
Change-Id: I956431c3433932adf1bee04ff8ce1cadfa0a4d81
commit 74899ccd2589fade0cdddafdf4b97fe1c2f1bcbc
Author: Thorsten Behrens <[email protected]>
Date: Sat Dec 19 22:50:49 2020 +0100
Hack out vs-code config.in
Change-Id: If3b9a9684f43ffaeaebbccd1545e168d6b5f74b4
commit 0616b9aa184b37a7595abf0a9f39bc9c6ea96a11
Author: Jan-Marek Glogowski <[email protected]>
Date: Sat Jan 9 13:41:18 2021 +0100
Enable some more tests and demos for static builds
Change-Id: I6372cd33db2fb72d417ca483d1324fca6947e077
commit 77d9c26a63a190cd4201eaedd9ca72bd123fce76
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Dec 29 11:49:50 2020 +0100
Add a static components library
This adds all component implementing libraries as dependency to a
new components library, which otherwise just contains the "native"
code with the mapping of the component constructors.
Since there is no way to know, which components are actually used,
this has to include all build components.
The components lbrary is automatically added to all users of
cppuhelper, which contains the calls to the mapper functions of the
generated "native" code.
Change-Id: Ie78af06c3325c0f58226a4c4da85a1d64fb45dc6
commit 81aee4e6af6689e4ef8b096b7cabfa6b5da52ff9
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Dec 29 11:40:44 2020 +0100
gbuild: handle Executable(s) for static build
See the (large) comment in solenv/gbuild/static.mk trying to
explain, why this implementation was chosen (spoiler: seems
there is no other way) and what is actually implemented. Yes,
I also think it's borderline maintainable (like gbuild in
general; complexity clashing with make "restrictions"). Feel
free to propose / implement anything easier, except expanding
the bin/lo-all-static-libs "concept" ;-)
Change-Id: Iceb73c05b163affc4385fd4f8f0f5a2ecb55b004
commit cfe493051ce09291fcab222876b33211c76a3e53
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Dec 29 11:42:30 2020 +0100
gbuild: introduce plugin (loader) concept
This introduces two concepts: a plugin and its loader (library)
LO currrently has dependency cycles for some libraries. There is
scui, which depends on sc, while sc dlopen's scui. There are the
various vclplug_* and the filters/gie libraries, which depends on
vcl and vcl dlopen's them. While the dependcies of the plugins on
their loader works fine, for static builds you must add a
dependency from the loader to the plugins, which introduces a
dependency cycle.
I codeified a few rules into the build system along with it:
* just plugins are allowed to depend / link other plugins
* plugins aren't allowed to be linked into the merge lib
* plugin loaders are "limited" to libraries
At the high level, this is implemented via two new gbuild calls:
* gb_Library_set_plugin_for,lib,loader: declare a library to be a
plugin of a loader library
* gb_Helper_register_plugins_for_install: "plugin" replacement for
gb_Helper_register_libraries_for_install to implement some
additional checks in the build system
For the shared build, nothing changes. gb_Library_set_plugin_for is
just forwarded to gb_LinkTarget__use_libraries.
P.S. Android and iOS don't build their "executables" using gbuild,
but call bin/lo-all-static-libs to "let the linker figure it out".
P.P.S. the static handling isn't implemented in this commit, as it
turned out to be (very) much more complex.
Change-Id: I7b01d9c384cbc5838bd2cc93aff18e4868939d6e
commit 79f0e289175e449405c98cb51151e2fa7a7750f6
Author: Jan-Marek Glogowski <[email protected]>
Date: Thu Dec 31 00:25:16 2020 +0100
WASM: link Writer native-code
Change-Id: Ic475e2a9c5c9f493eb1b897dc8356aed5523037d
commit ecf9409661fe61208344534089be8f6965d70d92
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Dec 29 11:57:02 2020 +0100
Drop some duplicate code
Change-Id: Iff627d34774d495bec9ebe5c499dd0fd43a1d819
commit 25caf7ab3aee6565f33a4df86f61fd3469b01d8c
Author: Jan-Marek Glogowski <[email protected]>
Date: Thu Dec 24 22:47:22 2020 +0100
WASM encode some more fixed configure options
... and update README.wasm
Change-Id: Id4b8499dc2154466036f39150386d575a348a3ef
commit 48c8ce94fa706469b7aad45eba52c94f1e1f07d1
Author: Jan-Marek Glogowski <[email protected]>
Date: Fri Jan 8 12:37:06 2021 +0100
WASM use Qt qtloader.js and html template
The emscripten generated one doesn't work, probably because of
qtloader.js.
Change-Id: I402d20d0175130ce3b26a9d998661fd66f5806a1
commit 9506fbb812a0cea885ff390554b83ce4c2f6d35c
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Dec 22 12:47:03 2020 +0100
WASM build mandelbrot Qt example via gbuild
All the flags are copied directly from the qmake example. The
emscripten HTML doesn't work, but copying the Qt HTML and the
qtloader.js correctly runs the example in the browser.
This is all a bit messy, but it is mainly a know working app
to verify any WASM development at this point, so we know the
Gbuild configuration can build a WASM application.
Change-Id: I1e5fcc64f452d524192f4ea6d975aafafbb9f5bb
commit 38f54a3f162798841832074fd59098d9419f4c55
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Dec 22 12:47:03 2020 +0100
Refer from README.md to README.wasm
Change-Id: I1e5fcc64f452d524192f4ea6d975aafafbb9f5bb
commit 0bf1d690600761e3b240d9105e961fd9f2606b76
Author: Jan-Marek Glogowski <[email protected]>
Date: Tue Dec 22 10:58:27 2020 +0100
Make builds without patching emscripten
Ok - the last patch for emscripten was broken too. This is almost
a "brown paperbag" bug for me now ;-(
With this commit, no more patching for emscripten should be needed.
There is a workaround in sc/source/core/data/attarray.cxx, which looks
like a compiler bug (see README.wasm).
Change-Id: Ife4d9089177bc31463a7636674411a2cf0e64d87
commit b780e95fe4d295eeb5883e0ab93037c473e8e22b
Author: Jan-Marek Glogowski <[email protected]>
Date: Mon Dec 21 17:31:23 2020 +0100
Catchall again
As described, I think I found the origin of the problem with an
emcc.py patch I wrote in the beginning to fix configure with cpp
tests. This compiles LO up to some point in Calc with a template
failure. I've made an extra patch from the galeries changes.
The binary is essentially broken. While the alignment is checked
by LO configure, the result instantly crashes with memory
alignement errors somewhere. There seems to be a problem with
inline Exceptions, so I just converted SvStreamEOFException to
non-inline as a workaround.
Change-Id: I3333a04cdb765da3efc4aa511e265a3863d5c9cd
commit 83b98d1184574191654e6d8ed0dc2047084ee37c
Author: Jan-Marek Glogowski <[email protected]>
Date: Mon Dec 21 02:01:35 2020 +0100
The OpenSSL catchall
I've read somewhere in the docs, that ccache usage is fine with
Emscripten. This now builds the non-DESKTOP build, but activates
some binaries, like the ui-previewer. I'm not sure yet, if I should
build with or without DESKTOP.
After enabling of exceptions, the ui-previewer now fails to link
with "undefined symbol: typeinfo for SvStreamEOFException". And I
found "make vcl.all" doesn't rebuild anything non-vcl, which I had
assumed.
Then this "toggles" DISABLE_OPENSSL to ENABLE_OPENSSL, like all the
other feature flags. And it builds xmlsec with openssl, but there
isn't yet an openssl xmlsecurity backend.
Change-Id: Ibcc944f27f2ce53bc24e6605669b6593fd5e93c3
commit 86d3d2465eaa06dfccf1dbf628ccecb8cc9b5541
Author: Jan-Marek Glogowski <[email protected]>
Date: Sun Dec 20 12:00:17 2020 +0100
Drop cairo debugging stuff and update README.wasm
Change-Id: Ica8e115ee19c7777f520fe2c41a88efa07de8b13
commit f76cafd7a6d66ad3fed64dce7366c7046649d01b
Author: Jan-Marek Glogowski <[email protected]>
Date: Fri Dec 18 16:44:29 2020 +0100
Next catchall
Before my rebase, this used to link a ui-previewer "executable".
I have this major problem with the static linkage of the binary,
which now has to list ~150 dependencies.
While it linked withhout any more symbol errors, it (obviously)
won't run, because the LO mainloop can't drive the browser
mainloop.
It currently fails in cairo with pthread detection, which did
somehow work before. Also exception handling isn't yet correctly
supported in the build - I think of providing an emscripten
settings.js instead of adding the info to all external builds.
Change-Id: I757634bb2f819022e537f3f4dd55ddabdc742454
commit 11dcc4b4681d013fabed79eea9b2956b489f4fa9
Author: Jan-Marek Glogowski <[email protected]>
Date: Wed Dec 16 02:08:15 2020 +0100
Next catchall
This is the "fail to link vcl/Executable_ui-previewer" commit. I
was hoping to link this executable this evening, but there are
some remaining mysteries to solve.
I'm missing bridge functions, pcre2 (seems to be from boost regex,
somehow?), the constructor lists from native-code.py and generally
still broken dependencies.
What does work is the linking of the Qt5 WASM library, after I
re-build it inside my chroot, as my Debian has glibc 2.28, while
my Ubuntu 18.04 chroot has 2.27, so all the native tooling
wouldn't work. But no new build failures, so just some time.
One main problem is the static linking of executables. For so,
you have rpath and dependencies, which will get all the correct
dependencies, but this exists for static archives. I still had
to fix many externals with -pthread, so growing that list took
a while anyway, but eventually this should and could be done
by gbuild. Question is, how hard is it to implement.
I don't know if sal/osl/unx/system.hxx is correct at all, but
at least it compiles.
I tried to update the REAME with all new infos I find.
Change-Id: I64ecd4f923296eb4aeb42ff4b114c87b58503962
commit 592b7f7fc3f600007c6927b1b94f598bdb1da911
Author: Jan-Marek Glogowski <[email protected]>
Date: Fri Dec 11 17:27:59 2020 +0100
WASM catchall commit
The current state is incompatible with upstream, especially the
emconfigure change.
Please also read README.wasm
Change-Id: I668b4128491c467b94ea1c13ee695b08dce32968