From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-4.1 required=3.0 tests=AWL,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id A957B1F463 for ; Mon, 16 Sep 2019 20:47:51 +0000 (UTC) Received: from localhost ([::1]:39898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9xuY-0007B5-DT for normalperson@yhbt.net; Mon, 16 Sep 2019 16:47:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55598) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9xuF-000724-IO for bug-gnulib@gnu.org; Mon, 16 Sep 2019 16:47:34 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56723) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1i9xuE-0000zP-VF; Mon, 16 Sep 2019 16:47:31 -0400 Received: from [50.226.24.42] (port=46654 helo=pdslaptop) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1i9xuE-0003yn-An; Mon, 16 Sep 2019 16:47:30 -0400 Message-ID: Subject: Re: Why does gnulib use makefile rules rather than configure? From: Paul Smith To: Paul Eggert Date: Mon, 16 Sep 2019 16:47:29 -0400 In-Reply-To: <52c19884-12ea-ef71-9db4-156fdf68fbe0@cs.ucla.edu> References: <52c19884-12ea-ef71-9db4-156fdf68fbe0@cs.ucla.edu> Organization: GNU's Not UNIX! Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: psmith@gnu.org Cc: bug-gnulib@gnu.org Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: "bug-gnulib" On Sun, 2019-09-08 at 16:40 -0700, Paul Eggert wrote: > Admittedly GNU Make is a special case, since you want to build it > without having 'make'. And if it's just a few Gnulib modules and > they're not doing anything fancy, perhaps we can modify the modules > to use 'configure' substitutions instead of 'make' rules. I enhanced GNU make's build.sh to be fancy enough to manage some basic substitutions, which are good enough for the current suite of gnulib modules. We'll see what happens in the future! I recognize there are some situations where make snippets are really the best way, but it seems like they're being used even in places where configure.ac would be just as simple. I think it would be a good "statement of policy" for gnulib that if there are equivalent ways of handling it, configuration.ac should be preferred over Makefile. I understand I'm probably the only person who cares. > On the other hand perhaps it's time to stop worrying about building > GNU make without a 'make'. We don't worry that GCC can't be built > on a system without a C compiler, so why worry about building GNU > Make on a system without 'make'? Well, IMO the two situations are not comparable: no one would expect a C compiler to be written in (for example) assembly (and anyway what would your assembler be written in... maybe sh?!?! :)). I take your point but I daresay that if GCC had managed to not require a C compiler to build itself, somehow, they would surely be unhappy about ditching this very useful capability in order to satisfy gnulib module builds :). Similarly I'm loathe to ditch this "make-less build" capability for GNU make unless/until there's no alternative.