Subject: bug#18302: MSYS2 build issues

From: Angelo Graziosi <[email-masked]>
Date: Fri, 22 Aug 2014 00:32:41 +0200

Just a few comments..

I do MSYS2-MinGW64 Emacs trunk builds with the simple steps:

./autogen.sh

./configure --prefix=/Emacs.app --with-wide-int 
--build=x86_64-w64-mingw32 --without-imagemagick 
'CFLAGS=-I/mingw64/include/noX -Ofast -g0 -pipe' LDFLAGS=-pipe

make...

The build needs the

   CFLAGS=-I/mingw64/include/noX

definition because of the manner how MSYS2 work. It puts all the stuffs 
depending on msys2*dll (the equivalent of cygwin1.dll) under /usr. 
Instead the MinGW34 and MinGW64 applications are under /mingw32 and 
/mingw64 respectively. Usually, to work with MinGW64 applications, one 
needs to start the shell-console with mingw64_shell.bat batch file 
(msys2_shell.bat or mingw32_shell.bat to work with MSYS2 or MinGW32 apps).

So, it is in the "nature" of MSYS2 that it puts things in non-standard 
directory for MinGW32/64 apps. Probably one can change Emacs configure 
to avoid these issue but I wonder, given the simple workaround shown 
above, if this is worth the effort.

Instead, it would interesting, to understand why removing the configure 
option, "--without-imagemagick", with the MinGW64 ImageMagick package 
installed, configure enables imagemagick support but the build fails 
with a linker error.. but this is matter for another thread.. I think.

Ken Brown wrote:
> it's just that I don't feel like fixing something that isn't broken.

I concord. Emacs has other kind of problems on Cygwin [*] (see recent 
threads on the Cygwin list). Breaking what is working would compromise 
an already fragile situation.

Ciao,
Angelo.

---
[*] On Cygwin, usually I use as configure:

./configure --prefix=/usr/local/Emacs.app --with-w32 
--build=x86_64-pc-cygwin --with-wide-int 'CFLAGS=-Ofast -g0 -pipe' 
LDFLAGS=-pipe CC=clang

which is very similar to that I use on MSYS2..