Received: (at 75807) by debbugs.gnu.org; 25 Jan 2025 00:10:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 24 19:10:58 2025 Received: from localhost ([127.0.0.1]:47709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tbTlK-0003zm-DU for submit <at> debbugs.gnu.org; Fri, 24 Jan 2025 19:10:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41714) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <jemarch@HIDDEN>) id 1tbTlI-0003zW-Di for 75807 <at> debbugs.gnu.org; Fri, 24 Jan 2025 19:10:57 -0500 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 1tbTlC-0006iq-Nr; Fri, 24 Jan 2025 19:10:50 -0500 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=SsTg6EqxAAD6pydjA977NW4+f6abOOb6ATicyg+VtWs=; b=SZpljB0mSQBNpyQkCSwo MkxxHi5Za3JZiyKB4LeUSOfjkfDJA9zuQzAoIoGNt9zaDVnVbEVJeiVV+QCNVcfZTky8iA/Pn/2M9 LJdJ86xdviVWjOY0NXRTvxZWva+MZ4d+K9GIYmQ443cIpZXSEgjvTuZawBj0p7ttmbHeuYm8E7LdY 7/9IRJVX5JsUNhvtIbwTXTF2L1wpta+L3XEskBq3HTTbBKo19R4YngC936HFK21L0NhtqYmsYskyr Oczcf3v5xVhU9nMaz2BwmyKg9r+6VjsB63yMn0A9XAQVB86VbMIgqNelEBK7lO0kj38ll3LNxgPlF PyH2fIUr7jJMyA==; From: "Jose E. Marchesi" <jemarch@HIDDEN> To: Karl Berry <karl@HIDDEN> Subject: Re: [bug#75807] [PATCH,WIP] Support for the Algol 68 language In-Reply-To: <202501242155.50OLthGA062446@HIDDEN> (Karl Berry's message of "Fri, 24 Jan 2025 14:55:43 -0700") References: <202501242155.50OLthGA062446@HIDDEN> Date: Sat, 25 Jan 2025 01:10:43 +0100 Message-ID: <87jzajlpmk.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75807 Cc: 75807 <at> debbugs.gnu.org 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 (---) Hello Karl. > the compiler is useful > > What Algol 68 code does anyone want to use or write nowadays? > Just curious. Algol 68 is a very good programming language. Once implemented in a modern optimized compiler and carefully extended, I plan to use it for many of my non-C projects. > But I am not familiar with the Automake internals > > Neither am I, but we plunge ahead as best we can anyway. :) > and it is likely I am missing something and/or doing something wrong. > > It looks reasonable to me at first glance. But one crucial thing is > missing: test(s) to exercise the functionality. Just compiling > hello,world and running it should suffice for starters. > > Can you write a test please? --thanks, karl. Sure thing. Will send a V2. I see this triggered a ddebugs ticket. Should I send the [PATCH V2] by replying to this email, or start a new thread? If the second, shall I add 75807 <at> debbugs.gnu.org in CC? How does it work? Thanks!
automake-patches@HIDDEN
:bug#75807
; Package automake-patches
.
Full text available.Received: (at 75807) by debbugs.gnu.org; 24 Jan 2025 21:56:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 24 16:56:18 2025 Received: from localhost ([127.0.0.1]:47283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tbRf0-0002j2-Lt for submit <at> debbugs.gnu.org; Fri, 24 Jan 2025 16:56:18 -0500 Received: from frenzy.freefriends.org ([198.99.81.75]:57840 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 1tbRey-0002is-Tk for 75807 <at> debbugs.gnu.org; Fri, 24 Jan 2025 16:56:17 -0500 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 50OLthO9062447 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 24 Jan 2025 14:55:43 -0700 Received: (from apache@localhost) by freefriends.org (8.16.1/8.14.7/Submit) id 50OLthGA062446; Fri, 24 Jan 2025 14:55:43 -0700 Date: Fri, 24 Jan 2025 14:55:43 -0700 Message-Id: <202501242155.50OLthGA062446@HIDDEN> From: Karl Berry <karl@HIDDEN> To: jemarch@HIDDEN Subject: Re: [bug#75807] [PATCH,WIP] Support for the Algol 68 language In-Reply-To: <877c6ldppo.fsf@HIDDEN> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 75807 Cc: 75807 <at> debbugs.gnu.org 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.7 (-) the compiler is useful What Algol 68 code does anyone want to use or write nowadays? Just curious. But I am not familiar with the Automake internals Neither am I, but we plunge ahead as best we can anyway. and it is likely I am missing something and/or doing something wrong. It looks reasonable to me at first glance. But one crucial thing is missing: test(s) to exercise the functionality. Just compiling hello,world and running it should suffice for starters. Can you write a test please? --thanks, karl.
automake-patches@HIDDEN
:bug#75807
; Package automake-patches
.
Full text available.Received: (at submit) by debbugs.gnu.org; 24 Jan 2025 15:29:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 24 10:29:40 2025 Received: from localhost ([127.0.0.1]:46572 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tbLcp-00067D-H3 for submit <at> debbugs.gnu.org; Fri, 24 Jan 2025 10:29:40 -0500 Received: from lists.gnu.org ([2001:470:142::17]:54686) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <jemarch@HIDDEN>) id 1tbLck-00066u-Nb for submit <at> debbugs.gnu.org; Fri, 24 Jan 2025 10:29:38 -0500 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 1tbLcf-000894-07 for automake-patches@HIDDEN; Fri, 24 Jan 2025 10:29:29 -0500 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 1tbLcb-0002oZ-An for automake-patches@HIDDEN; Fri, 24 Jan 2025 10:29:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=qnTZGVwAykgOj02M+mGJR/4Mpc3rGndg+L+93vzHmfU=; b=e+7KUnfMkWHklP 1rZh2G07fF/CbOT5kOE5OK8NFsBC+bzVb1y+UE1uw53ccNyvzqF0jcJwMXn84Ssr0igHUYrMsg3Fv 2J9zhwc/F7K9LWJY2RxsT7DvhBCwaBx/0ePoMQARTVtggK48PAdGNmibEa6z8voaw7Yv2AZjGLV5T Of1Q/nsZ7J0Q9KOJa2xFy64xDewRC4LE0Q3dj/MJFUO7YLUzp59233M6NCoECAK1F7XeG5+rF0BRe 5ZyoKGMuDMFzyEBahletb5OBJ0JGqI1wQFFzTsLIh7vgOCbF3itjdw9PT8BQ6xWaHrUIOJMBtc6V0 VbINRK+KxgZszMGzMXqg==; From: "Jose E. Marchesi" <jemarch@HIDDEN> To: automake-patches@HIDDEN Subject: [PATCH,WIP] Support for the Algol 68 language Date: Fri, 24 Jan 2025 01:23:47 +0100 Message-ID: <877c6ldppo.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: submit 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: -0.2 (/) Hello. This patch adds support for the Algol 68 programming language to Automake. It is based on the Algol 68 GCC front-end, which is currently under development [1]. A WIP series got sent to gcc-patches in January [2], and the front-end is temporarily hosted in the sourceware forge until integration in GCC is completed [3]. The full language is (almost) already implemented, the compiler is useful and I plan to send official patches for inclusion in GCC 16 very soon. In the meanwhile, I would like to have both autoconf and automake support ready to be added upstream once the front-end lands. This WIP seems to work for me: make, make install, make dist, etc. With a Makefile.am like this: ---- bin_PROGRAMS = program godcc_SOURCES = program.a68 ---- But I am not familiar with the Automake internals and it is likely I am missing something and/or doing something wrong. Comments are welcome. A patch adding Algol 68 support to autoconf has been sent to autoconf-patches@. Salud! [1] https://gcc.gnu.org/wiki/Algol68FrontEnd [2] https://inbox.sourceware.org/gcc-patches/20250101020952.18404-1-jose.marchesi@HIDDEN/T/#t [3] https://forge.sourceforge.org/jemarch/a68-gcc Add support for the Algol 68 programming language. * NEWS: Add entry for Algol 68. * bin/automake.in: Call register_language for Algol 68. (resolve_linker): handle A68LINK. (%_am_macro_for_cond): Add entry for am__fastdepGA68. * configure.ac: Look for ga68 and set GNU_GA68 and GNU_A68FLAGS if fuond. * lib/Automake/Variable.pm (%_ac_macro_for_var): Add entries for GA68 and GA68FLAGS. diff --git a/NEWS b/NEWS index b4c50ffc6..9da978c39 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,10 @@ please see NEWS-future and start following the advice there now. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in 1.x: +* New supported languages: + + - Support for Algol 68 has been added; based on the GNU Algol 68 compiler. + * Miscellaneous changes - Only require the presence of an ABOUT-NLS file at the 'gnits' diff --git a/bin/automake.in b/bin/automake.in index 5d3e7c766..bc5c3838a 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -1023,6 +1023,24 @@ register_language ('name' => 'java', 'pure' => 1, 'extensions' => ['.java', '.class', '.zip', '.jar']); +# Algol 68 in GCC +register_language ('name' => 'a68', + 'Name' => 'Algol 68', + 'config_vars' => ['GA68'], + 'linker' => 'A68LINK', + 'link' => '$(A68LD) $(AM_A68FLAGS) $(A68FLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@', + 'flags' => ['A68FLAGS'], + 'compile' => '$(GA68) $(AM_A68FLAGS) $(A68FLAGS)', + 'ccer' => 'GA68', + 'compiler' => 'A68COMPILE', + 'compile_flag' => '-c', + 'output_flag' => '-o', + 'libtool_tag' => 'GA68', + 'lder' => 'A68LD', + 'ld' => '$(GA68)', + 'pure' => 1, + 'extensions' => ['.a68']); + ################################################################ # Error reporting functions. @@ -5564,7 +5582,7 @@ EOF if (0 == keys %libtool_tags) { # Hardcode the tags supported by Libtool 1.5. - %libtool_tags = (CC => 1, CXX => 1, GCJ => 1, F77 => 1); + %libtool_tags = (CC => 1, CXX => 1, GCJ => 1, F77 => 1, GA68 => 1); } } } @@ -6057,7 +6075,7 @@ sub resolve_linker { my (%linkers) = @_; - foreach my $l (qw(GCJLINK OBJCXXLINK CXXLINK F77LINK FCLINK OBJCLINK UPCLINK)) + foreach my $l (qw(GCJLINK A68LINK OBJCXXLINK CXXLINK F77LINK FCLINK OBJCLINK UPCLINK)) { return $l if defined $linkers{$l}; } @@ -6176,11 +6194,12 @@ my %_am_macro_for_cond = ( AMDEP => "one of the compiler tests\n" . " AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC, AC_PROG_OBJCXX,\n" - . " AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC", + . " AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC, AM_PROG_A68", am__fastdepCC => 'AC_PROG_CC', am__fastdepCCAS => 'AM_PROG_AS', am__fastdepCXX => 'AC_PROG_CXX', am__fastdepGCJ => 'AM_PROG_GCJ', + am__fastdepGA68 => 'AM_PROG_GA68', am__fastdepOBJC => 'AC_PROG_OBJC', am__fastdepOBJCXX => 'AC_PROG_OBJCXX', am__fastdepUPC => 'AM_PROG_UPC' diff --git a/configure.ac b/configure.ac index 0a9e1904e..295bd2749 100644 --- a/configure.ac +++ b/configure.ac @@ -565,6 +565,16 @@ if test "$GNU_F77" != false; then _AM_SKIP_COMP_TESTS([GNU Fortran 77])]) fi +# GNU Algol 68 compiler. +AC_ARG_VAR([GNU_GA68], [GNU Algol 68 compiler]) +AC_ARG_VAR([GNU_A68FLAGS], [GNU Algol 68 compiler flags]) +AC_CHECK_TOOLS([GNU_GA68], [ga68], [false]) +if test "$GNU_GA68" != false; then + AS_IF([AM_RUN_LOG([$GNU_GA68 --version && $GNU_GA68 -v])], [], + [AC_MSG_WARN([botched installation for GNU Algol 68 compiler]) + _AM_SKIP_COMP_TESTS([GNU Algol 68])]) +fi + # GNU Java compiler. AC_ARG_VAR([GNU_GCJ], [GNU Java compiler]) AC_ARG_VAR([GNU_GCJFLAGS], [GNU Java compiler flags]) diff --git a/lib/Automake/Variable.pm b/lib/Automake/Variable.pm index 6e90b81f2..ccf065803 100644 --- a/lib/Automake/Variable.pm +++ b/lib/Automake/Variable.pm @@ -183,6 +183,8 @@ my %_ac_macro_for_var = CXX => 'AC_PROG_CXX', CXXFLAGS => 'AC_PROG_CXX', F77 => 'AC_PROG_F77', + GA68 => 'AC_PROG_GA68', + A68FLAGS => 'AC_PROG_GA68', FFLAGS => 'AC_PROG_F77', FC => 'AC_PROG_FC', FCFLAGS => 'AC_PROG_FC',
"Jose E. Marchesi" <jemarch@HIDDEN>
:automake-patches@HIDDEN
.
Full text available.automake-patches@HIDDEN
:bug#75807
; Package automake-patches
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.