]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
aclocal: path separator is ; on OS/2 and Windows.
authorKarl Berry <karl@freefriends.org>
Sun, 16 Jun 2024 15:41:06 +0000 (08:41 -0700)
committerKarl Berry <karl@freefriends.org>
Sun, 16 Jun 2024 15:41:06 +0000 (08:41 -0700)
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.

NEWS
bin/aclocal.in

diff --git a/NEWS b/NEWS
index 37a66df032d75b8d80b44f76c5048c6b97e6b00b..7aae0f92f28936c455912745569a0ec24341bd5b 100644 (file)
--- 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)
index 814862af2d7602db8a442df6c9bcec302683a915..140c5ad29f37f00b9fcb6ebc97da507e69b542ab 100644 (file)
@@ -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;
     }