Subject: bug#40072: Incorrect escaping on MinGW 32-bit

From: Jeffrey Walton <[email-masked]>
Date: Sun, 15 Mar 2020 07:40:56 -0400

Hi Everyone,

I'm working on a MSYS2 system on a Windows 7 host. MSYS2 can be
obtained at https://www.msys2.org/. I'm using the environment from
msys2-i686-20190524.exe. After installing MSYS2, click the MinGW
32-bit link on the desktop.

After configuring Expat (https://github.com/libexpat/libexpat), make
is resulting in:

libtool: link: gcc -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmiss
ing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-bran
ches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-prom
otion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENA
BLE_VISIBILITY=1 -fno-strict-aliasing -o .libs/xmlwf.exe xmlwf-xmlwf.o xmlwf-xml
file.o xmlwf-codepage.o xmlwf-unixfilemap.o  ../lib/.libs/libexpat.dll.a -L/ming
w32/lib
./.libs/lt-xmlwf.c:164:35: error: expected ',' or ';' before 'C'
  164 | const char * LIB_PATH_VALUE   = ""C:\\msys32\\home\\Jeffrey Walton\\libe
xpat\\expat\\lib\\.libs";";
      |                                   ^
./.libs/lt-xmlwf.c:164:37: error: stray '\' in program
  164 | const char * LIB_PATH_VALUE   = ""C:\\msys32\\home\\Jeffrey Walton\\libe
xpat\\expat\\lib\\.libs";";
      |                                     ^
...

$ cat -n xmlwf/.libs/lt-xmlwf.c
     1
     2  /* ./.libs/lt-xmlwf.c - temporary wrapper executable for .libs/xmlwf.exe
     3     Generated by libtool (GNU libtool) 2.4.6
     4
   ...
   162  externally_visible const char * MAGIC_EXE = "%%%MAGIC EXE variable%%%";
   163  const char * LIB_PATH_VARNAME = "PATH";
   164  const char * LIB_PATH_VALUE   = ""C:\\msys32\\home\\Jeffrey Walton\\libe
xpat\\expat\\lib\\.libs";";
   165  const char * EXE_PATH_VARNAME = "PATH";
   166  const char * EXE_PATH_VALUE   = "\\home\\Jeffrey:Walton\\libexpat\\expat
\\lib\\.libs:\\mingw32\\lib:\\mingw32\\bin;";

And finally,

    $ libtool --version
    libtool (GNU libtool) 2.4.6

    $ autoconf --version
    autoconf (GNU Autoconf) 2.69

    $ automake --version
    automake (GNU automake) 1.16.1

Jeff