> 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

Reply via email to