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 AD81D200D52 for ; Sat, 2 Dec 2017 15:19:21 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id AC279160BF8; Sat, 2 Dec 2017 14:19: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 F2008160BF7 for ; Sat, 2 Dec 2017 15:19:20 +0100 (CET) Received: (qmail 55421 invoked by uid 500); 2 Dec 2017 14:19:15 -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 55410 invoked by uid 99); 2 Dec 2017 14:19:14 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Dec 2017 14:19:14 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 9BBE61A0991 for ; Sat, 2 Dec 2017 14:19:13 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.148 X-Spam-Level: X-Spam-Status: No, score=-2.148 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_NEUTRAL=0.652] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id p-sUbXqnlSrP for ; Sat, 2 Dec 2017 14:19:11 +0000 (UTC) Received: from resqmta-po-09v.sys.comcast.net (resqmta-po-09v.sys.comcast.net [96.114.154.168]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id CCB205F56D for ; Sat, 2 Dec 2017 14:19:10 +0000 (UTC) Received: from resomta-po-06v.sys.comcast.net ([96.114.154.230]) by resqmta-po-09v.sys.comcast.net with ESMTP id L8czex9Xt7cU5L8dKeErmH; Sat, 02 Dec 2017 14:19:10 +0000 Received: from [192.168.199.10] ([69.251.90.98]) by resomta-po-06v.sys.comcast.net with SMTP id L8dJeml3514XPL8dJe3fY9; Sat, 02 Dec 2017 14:19:10 +0000 From: Jim Jagielski Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: A more sane way to build - SCons, deCygwination and other hopes Date: Sat, 2 Dec 2017 09:19:08 -0500 References: To: dev@openoffice.apache.org In-Reply-To: Message-Id: X-Mailer: Apple Mail (2.3273) X-CMAE-Envelope: MS4wfNS8346wRnfrj0CR2YH9MahnRzCSL1kmzBO/WKlK4yDML79MtSqMxuF4nSpIyPvw4RW+MocxNczjtH78zih+gey2/+JH9D0eZxGDKYY4BOGwuVP0Ohqe FoxrUOiq6ZU4xLjDTFgWzKgS/W8j4kQ7A3wjHqqEP8To5PPDsFD/e1Gs archived-at: Sat, 02 Dec 2017 14:19:21 -0000 Playing devils advocate, does it make sense to introduce Yet Another Build System at this stage? Also, there are a few projects that I know of that use SCons. In general, one of the most popular common threads related to them are "Why the hell are you using SCons?" :) > On Dec 2, 2017, at 3:05 AM, Damjan Jovanovic wrote: > > 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, LinkTarget.mk and > platform/freebsd.mk 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