URL:
  <https://savannah.gnu.org/support/?110554>

                 Summary: AC_CONFIG_HEADERS doesn't work properly for files
with Windows line-endings
                 Project: Autoconf
            Submitted by: dra27
            Submitted on: Thu 21 Oct 2021 04:20:43 PM UTC
                Category: None
                Priority: 5 - Normal
                Severity: 3 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: Microsoft Windows

    _______________________________________________________

Details:

For headers with standard


#undef MACRO


lines, AC_CONFIG_HEADERS doesn't perform substitutions if the there is no
whitespace following MACRO and the .in file has Windows CRLF line-endings.

This is a mild nuisance, given that the C pre-processor shouldn't mind about
line endings. The work-around is to add space (or space and a comment) after
the macro name, but the fix seems relatively straightforward (assuming the
change is portable).


diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4
index c2721a85..d5c222bb 100644
--- a/lib/autoconf/status.m4
+++ b/lib/autoconf/status.m4
@@ -824,9 +824,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   for (key in D) D_is_set[key] = 1
   FS = "^G"
 }
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\r?\$)/ {
   line = \$ 0
-  split(line, arg, " ")
+  split(line, arg, /[ \r\t]/)
   if (arg[1] == "#") {
     defundef = arg[2]
     mac1 = arg[3]





    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/support/?110554>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


Reply via email to