> On 9 Dec 2016, at 11:35, Bjoern Michaelsen <bjoern.michael...@canonical.com> > wrote: > > Hi, > > some additional thoughts below: > > On Thu, Dec 08, 2016 at 07:40:40PM +0100, Bjoern Michaelsen wrote: >>> AFAICS - there -should- also be no need for cygwin, LODE, or anything >>> else in this world ;-) just a single download. >> Ok, who is going to finally kill scp2, the horribly icon-theme scriping, UNO >> registry generation plumbing etc. for good? (With kill=port to plain C++ >> tooling). >> [...] >> Well, we sneakily use various bits of sed/gawk/gperf/perl/python/zip/tar/... >> in >> various corners of the build. Killing those and replacing them with GNU make >> and plain C++ would be good, but is quite a thankless effort. I agree though >> it >> would be appreciated to make the build easier to bootstrap. >> >> tl;dr: First kill the POSIX deps sprinkled all over the repo[1], building a >> bit of >> C++ libs isnt the issue. All the plumbing around it is. > > On a more positive and actionable note: With C++11 having regex[1] that > certainly is possible and e.g. Perl-to-C++11 might even be some EasyHacks. > Limiting the tools used in the build system to C++11, GNU make and basic > cross-plattform busybox[2] might be a starting point and allow all of: > > - migrating to e.g. using ninja as backend > - migrating away from GNU make (via gbuildtojson and manually recreating the > bazillion configure-based conditional we have in Makefiles) > - simple bootstrapping on Windows without the need for cygwin or LODE Now we are getting very close to my x-mas wishlist.
the current json files made by gbuildjson misses 2 things: - objective C++ (and some other language) files are not accounted for - there are no dependency structure (as provided by running “make -d”) I have been experimenting with a variant of gbuildtojson: - the gb_macros do not make the C++ program, but makes a simple echo with an identifier - make is called with “make -d gbuildtojson | gbuildjson.exe - the C++ program is changed to understand the “make -d” dependency structure, and of course the echo statements. With that change the json files contains enough information to e.g. generate a new set of makefiles without macros. > > So while I am reluctant to replace gbuild as the canonical build _right now_, > Im all for killing the custom tooling based on all of coreutils and Perl in > gbuild (and replace it with plain C++11 ... and maybe busybox for a start). > Once that happened, we can consider all the options on where to carry the > build > system from there. But locking in one of those options now, with all the > tooling crap still around would be jumping the gun. > > So: Who is going to champion the "kill all Perl in the Build" (for a start) > EasyHack? It is not fair I just complain without also volunteering :-) That would be something I would like to do, with a little help from the experts, and provided Norbert has nothing against it. have a nice weekend jan I. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice