From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Multi-platform build system Date: Fri, 14 Oct 2011 03:27:13 +0200 Message-ID: <87mxd4bbwu.fsf@wanadoo.es> References: <83pqi01rcl.fsf@gnu.org> <87vcrsbgzb.fsf_-_@wanadoo.es> <87fwiw8mcy.fsf@catnip.gol.com> <87r52gbei6.fsf@wanadoo.es> <87aa948k9e.fsf@catnip.gol.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1318555649 13673 80.91.229.12 (14 Oct 2011 01:27:29 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 14 Oct 2011 01:27:29 +0000 (UTC) Cc: emacs-devel@gnu.org To: Miles Bader Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 14 03:27:25 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1REWYV-0005y1-K9 for ged-emacs-devel@m.gmane.org; Fri, 14 Oct 2011 03:27:23 +0200 Original-Received: from localhost ([::1]:50146 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1REWYU-0005yx-Pb for ged-emacs-devel@m.gmane.org; Thu, 13 Oct 2011 21:27:22 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:49096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1REWYS-0005ys-FA for emacs-devel@gnu.org; Thu, 13 Oct 2011 21:27:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1REWYQ-000151-Ki for emacs-devel@gnu.org; Thu, 13 Oct 2011 21:27:20 -0400 Original-Received: from impaqm1.telefonica.net ([213.4.138.17]:35055 helo=telefonica.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1REWYQ-00014r-2v for emacs-devel@gnu.org; Thu, 13 Oct 2011 21:27:18 -0400 Original-Received: from IMPmailhost1.adm.correo ([10.20.102.38]) by IMPaqm1.telefonica.net with bizsmtp id kQti1h00g0piX6q01RTFX6; Fri, 14 Oct 2011 03:27:15 +0200 Original-Received: from qcore ([83.45.165.175]) by IMPmailhost1.adm.correo with BIZ IMP id kRTE1h0033nNm431hRTEl3; Fri, 14 Oct 2011 03:27:15 +0200 X-Brightmail-Tracker: AAAAAA== X-original-sender: 981711563@telefonica.net In-Reply-To: <87aa948k9e.fsf@catnip.gol.com> (Miles Bader's message of "Fri, 14 Oct 2011 09:55:09 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 213.4.138.17 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:145179 Archived-At: Miles Bader writes: > =C3=93scar Fuentes writes: >> Experience shows that a cmake spec usually is a fraction of the >> length of the equivalent autoconf+automake/Makefile spec, >> line-wise. Maintenance work is proportionally reduced. It's easier >> to add new features, too. > > Off-topic, but I'm quite skeptical of this claim, compared to > automake. Makefile.am files tend to be pretty darn close to the > minimal amount of information required to build (in typical cases: a > list of source files), and very easy to extend. > > Automake's implementation is not very pretty, but the interface > presented to the user is extremely good. Well, automake scripts can be easy once you know how to handle them, but auto* seems hard to learn. My first experience with a big and complex project was LLVM (www.llvm.org) What they have now is half as complex as the system I wrote because they removed features (because of changing trade-off). It took me a few weekends to write (keep in mind that I was a total beginner with cmake) being the main time-consuming factor the large amount of time each test build required. Since, people who had no previous experience with autoconf/make nor with cmake claim to be more at easy with the cmake build. All of this is very subjective, of course. The Emacs build is not your typical C/C++ project, which cmake is optimized for, but neither it is LLVM, and it worked very well.