GNU bug report logs - #78481
[PATCH V2] Support for the Algol 68 language

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: automake-patches; Reported by: Bruno Haible <bruno@HIDDEN>; Keywords: patch; dated Sun, 18 May 2025 14:41:01 UTC; Maintainer for automake-patches is automake-patches@HIDDEN.

Message received at 78481 <at> debbugs.gnu.org:


Received: (at 78481) by debbugs.gnu.org; 18 May 2025 21:04:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 18 17:04:53 2025
Received: from localhost ([127.0.0.1]:60991 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uGlBl-0007fh-16
	for submit <at> debbugs.gnu.org; Sun, 18 May 2025 17:04:53 -0400
Received: from frenzy.freefriends.org ([198.99.81.75]:43154
 helo=freefriends.org)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <karl@HIDDEN>)
 id 1uGlAQ-0007aW-Eg
 for 78481 <at> debbugs.gnu.org; Sun, 18 May 2025 17:03:30 -0400
X-Envelope-From: karl@HIDDEN
Received: from freefriends.org (localhost [127.0.0.1])
 by freefriends.org (8.16.1/8.16.1) with ESMTPS id 54IL3IdZ2898808
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT);
 Sun, 18 May 2025 15:03:19 -0600
Received: (from apache@localhost)
 by freefriends.org (8.16.1/8.14.7/Submit) id 54IL3IoT2898807;
 Sun, 18 May 2025 15:03:18 -0600
Date: Sun, 18 May 2025 15:03:18 -0600
Message-Id: <202505182103.54IL3IoT2898807@HIDDEN>
From: Karl Berry <karl@HIDDEN>
To: jemarch@HIDDEN
Subject: Re: [bug#78481] [PATCH V2] Support for the Algol 68 language
In-Reply-To: <87y0uu7xnl.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78481
Cc: ibuclaw@HIDDEN, autoconf-patches@HIDDEN, eggert@HIDDEN,
 rdubner@HIDDEN, arthur.cohen@HIDDEN, jklowden@HIDDEN,
 78481 <at> debbugs.gnu.org, bruno@HIDDEN, gaiusmod2@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Personally I prefer A68 and A68FLAGS, without the C.

(And I'd like to make the Automake release quite soon.)

Thanks,
Karl (for Automake)




Information forwarded to automake-patches@HIDDEN:
bug#78481; Package automake-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 May 2025 15:21:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 18 11:21:27 2025
Received: from localhost ([127.0.0.1]:59156 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uGfpP-0000IM-0D
	for submit <at> debbugs.gnu.org; Sun, 18 May 2025 11:21:27 -0400
Received: from lists.gnu.org ([2001:470:142::17]:48794)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <jemarch@HIDDEN>) id 1uGfpL-0000I1-ML
 for submit <at> debbugs.gnu.org; Sun, 18 May 2025 11:21:24 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <jemarch@HIDDEN>)
 id 1uGfpD-0008I9-7s; Sun, 18 May 2025 11:21:16 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <jemarch@HIDDEN>)
 id 1uGfp9-0006Lh-VU; Sun, 18 May 2025 11:21:11 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=ZzLOEQd6XIl/IN+qf7JSgfbETGXSLVADlz1mUraHBBE=; b=o+OHaJNt4Ym5obHRLhOW
 FHtHJ4p/UGyP83xfml06TCMjqR4w61XYOsLx8kcRJA7VkNoM7faTk8weBreGCvdu5dARg3UqpCP+I
 YeEzG4X1P0NdX+1ocbUJ5H15Dhqe680MqIx8d6xuDDqfexehXhHtUkks2u62oCFCHVIWYNnTWSanP
 OXSyFFqBhZfkd63qhhwWDyA/IG1wDD5vT15awNSc0Lq0RsRsQJ9AWPngANsS3FD/6468t8XoXaRYm
 bxoxGCTTdZLH44RCFW+tp69Pl46VFIxtRfO0KZapQR2r/ufHmu7a4qEOHBlrZdvrDOl0Pw55CKf5d
 7tVwwa/yszXWSw==;
From: "Jose E. Marchesi" <jemarch@HIDDEN>
To: Bruno Haible <bruno@HIDDEN>
Subject: Re: [PATCH V2] Support for the Algol 68 language
In-Reply-To: <5211192.097qLLJo0e@nimes>
References: <5211192.097qLLJo0e@nimes>
Date: Sun, 18 May 2025 17:21:02 +0200
Message-ID: <87y0uu7xnl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: submit
Cc: Iain Buclaw <ibuclaw@HIDDEN>, autoconf-patches@HIDDEN,
 Paul Eggert <eggert@HIDDEN>, "James K.
 Lowden" <jklowden@HIDDEN>, Robert Dubner <rdubner@HIDDEN>,
 automake-patches@HIDDEN, arthur.cohen@HIDDEN,
 Gaius Mulley <gaiusmod2@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


[Adding in CC:
 - Iain Buclaw, the D front-end maintainer for GCC.
 - Arthur Cohen, the Rust front-end maintainer for GCC.,
 - James K. Lowden and Robert Dubner, the COBOL front-end maintainers
   for GCC.]

Hi Bruno.

> In <https://lists.gnu.org/archive/html/autoconf-patches/2025-04/msg00000.=
html>
> Paul Eggert renamed the variable A68 =E2=86=92 A68C, with the rationale:
>   "Use the shell variable A68C, not A68,
>    for the compiler.  This is for consistency of names compared to
>    support for other languages like Go."
>
> In <https://lists.gnu.org/archive/html/autoconf-patches/2025-05/msg00000.=
html>
> Jos=C3=A9 Marchesi renamed the variable A68FLAGS =E2=86=92 A68CFLAGS, wit=
h the rationale:
>   "as mandated by the GCS"
>
> The result of these renamings makes no sense to me:
>
>   1) The GNU Algol 68 compiler is meant to be named 'ga68', not 'ga68c'. =
[1]
>      The prefix 'g' is specific for the GNU implementation; it's normal
>      to ignore it here, when we talk about conventions that should encomp=
ass
>      non-GNU implementations as well.

Some other GCC compilers use 'gcc' as a prefix, which I think could also
be considered "specific for the GNU implementation".  If so, we would
have:

  gcc      CC
  g++      CXX
  gdc      DC
  ga68     A68
  gcobol   COBOL
  gm2      M2
  objc     OBJC
  gccrs    RS
  gccgo    GO

>   2) The GCS [2] has examples where the variable name is the program name,
>      uppercased.
>
>   3) As a result, users would be looking for a command 'a68c', but there =
is
>      no such command.

Yes I agree, that is bad.

> I'm bringing this up because a similar case will be with the GNU Modula-2
> compiler, when we want to support it in Autoconf and Automake.
>
>   * The GNU Modula-2 compiler is called 'gm2'. Therefore it will be natur=
al
>     (per GCS [2]) to call the variables M2 and M2FLAGS.
>
>   * Calling the variable M2C would be very very confusing, because there =
is
>     a Modula-2 to C translator called 'm2c' [3][4][5] and, unlike gm2, it
>     produces C code, not an executable.
>
> And the big picture should also consider the GNU D compiler, when we want
> to support it in Autoconf and Automake.
>
>   * The GNU D compiler is called 'gdc'. Therefore, and because a 1-letter
>     variable 'D' would be really odd, it makes sense to called the program
>     variable 'DC'.
>
>   * Whether the flags variable is then called DFLAGS (for consistency with
>     CFLAGS) or DCFLAGS (per GCS [2]), can be debated.
>
> I think part of the problem comes from looking at the Go support.
>
>   * Go is different than Algol 68 and Modula-2. The reference implementat=
ion
>     ('go') and the GNU implementation ('gccgo') are multi-purpose program=
s.
>     To compile a program, one uses
>       $ go build foo.go
>       or
>       $ gccgo build foo.go
>     To compile and run a program, one uses
>       $ go run foo.go
>       or
>       $ gccgo run foo.go
>
>   * The AC_PROG_GO macro [6] sets variables GOC and GOFLAGS. Which already
>     violates the letter of the GCS [2].
>
> Since the AC_PROG_GO macro already violates the letter of the GCS [2] and=
 is
> instead following the rule "The compiler options for programming language=
 X
> is in variable XFLAGS", it is hard to reach both goals at the same time:
>   (I) Following the letter of the GCS [2],
>   (II) Consistency with the existing language support in Autoconf.
>
> I can see two reasonable ways of naming the variables; the current propos=
al
> from Jos=C3=A9 is, unfortunately, not among them:

It actually was, initially ^^

> Proposal A: Define (I) as the more important goal.
>
>   GO            GOFLAGS
>
>   A68           A68FLAGS
>
>   M2            M2FLAGS
>
>   DC            DCFLAGS
>
>   This implies changing AC_PROG_GO so that it defines the GO variable, and
>   deprecating the GOC variable.
>
> Proposal B: Define (II) as the more important goal.
>
>   GOC           GOFLAGS
>
>   A68 or A68C   A68FLAGS
>
>   M2            M2FLAGS
>
>   DC            DFLAGS
>
>   Here (II) is nearly fulfilled, except that we cannot use M2C as variabl=
e,
>   as explained above. So, goal (II) is not entirely reached. Instead, the
>   *FLAGS variable depends on the programming language, not on the compiler
>   command. Goal (I) cannot be reached either, but it's a reasonable compr=
omise
>   nevertheless.

For Algol 68 I always preferred A68/A68FLAGS to A68C/A68CFLAGS, and it
matches both proposals A and B.

So if the Autoconf and Automake maintainers agree to use Proposal A or
Proposal B, I will happily submit patches to change it in Automake and
update the Autoconf patch to reflect it.  Fortunately the Algol 68
support in Automake hasn't been released yet, so there is still time to
correct this.




Information forwarded to automake-patches@HIDDEN:
bug#78481; Package automake-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 May 2025 14:40:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 18 10:40:57 2025
Received: from localhost ([127.0.0.1]:58964 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uGfCC-0006KE-J8
	for submit <at> debbugs.gnu.org; Sun, 18 May 2025 10:40:57 -0400
Received: from lists.gnu.org ([2001:470:142::17]:42302)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <bruno@HIDDEN>) id 1uGfCA-0006Jc-8S
 for submit <at> debbugs.gnu.org; Sun, 18 May 2025 10:40:55 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bruno@HIDDEN>)
 id 1uGfC1-0002Zv-2c; Sun, 18 May 2025 10:40:45 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.21])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bruno@HIDDEN>)
 id 1uGfBy-00017k-RW; Sun, 18 May 2025 10:40:44 -0400
ARC-Seal: i=1; a=rsa-sha256; t=1747579230; cv=none;
 d=strato.com; s=strato-dkim-0002;
 b=ILSBd0yWs/K4tfrLmcblUVrQxOs/dP3zKPFTMPpZZL3K1ifEz1Wktq22Iuk/6HhERG
 IyX7RQvEpCTgEl+X7xKHOltMoS3t/P4p7CD7sY+wec76BkUCsR0TqffJ593PCzkcPIoQ
 xwNJerKQv7eDR1x8Do+kPV3Eqf13MdqusIoIPEhxi9hgK5ZS3hTMYBBi1YRbXuG4pI70
 T8YsvxMMog+VE5nSqhzMR8QbtSgJpAgZuRvxepFBa03w4MxfoGMzB+Kf2obmbrzW+h0O
 nSZ4HCZw6dBusxPpthffpMVxvCItoG/31beno3ITAdiHgfgvn/ANi7bpdMah8xpJqTEr
 2xyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1747579230;
 s=strato-dkim-0002; d=strato.com;
 h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender;
 bh=NwwmeaF7ErBmEKE88I96Q04nq79nlk8RcvSRQio0Tu0=;
 b=K5b5MzBE2HHmnjNDxLDobxLy58VKOPC0AIEesTp3vkEMngFTf85lhnsaieNAPJHZpj
 pdskL9PWvQQ33myTrw5HuHjif8rosqFwyM2v/o3YqaDwSGwQFMeKPZYRGoBt3MjCBLQ7
 Rv8B249Mg91ZlaoQ6/y8lbeJIw+FdAfpg8Vje/ulCVncUvqPA6mrkZ3kvEhiY6N5+e5e
 peZI8mhWXVF8oBCyAOKY9S7ecEX7umQjmZnW1tKiorRezdLOxNi92c8jNjf6zlrmosCh
 hl3lhSM2KqtGuRvL7LwPcFehHXm2ZZ4o7P/oC0OouDvsnlUCyz6OAlBn001vQYgjkfDn
 nUNg==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1747579230;
 s=strato-dkim-0002; d=clisp.org;
 h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender;
 bh=NwwmeaF7ErBmEKE88I96Q04nq79nlk8RcvSRQio0Tu0=;
 b=Nx8fX7KPYrPWrrxdZjIDZlb7emwHuree+LOCQ8JdojauZOb9brRnfb8bKoYt7ASSzv
 o+atUiIzEXsDedztxKkVngY532Fy1fVpD9M6/mRMgskPdkW8YkSOTgl+UYMvBRzIMkKc
 DfzDRh5Cw1/xo+JELpDE0dDEcc/YNBbMVlNvIiNbf2sj+kLsEdahRSNh71vlrWbjWqn+
 zqy7mhZolI06wNhH7co6olFfRi3nIHpUBEOnjgUwptnFE832tnoflzVHnRVq4y5+TAyj
 LiS3cJY5r3dgcqPu6qUCehHPqzDBUUCvO80wW/i2iqe2qWCaJUDEqzdT1eDSLqg1NS6o
 XoWg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1747579230;
 s=strato-dkim-0003; d=clisp.org;
 h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender;
 bh=NwwmeaF7ErBmEKE88I96Q04nq79nlk8RcvSRQio0Tu0=;
 b=Si7kBFV4LqKErJguNfqa6VBJreu33MutA30iVJmhRTEfwGb5X/nOPML/RichkWf3K2
 m8WPrEj2cLvWFxSoaoAg==
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlLnY4jECd2hdUURIbZgL8PX2QiTuZ3cdB8X/nqj+aFzsvOBt0ZSCr0I2Ex3fv8Pqp"
Received: from nimes.localnet by smtp.strato.de (RZmta 51.3.0 AUTH)
 with ESMTPSA id N7dcf814IEeUARG
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Sun, 18 May 2025 16:40:30 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
To: autoconf-patches@HIDDEN, Paul Eggert <eggert@HIDDEN>
Subject: Re: [PATCH V2] Support for the Algol 68 language
Date: Sun, 18 May 2025 16:40:29 +0200
Message-ID: <5211192.097qLLJo0e@nimes>
Organization: GNU
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Received-SPF: none client-ip=85.215.255.21; envelope-from=bruno@HIDDEN;
 helo=mo4-p00-ob.smtp.rzone.de
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001,
 SPF_NONE=0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
Cc: Gaius Mulley <gaiusmod2@HIDDEN>, automake-patches@HIDDEN,
 =?ISO-8859-1?Q?Jos=E9?= Marchesi <jemarch@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

Reply to this mail thread:
https://lists.gnu.org/archive/html/autoconf-patches/2025-01/msg00014.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-01/msg00015.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-01/msg00016.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-02/msg00000.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-02/msg00004.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-03/msg00000.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-04/msg00000.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-04/msg00001.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-05/msg00000.html
https://lists.gnu.org/archive/html/autoconf-patches/2025-05/msg00004.html

In <https://lists.gnu.org/archive/html/autoconf-patches/2025-04/msg00000.ht=
ml>
Paul Eggert renamed the variable A68 =E2=86=92 A68C, with the rationale:
  "Use the shell variable A68C, not A68,
   for the compiler.  This is for consistency of names compared to
   support for other languages like Go."

In <https://lists.gnu.org/archive/html/autoconf-patches/2025-05/msg00000.ht=
ml>
Jos=C3=A9 Marchesi renamed the variable A68FLAGS =E2=86=92 A68CFLAGS, with =
the rationale:
  "as mandated by the GCS"

The result of these renamings makes no sense to me:

  1) The GNU Algol 68 compiler is meant to be named 'ga68', not 'ga68c'. [1]
     The prefix 'g' is specific for the GNU implementation; it's normal
     to ignore it here, when we talk about conventions that should encompass
     non-GNU implementations as well.

  2) The GCS [2] has examples where the variable name is the program name,
     uppercased.

  3) As a result, users would be looking for a command 'a68c', but there is
     no such command.

I'm bringing this up because a similar case will be with the GNU Modula-2
compiler, when we want to support it in Autoconf and Automake.

  * The GNU Modula-2 compiler is called 'gm2'. Therefore it will be natural
    (per GCS [2]) to call the variables M2 and M2FLAGS.

  * Calling the variable M2C would be very very confusing, because there is
    a Modula-2 to C translator called 'm2c' [3][4][5] and, unlike gm2, it
    produces C code, not an executable.

And the big picture should also consider the GNU D compiler, when we want
to support it in Autoconf and Automake.

  * The GNU D compiler is called 'gdc'. Therefore, and because a 1-letter
    variable 'D' would be really odd, it makes sense to called the program
    variable 'DC'.

  * Whether the flags variable is then called DFLAGS (for consistency with
    CFLAGS) or DCFLAGS (per GCS [2]), can be debated.

I think part of the problem comes from looking at the Go support.

  * Go is different than Algol 68 and Modula-2. The reference implementation
    ('go') and the GNU implementation ('gccgo') are multi-purpose programs.
    To compile a program, one uses
      $ go build foo.go
      or
      $ gccgo build foo.go
    To compile and run a program, one uses
      $ go run foo.go
      or
      $ gccgo run foo.go

  * The AC_PROG_GO macro [6] sets variables GOC and GOFLAGS. Which already
    violates the letter of the GCS [2].

Since the AC_PROG_GO macro already violates the letter of the GCS [2] and is
instead following the rule "The compiler options for programming language X
is in variable XFLAGS", it is hard to reach both goals at the same time:
  (I) Following the letter of the GCS [2],
  (II) Consistency with the existing language support in Autoconf.

I can see two reasonable ways of naming the variables; the current proposal
from Jos=C3=A9 is, unfortunately, not among them:

Proposal A: Define (I) as the more important goal.

  GO            GOFLAGS

  A68           A68FLAGS

  M2            M2FLAGS

  DC            DCFLAGS

  This implies changing AC_PROG_GO so that it defines the GO variable, and
  deprecating the GOC variable.

Proposal B: Define (II) as the more important goal.

  GOC           GOFLAGS

  A68 or A68C   A68FLAGS

  M2            M2FLAGS

  DC            DFLAGS

  Here (II) is nearly fulfilled, except that we cannot use M2C as variable,
  as explained above. So, goal (II) is not entirely reached. Instead, the
  *FLAGS variable depends on the programming language, not on the compiler
  command. Goal (I) cannot be reached either, but it's a reasonable comprom=
ise
  nevertheless.

Bruno

[1] https://gitweb.git.savannah.gnu.org/gitweb/?p=3Dautomake.git;a=3Dblob;f=
=3Dt/a68-demo.sh;h=3Da69d2328bbe7d74c65bdfd19be2e49e7b30a038f;hb=3DHEAD#l19
[2] https://www.gnu.org/prep/standards/html_node/Command-Variables.html
[3] https://www.mathematik.uni-ulm.de/modula/man/man1/m2c.html
[4] https://www.nongnu.org/m2c/
[5] https://github.com/m2sf/m2c
[6] https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.7=
2/html_node/Go-Compiler.html







Acknowledgement sent to Bruno Haible <bruno@HIDDEN>:
New bug report received and forwarded. Copy sent to automake-patches@HIDDEN. Full text available.
Report forwarded to automake-patches@HIDDEN:
bug#78481; Package automake-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 18 May 2025 21:15:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.