GNU bug report logs - #71534
[PATCH] aclocal: support ACLOCAL_PATH correctly on OS/2

Previous Next

Package: automake-patches;

Reported by: KO Myung-Hun <komh78 <at> gmail.com>

Date: Thu, 13 Jun 2024 11:22:02 UTC

Severity: normal

Tags: patch

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Karl Berry <karl <at> freefriends.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#71534: closed ([PATCH] aclocal: support ACLOCAL_PATH
 correctly on OS/2)
Date: Sun, 16 Jun 2024 15:43:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 16 Jun 2024 09:42:20 -0600
with message-id <202406161542.45GFgKgr646713 <at> freefriends.org>
and subject line Re: [bug#71534] [PATCH] aclocal: support ACLOCAL_PATH correctly on OS/2
has caused the debbugs.gnu.org bug report #71534,
regarding [PATCH] aclocal: support ACLOCAL_PATH correctly on OS/2
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
71534: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71534
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: KO Myung-Hun <komh78 <at> gmail.com>
To: automake-patches <at> gnu.org
Subject: [PATCH] aclocal: support ACLOCAL_PATH correctly on OS/2
Date: Thu, 13 Jun 2024 20:20:38 +0900
A path separator is ';' on OS/2. Therefore, splitting ACLOCAL_PATH with
':' unconditionally is not correct.

* bin/aclocal.in (parse_ACLOCAL_PATH): Use ';' as a path separator on
OS/2.
---
 bin/aclocal.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/bin/aclocal.in b/bin/aclocal.in
index 785263fdc..96b8c68d6 100644
--- a/bin/aclocal.in
+++ b/bin/aclocal.in
@@ -1169,7 +1169,8 @@ sub parse_ACLOCAL_PATH ()
   # directories, so we use unshift.  However, directories that
   # come first in ACLOCAL_PATH take precedence over directories
   # coming later, which is why the result of split is reversed.
-  foreach my $dir (reverse split /:/, $ENV{"ACLOCAL_PATH"})
+  my $sep = $^O eq 'os2' ? ';' : ':';
+  foreach my $dir (reverse split /$sep/, $ENV{"ACLOCAL_PATH"})
     {
       unshift (@system_includes, $dir) if $dir ne '' && -d $dir;
     }
-- 
2.42.0



[Message part 3 (message/rfc822, inline)]
From: Karl Berry <karl <at> freefriends.org>
To: komh78 <at> gmail.com
Cc: 71534 <at> debbugs.gnu.org
Subject: Re: [bug#71534] [PATCH] aclocal: support ACLOCAL_PATH correctly on
 OS/2
Date: Sun, 16 Jun 2024 09:42:20 -0600
    -  foreach my $dir (reverse split /:/, $ENV{"ACLOCAL_PATH"})
    +  my $sep = $^O eq 'os2' ? ';' : ':';
    +  foreach my $dir (reverse split /$sep/, $ENV{"ACLOCAL_PATH"})

Thanks for the report. I added a check for Windows and committed it.
--best, karl.

-----------------------------------------------------------------------------
aclocal: path separator is ; on OS/2 and Windows.

Adapted from and fixes https://bugs.gnu.org/71534.

* bin/aclocal.in (parse_ACLOCAL_PATH): use $^O to recognize OS/2
and Windows for the environment path element separator.
* NEWS: mention this.


diff --git a/NEWS b/NEWS
index 37a66df03..7aae0f92f 100644
--- a/NEWS
+++ b/NEWS
@@ -106,8 +106,10 @@ New in 1.17:
   - Pass any options given to AM_PROG_LEX on to AC_PROG_LEX.
     (bug#65600, bug#65730)

+  - aclocal: recognize ; as path separator on OS/2 and Windows. (bug#71534)
+
   - Hash iterations with external effects now consistently sort keys.
-    (bug#25629)
+    (bug#25629, bug#46744)

   - tests: avoid some declaration conflicts for lex et al. on SunOS.
     (bug#34151 and others)
diff --git a/bin/aclocal.in b/bin/aclocal.in
index 814862af2..140c5ad29 100644
--- a/bin/aclocal.in
+++ b/bin/aclocal.in
@@ -1165,11 +1165,18 @@ sub parse_arguments ()
 sub parse_ACLOCAL_PATH ()
 {
   return if not defined $ENV{"ACLOCAL_PATH"};
+  
   # Directories in ACLOCAL_PATH should take precedence over system
   # directories, so we use unshift.  However, directories that
   # come first in ACLOCAL_PATH take precedence over directories
   # coming later, which is why the result of split is reversed.
-  foreach my $dir (reverse split /:/, $ENV{"ACLOCAL_PATH"})
+  
+  # OS/2 and Windows (but not Cygwin, etc.) use ; for the path separator.
+  # Possibly it would be cleaner to use path_sep from Config,
+  # but this seems simpler.
+  my $path_sep = $^O =~ /^(os2|mswin)/i ? ';' : ':';
+  
+  foreach my $dir (reverse split $path_sep, $ENV{"ACLOCAL_PATH"})
     {
       unshift (@system_includes, $dir) if $dir ne '' && -d $dir;
     }

compile finished at Sun Jun 16 08:41:06 2024


This bug report was last modified 1 year and 52 days ago.

Previous Next


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