From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Annoyingly cautious make rules Date: Fri, 02 Dec 2011 10:24:34 -0800 Organization: UCLA Computer Science Department Message-ID: <4ED917E2.7020807@cs.ucla.edu> References: <83ehwnc97k.fsf@gnu.org> 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 1322850309 19014 80.91.229.12 (2 Dec 2011 18:25:09 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 2 Dec 2011 18:25:09 +0000 (UTC) Cc: Eli Zaretskii , Andreas Schwab , rms@gnu.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 02 19:25:02 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 1RWXnA-0000Y7-G7 for ged-emacs-devel@m.gmane.org; Fri, 02 Dec 2011 19:25:00 +0100 Original-Received: from localhost ([::1]:36665 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RWXn9-0000It-Oj for ged-emacs-devel@m.gmane.org; Fri, 02 Dec 2011 13:24:59 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:57398) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RWXn6-0000Id-Ae for emacs-devel@gnu.org; Fri, 02 Dec 2011 13:24:57 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RWXn4-0001Uk-LL for emacs-devel@gnu.org; Fri, 02 Dec 2011 13:24:56 -0500 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:47219) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RWXn2-0001Tr-MT; Fri, 02 Dec 2011 13:24:53 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id EED83A60007; Fri, 2 Dec 2011 10:24:42 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c139-WfDdVWW; Fri, 2 Dec 2011 10:24:41 -0800 (PST) Original-Received: from [192.168.1.10] (pool-71-189-109-235.lsanca.fios.verizon.net [71.189.109.235]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 48AFFA60004; Fri, 2 Dec 2011 10:24:41 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 131.179.128.62 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:146437 Archived-At: On 12/02/11 08:14, Stefan Monnier wrote: > IIUC it's because the expectation is that it's not run very often and > that current machines are fast enough to make it bearable, Both assumptions are false for me. I run 'configure' often (either directly, or indirectly because of 'make'), I have a current desktop (purchased within the past year), and 'configure' is not parallelized and takes 48 seconds real time. That's waaaayy too slow and detracts from getting real work done. It sounds like Richard has a similar problem, except that his machine is slower so his problem is even worse. Some of this problem comes back the 2011-03-20 patch that added the autogen subdir. That patch also made --enable-maintainer-mode the default, which wasn't an integral part of the autogen stuff and which (given the above issues) seems like it may not have been such a good idea. Another part of the problem is that even if I use "configure -C", "make" sometimes invokes "configure" without -C, which is reeeeally slow. And another part of this problem is that "configure -C" is poorly publicized. (Perhaps -C should be the default, but that's a bigger change.) Here's a patch that addresses the above issues, without making -C the default. =3D=3D=3D modified file 'ChangeLog' --- ChangeLog 2011-11-27 18:33:17 +0000 +++ ChangeLog 2011-12-02 18:13:04 +0000 @@ -1,3 +1,17 @@ +2011-12-02 Paul Eggert + + configure: Disable maintainer mode by default and suggest -C. + This causes make rules to be less annoyingly-cautious; see + . + * INSTALL.BZR, autogen.sh: Suggest "configure -C" instead of plain + "configure". + * Makefile.in (CONFIGUREFLAGS): New macro. + (config.status, bootstrap): Use it. This preserves -C and + --enable-maintainer-mode in subsidiary calls to "configure". + * configure.in (maintainer-mode): Change the default back to "no". + This was changed to 'yes' on 2011-03-20 as part of the autogen patch, + but the dependencies it adds cause problems in practice. + 2011-11-27 Jan Dj=C3=A4rv =20 * configure.in: Check for gtk_window_set_has_resize_grip. =3D=3D=3D modified file 'INSTALL.BZR' --- INSTALL.BZR 2011-06-25 17:51:03 +0000 +++ INSTALL.BZR 2011-12-02 17:54:11 +0000 @@ -26,7 +26,7 @@ You can then configure your build (use `./configure --help' to see options you can set): =20 - $ ./configure + $ ./configure -C =20 Some of the files that are included in the Emacs tarball, such as byte-compiled Lisp files, are not stored in Bazaar. Therefore, to =3D=3D=3D modified file 'Makefile.in' --- Makefile.in 2011-11-22 01:56:49 +0000 +++ Makefile.in 2011-12-02 18:11:50 +0000 @@ -66,6 +66,8 @@ =20 # =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Things `c= onfigure' Might Edit =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D =20 +CONFIGUREFLAGS=3D--cache-file=3D@cache_file@@MAINT@ --enable-maintainer-= mode + CC=3D@CC@ CFLAGS=3D@CFLAGS@ LDFLAGS=3D@LDFLAGS@ @@ -404,7 +406,7 @@ if [ -x ./config.status ]; then \ ./config.status --recheck; \ else \ - ./configure; \ + ./configure $(CONFIGUREFLAGS); \ fi =20 AUTOCONF_INPUTS =3D @MAINT@ $(srcdir)/configure.in $(srcdir)/aclocal.m4 @@ -936,7 +938,7 @@ if [ -x ./config.status ]; then \ ./config.status; \ else \ - ./configure --enable-maintainer-mode; \ + ./configure $(CONFIGUREFLAGS); \ fi $(MAKE) $(MFLAGS) info all =20 =3D=3D=3D modified file 'autogen.sh' --- autogen.sh 2011-03-31 04:24:03 +0000 +++ autogen.sh 2011-12-02 17:51:37 +0000 @@ -209,7 +209,7 @@ ## Let autoreconf figure out what, if anything, needs doing. autoreconf -i -I m4 || exit $? =20 -echo "You can now run \`./configure'." +echo "You can now run \`./configure -C'." =20 exit 0 =20 =3D=3D=3D modified file 'configure.in' --- configure.in 2011-11-30 16:23:05 +0000 +++ configure.in 2011-12-02 18:11:11 +0000 @@ -182,6 +182,9 @@ dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manual= s]) =20 +## Makefile.in needs the cache file name. +AC_SUBST(cache_file) + ## This is an option because I do not know if all info/man support ## compressed files, nor how to test if they do so. OPTION_DEFAULT_ON([compress-info],[don't compress the installed Info pag= es]) @@ -232,11 +235,11 @@ USE_XASSERTS=3Dno) =20 AC_ARG_ENABLE(maintainer-mode, -[AS_HELP_STRING([--disable-maintainer-mode], - [disable make rules and dependencies not useful (and som= etimes +[AS_HELP_STRING([--enable-maintainer-mode], + [enable make rules and dependencies not useful (and some= times confusing) to the casual installer])], USE_MAINTAINER_MODE=3D$enableval, - USE_MAINTAINER_MODE=3Dyes) + USE_MAINTAINER_MODE=3Dno) if test $USE_MAINTAINER_MODE =3D yes; then MAINT=3D else