Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 48A3E200D54 for ; Fri, 8 Dec 2017 10:53:21 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 47227160C0D; Fri, 8 Dec 2017 09:53:21 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 66E2E160BF2 for ; Fri, 8 Dec 2017 10:53:20 +0100 (CET) Received: (qmail 38968 invoked by uid 500); 8 Dec 2017 09:53:19 -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 38957 invoked by uid 99); 8 Dec 2017 09:53:19 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Dec 2017 09:53:19 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id E95211805BE for ; Fri, 8 Dec 2017 09:53:18 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.528 X-Spam-Level: X-Spam-Status: No, score=-0.528 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_MED=-2.3, SPF_SOFTFAIL=0.972] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id n8I1vwuiss0U for ; Fri, 8 Dec 2017 09:53:17 +0000 (UTC) Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.141]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 910125F39E for ; Fri, 8 Dec 2017 09:53:16 +0000 (UTC) Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 1FE3920E3E for ; Fri, 8 Dec 2017 10:53:09 +0100 (CET) Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 3ytSMm2fDBz9rxQ; Fri, 8 Dec 2017 10:53:08 +0100 (CET) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 08 Dec 2017 10:53:08 +0100 From: Peter Kovacs To: dev@openoffice.apache.org Cc: Damjan Jovanovic Subject: Re: A more sane way to build - SCons, deCygwination and other hopes Organization: Apache OpenOffice In-Reply-To: References: <1512204157.993.12.camel@apache.org> Message-ID: X-Sender: petko@apache.org User-Agent: Posteo Webmail archived-at: Fri, 08 Dec 2017 09:53:21 -0000 Hi Damjan, Do you have any reason not to use the environment class [2]? I think it does the same as the Plattformclass you created. On this overview ocument [1] you see in section 3.1 you see the architecture of Scons. I think we should try to use as much preconfigs as possble and minimize customization as much as possible. All the best Peter [1] http://scons.org/doc/production/PDF/scons-design.pdf [2] http://scons.org/doc/production/HTML/scons-user.html#chap-environments Am 07.12.2017 03:10 schrieb Damjan Jovanovic: > On Sat, Dec 2, 2017 at 10:42 AM, Peter Kovacs > wrote: > >> sounds great from what you write. Lets try SCons build system. >> Where can I find your changes so I can help? Have you checked them >> into >> trunk? > > Please find a patch with my current SCons changes attached. > > Currently only main/fileaccess builds, on Windows and FreeBSD, and > doesn't even build completely as I haven't done the "ComponentTarget" > yet. You run "scons" in main/ or "scons -u" in main/fileaccess. AOO > has to already be built. > >> I have some expreience with python, which will come in handy. > > That's great to hear. Please let me know what you think about the > structure, classes, should we use globals and soenv and SCon's > Environment, etc. There is no easier time to make changes than at the > beginning. > > Should we make a separate branch for SCons or develop in trunk? It > doesn't alter any existing files so it shouldn't interfere with our > existing build. > >> Meanwhile I read Scons Documentation. >> >> Am Samstag, den 02.12.2017, 10:05 +0200 schrieb Damjan Jovanovic: >>> Hi >>> >>> After days of failing to add a few new simple features to gbuild, >>> I've now >>> reached my limits, and have begun experimenting with the SCons >> build >>> system >>> instead. >>> >>> It's starting to work. Having ported some of gbuild.mk [1], >> LinkTarget.mk >>> and >>> platform/freebsd.mk [2] to SCons, as well as a module's local >> gbuild >>> files, I >>> can now compile files and (badly) link them into libraries, and >> clean >>> the >>> build. >>> >>> SCons is an advanced next-generation build system like gbuild, >> with >>> high >>> level declarative syntax in Python, support for multiple modules >> that >>> build >>> in parallel, header dependencies, file change detection through >> MD5 >>> sums of >>> contents instead of timestamps so rebuilds are faster, etc. It >> builds >>> C, >>> C++, Objective C, Java, Fortran, D, the sorely necessary Flex and >>> Yacc that >>> gbuild doesn't support. It supports tons of platforms and >> compilers, >>> including OS/2. It's maintainable and usable, can print debugging >>> info such >>> as dependency trees, and is generally pleasant to work with. >> We've >>> discussed it before on this list, but I never got to trying it >> until >>> now. >>> >>> Virtually everything gbuild does, is already done by SCons, and >> often >>> done >>> much better. The syntax for SCons files is similar/related to >>> gbuild's >>> syntax, so an automated conversion from gbuild to SCons might >> even be >>> possible. >>> >>> So far, I have defines, includes and C[XX]FLAGS working. I've >>> structured it >>> a bit better, with platform-specific files in classes that only >>> provide >>> variables to slot in higher up, instead of one giant set of >> globally >>> mutable global variables like in gbuild. Linking still needs a >> bit of >>> work. >>> Windows is next on the list, as Cygwin will be the ultimate test >> of >>> whether >>> we can use it. >>> >>> I am very hopeful. SCons has a long history and is used by other >>> projects, >>> while only OO.o derivatives use gbuild. It's well documented. It >>> supports >>> features we need which gbuild doesn't, like library version names >> and >>> flex/yacc. It's supposed to work on Windows, both inside and >> outside >>> of >>> Cygwin and could help us build without Cygwin some day. It >> supports >>> many >>> versions of Visual Studio and could help us in upgrading to a new >>> one. We >>> will need to add custom builders to SCons for our custom file >> formats >>> like >>> IDL, but it's just Python, not my favorite language but >> infinitely >>> better >>> than GNU make. >>> >>> It would help if someone could review my changes, as I am not >> very >>> familiar >>> with Python and there might be better ways to write some of the >> code. >>> I'll >>> post a patch for review after some further development. >>> >>> Thank you >>> Damjan >> >> > --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org >> For additional commands, e-mail: dev-help@openoffice.apache.org > > > > Links: > ------ > [1] http://gbuild.mk > [2] http://freebsd.mk > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org > For additional commands, e-mail: dev-help@openoffice.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org For additional commands, e-mail: dev-help@openoffice.apache.org