Subject: bug#18302: MSYS2 build issues

From: Eli Zaretskii <[email-masked]>
Date: Thu, 21 Aug 2014 22:22:36 +0300

> Date: Thu, 21 Aug 2014 14:38:13 -0400
> From: Ken Brown <[email-masked]>
> CC: [email-masked], [email-masked]
> 
> > I'd urge the Cygwin Emacs maintainers to revert that special case, but
> > that's their call.  For native Windows builds, I certainly object to
> > introducing this deviation.
> 
> The Cygwin situation is not comparable.  The headers are installed in 
> the standard places.  But Cygwin provides two versions of xpm.h, one in 
> /usr/include/X11 and one in /usr/include/noX.  The Cygwin w32 build 
> needs to add -I/usr/include/noX to CPPFLAGS (and -L/usr/lib/noX to 
> LDFLAGS) in order to pick up the correct version.

No, the solution is to use

  #if defined __CYGWIN__ && !defined HAVE_X_WINDOWS
  #include <noX/xpm.h>
  #else
  #include <xpm.h>
  #endif

The way we work around the problem now will break if someone installs
the standard header files in a place other than /usr/include.

And if you disagree, then at least please put the above explanation in
configure.ac, so that we won't need to have this discussion a year
from now.