From dev-return-63873-archive-asf-public=cust-asf.ponee.io@openoffice.apache.org Sat Oct 6 07:35:53 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id F152418061A for ; Sat, 6 Oct 2018 07:35:52 +0200 (CEST) Received: (qmail 72722 invoked by uid 500); 6 Oct 2018 05:35:51 -0000 Mailing-List: contact dev-help@openoffice.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openoffice.apache.org Delivered-To: mailing list dev@openoffice.apache.org Received: (qmail 72711 invoked by uid 99); 6 Oct 2018 05:35:51 -0000 Received: from mail-relay.apache.org (HELO mailrelay1-lw-us.apache.org) (207.244.88.152) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Oct 2018 05:35:51 +0000 Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) by mailrelay1-lw-us.apache.org (ASF Mail Server at mailrelay1-lw-us.apache.org) with ESMTPSA id 69DEAEF0 for ; Sat, 6 Oct 2018 05:35:50 +0000 (UTC) Received: by mail-oi1-f182.google.com with SMTP id v69-v6so12101375oif.1 for ; Fri, 05 Oct 2018 22:35:50 -0700 (PDT) X-Gm-Message-State: ABuFfoh4iIkqP1yZyB3B5+L62BrmO7rMIpGVKZHR40jZZYvt2OtftDFG /bXQT/RTckH9Ta65BZWaVy79oEl8o6hzlh8luRk= X-Google-Smtp-Source: ACcGV60BJL5SsTfcfWHImLNreYKl0rTxSzRO1vJ8RWqa0iDo+ge3Xp7AX0+wNuVnDCVwje4MIrlA+y2Bm0w0IB/iXNM= X-Received: by 2002:aca:a6d1:: with SMTP id t78-v6mr970604oij.293.1538804149821; Fri, 05 Oct 2018 22:35:49 -0700 (PDT) MIME-Version: 1.0 References: <3451572b-7a30-c26c-6365-66067c5c6d6d@Apache.org> In-Reply-To: From: Damjan Jovanovic Date: Sat, 6 Oct 2018 07:33:45 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Other build ideas (was: Re: Windows Build Environment futures To: Apache OO Content-Type: multipart/alternative; boundary="000000000000baaa07057788c213" --000000000000baaa07057788c213 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Oct 5, 2018 at 8:45 PM George Karalis wrote: > > Hello everyone, > > Hi, welcome :) > Since am new to the project and working on understanding the build proces= s > this past > week, I agree with Damjan that the build system needs that overhaul. I > also agree that > a MSVC upgrade and a 64-bit windows build, is of high priority. Changing > the build > system will take months. > > As of the MSVC upgrade I have figured out how the whole configure works > and I =E2=80=98m > now integrating MSVC++ 14.15 to oowintool script, and trying to integrate > Windows 10 > SDK to the configure pipeline as well. After that I 'll try to figure out > the build errors and > fix everything to a successful build. If and when the upgrade completes, > we should also > investigate implementing targets - if there are none - for the build tool= . > > e.g. To compile for windows XP, we need the Windows XP platform toolset, > which installs > Windows 7.1 SDK, among other things and can build for Windows XP using > MSCV++ > 2017 and run something like: build =E2=80=94all =E2=80=94target=3D=E2=80= =9CwinXP=E2=80=9D. > > Don't do that. Once the port to gbuild is complete, the "build" command will disappear. Also the MSVC information is already stored in environment variables from set_soenv(.in) -> winenv.set.sh like COM, COMID, CCVER, CCNUMVER, etc. > Since I am unfamiliar with UNO, I can=E2=80=99t provide any points there,= but I > agree with that > separation of concerns, to keep only office functionality at the core of > the project. Also > another future idea would be to split - I don=E2=80=99t know if it's poss= ible - > each application, > Writer, Calc, Impress etc. in its own separate module, so they can build > independently > and, maybe?, debug easier, since someone can work on features on only the > app he/she > wants. > > As for the build system, after some research, I concluded on three modern > build pipelines, > CMake, SCons and Meson. Personally, I am in favour of CMake, with the onl= y > argument > that it=E2=80=99s backed by many large companies and that provides a safe= ty for > the future. The two > systems are almost identical, SCons is more extensible due to Python, but > all in all > it=E2=80=99s just a weight of each build system's pros and cons. Also, ho= w KDE > switched > to CMake was an interesting read. But, > I think Damjan knows better about the project, so > we can have an open discussion about which build system is better for > OpenOffice. > > CMake was already investigated by the original OOo team and found to be lacking. Unlike CMake's module-at-a-time approach, gbuild and SCons take the better approach of building a global project-wide list of dependencies for each and every file, which is deterministic and always correct (unlike the underspecified/overspecified module dependencies which give inconsistent build results), and then optimally parallelizing the build at a file level, instead of the artificial walls between modules limiting build speed. > I think that for now we should focus on upgrading our tools, new > compilers, SDKs, because > it's easier, it has been a week and I have done some progress already, an= d > it will ease > development a little, but ultimately changing to a modern build system ca= n > have tremendous > potential for the project, modern build systems integrate perfect with > Visual Studio, > Xcode, working on an IDE it=E2=80=99s always nice =F0=9F=99=82. > > Agreed :). > Kind regards, > George > > Regards Damjan --000000000000baaa07057788c213--