New branch 'private/jmux/broken-static-win' available with the following commits: commit aced076a133176a922fd98816923449b53b227ff Author: Jan-Marek Glogowski <glo...@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 <glo...@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 <glo...@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 <glo...@fbihome.de> Date: Wed Mar 24 16:46:09 2021 +0100 catchall vcldemo Change-Id: I07c8b12b9926e2228fc69b173ac4acf3dd6ef075 commit 7288a04c49c34af29a3f7bf3f3aa3b21815a5c26 Author: Thorsten Behrens <thorsten.behr...@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 <glo...@fbihome.de> Date: Sat Mar 13 00:13:30 2021 +0100 catchall Change-Id: I8b4dea6870dc6698a03cd2607f98eb57971eca4b commit da33f6e08aa846075cf0157d6c39df4b29918284 Author: Jan-Marek Glogowski <glo...@fbihome.de> Date: Fri Feb 26 14:42:02 2021 +0100 catchall Change-Id: If3eadcc396ab500f1a08a334a957ee0494aef033 commit d3770e25891752ee93c1b89f2011ba11bd63ede9 Author: Jan-Marek Glogowski <glo...@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 <glo...@fbihome.de> Date: Fri Feb 5 14:21:43 2021 +0100 catchall Change-Id: I2b10b0c78e81ac9332a0665037dbdaddec395bc4 commit 6176e007c4ff94da477854426a20f5237228283a Author: Jan-Marek Glogowski <glo...@fbihome.de> Date: Tue Jan 26 14:47:11 2021 +0100 catchall Change-Id: I94dbe94eed80bfb82a404db83249572caed7f715 commit f913d56e07ba6e7928c5a97e58a48969d0d1d1af Author: Jan-Marek Glogowski <glo...@fbihome.de> Date: Mon Jan 25 15:00:53 2021 +0100 catchall Change-Id: If41abaa40cf6aef38400083d3afa3d82d446df43 commit a4eb8a8a7fed66961b90d52aae703dab9f7501ad Author: Thorsten Behrens <thorsten.behr...@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.behr...@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.behr...@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.behr...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@fbihome.de> Date: Tue Dec 29 11:57:02 2020 +0100 Drop some duplicate code Change-Id: Iff627d34774d495bec9ebe5c499dd0fd43a1d819 commit 45943b8c5a0a7a7ce144ae189a1cd12105bd7e38 Author: Jan-Marek Glogowski <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 <glo...@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 _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits