[Libreoffice-commits] core.git: Changes to 'private/jmux/broken-static-win'
Jan-Marek Glogowski (via logerrit)
logerrit at kemper.freedesktop.org
Fri Apr 9 10:25:34 UTC 2021
New branch 'private/jmux/broken-static-win' available with the following commits:
commit aced076a133176a922fd98816923449b53b227ff
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Apr 9 12:11:38 2021 +0200
Still broken Windows static build
Change-Id: I6568c04ec3351f691e54308f45b0e2102d319b74
commit d5aa0babdc8d0b1a56751ed16f436fd0b575ab37
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Mar 25 13:13:53 2021 +0100
Hack Windows static build stuff
Change-Id: Ied05b72e95fceb47881f080d2b10eca29dfce73f
commit d10feb67faba36768680416d98cd56d5e576ff4e
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Mar 25 09:59:51 2021 +0100
Working static Writer (use SAL_VCL_QT5_USE_CAIRO)
Change-Id: Ie1aab718cbf36b43621e2be644328fdc3fa1c90b
commit 381ead6d57dcae950f1e6516de25939b57c76856
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Mar 24 16:46:09 2021 +0100
catchall vcldemo
Change-Id: I07c8b12b9926e2228fc69b173ac4acf3dd6ef075
commit 7288a04c49c34af29a3f7bf3f3aa3b21815a5c26
Author: Thorsten Behrens <thorsten.behrens at allotropia.de>
Date: Mon Mar 15 00:17:41 2021 +0100
Add docs for container build setup
Change-Id: Ib250ae58e0dc36169125707a8c523d59239cabf6
commit 569b734c5e482a08b5c151c17eda1ad7a3c17c1b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sat Mar 13 00:13:30 2021 +0100
catchall
Change-Id: I8b4dea6870dc6698a03cd2607f98eb57971eca4b
commit da33f6e08aa846075cf0157d6c39df4b29918284
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Feb 26 14:42:02 2021 +0100
catchall
Change-Id: If3eadcc396ab500f1a08a334a957ee0494aef033
commit d3770e25891752ee93c1b89f2011ba11bd63ede9
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Feb 12 14:01:45 2021 +0100
Strip some stuff from build
Change-Id: I8c2351a03ad65f4b82ee3fd2b4d64d6cf42d4592
commit 67b21c517249ab160f5c74587cca8fec8e2ef5ff
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Feb 5 14:21:43 2021 +0100
catchall
Change-Id: I2b10b0c78e81ac9332a0665037dbdaddec395bc4
commit 6176e007c4ff94da477854426a20f5237228283a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Jan 26 14:47:11 2021 +0100
catchall
Change-Id: I94dbe94eed80bfb82a404db83249572caed7f715
commit f913d56e07ba6e7928c5a97e58a48969d0d1d1af
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jan 25 15:00:53 2021 +0100
catchall
Change-Id: If41abaa40cf6aef38400083d3afa3d82d446df43
commit a4eb8a8a7fed66961b90d52aae703dab9f7501ad
Author: Thorsten Behrens <thorsten.behrens at allotropia.de>
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 9c90b9fe94ec4faa7f0ea69eefcadeb48a3deda1
Author: Thorsten Behrens <thorsten.behrens at allotropia.de>
Date: Sun Jan 24 22:29:38 2021 +0100
Make qt5 src download options explicit
Change-Id: Id2e78f71e10b8736cb03e42b1d0ad52c851cadd3
commit a8c8c235d68e27276c627fe15c38341f62975f26
Author: Thorsten Behrens <thorsten.behrens at allotropia.de>
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 d1f741500dd2595e8eb3e62b11e807113a7b21e6
Author: Thorsten Behrens <thorsten.behrens at allotropia.de>
Date: Sat Dec 19 22:50:49 2020 +0100
Hack out vs-code config.in
Change-Id: If3b9a9684f43ffaeaebbccd1545e168d6b5f74b4
commit 49079e7898a347c7c8b3fa9a53ccd84d91f49ff6
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sat Jan 9 13:41:18 2021 +0100
Enable some more tests and demos for static builds
Change-Id: I6372cd33db2fb72d417ca483d1324fca6947e077
commit 1e6698a811074ae85ec1b7b45bb601fb73d300fc
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 78b9a0c67a579f5cba460df79d2c6aa147be2a79
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 f0bea5ff63be0e6b762ab49e53066da8b43d887e
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 7087fbd49ecb042c329eaeb1e0582a2c83ff4bc9
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Dec 31 00:25:16 2020 +0100
WASM: link Writer native-code
Change-Id: Ic475e2a9c5c9f493eb1b897dc8356aed5523037d
commit b5d5c10bc147cb2f75b6000b3dd7c822607b303c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Dec 29 11:57:02 2020 +0100
Drop some duplicate code
Change-Id: Iff627d34774d495bec9ebe5c499dd0fd43a1d819
commit 45943b8c5a0a7a7ce144ae189a1cd12105bd7e38
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Dec 24 22:47:22 2020 +0100
WASM encode some more fixed configure options
... and update README.wasm
Change-Id: Id4b8499dc2154466036f39150386d575a348a3ef
commit 30e84de8db0558045cb80097e3a9c37cedb6bf83
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 f810ba29f93662cd5453a10d764b514b949fe083
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 3b431b2a937e8591b02813040f262964749a627e
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Dec 22 12:47:03 2020 +0100
Refer from README.md to README.wasm
Change-Id: I1e5fcc64f452d524192f4ea6d975aafafbb9f5bb
commit d784768d07e210b491a2cd3942235193e0eea0f7
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 4d91caed80ac908d1eb88badb3b428c346bbf530
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 7230c5a4a40f6ad95ddcdbbd7ea476750a5fb7b1
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 c98cd6835dccf3e1ad16f003a79f2165898fd775
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Dec 20 12:00:17 2020 +0100
Drop cairo debugging stuff and update README.wasm
Change-Id: Ica8e115ee19c7777f520fe2c41a88efa07de8b13
commit 647626ffa6e1d5eddbb93f1105aa7d106355ffc1
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 1571063bec712834f589c3621b0034bbb72d293f
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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 4bab80dcd4e3d09a72035e8f8c69b365918c6db6
Author: Jan-Marek Glogowski <glogow at fbihome.de>
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
More information about the Libreoffice-commits
mailing list