Executive summary: I reluctantly agree to add the #define XPM_NUMBERS
to be added to 21.1.
>>>> "Craig" == Craig Lanning
<lanning(a)scra.org> writes:
Craig> Martin Buchholz writes:
> >>>>> "David" == David Bush <Bush>
writes:
>
> I would like someone in Windowsland to look at this more deeply.
>
> The fundamental principle of running test programs at configure time
> is to use external interfaces in the _same_ way as the real build
> process later does. Otherwise you have mismatches between what is
> detected and what actually works. I have worked to eliminate such
> mismatches over the years.
>
> I would like
>
> #define XPM_NUMBERS
>
> to be removed from the 21.2 configure script. Find another way to fix
> this in configure.in.
Craig> The configure script does two checks related to the xpm library. The
Craig> first one just wants to know what version the header file thinks is
Craig> current, what version the library actually contains, and whether the
Craig> two match. The second check is to determine whether FOR_MSW is needed
Craig> or not. '#define XPM_NUMBERS' allows the configure script to check
Craig> the existance and version of the xpm library without having to know
Craig> whether FOR_MSW is needed.
I looked at the detection in configure.in and I understand better now.
Note that the current code does not check that xpm will actually work
if FOR_MSW is defined, only that it fails if it's not. This is a
(small) bug.
However, fixing this is a little too risky for 21.1 or 21.4.0. I will
add a comment to configure.in instead. I approve the suggested change
to 21.1.15 configure.in. Someone who really fixes this should have
access to both windows and unix.
Craig> A windows build must define FOR_MSW before using the xpm library.
Craig> When building with VC++ it is a non-issue because that build mechanism
Craig> doesn't use 'configure'. However, the cygwin and mingw
(-mno-cygwin)
Craig> build mechanisms do and at least the mingw mechanism needs that define
Craig> in order to properly detect the xpm library.
Would it be unreasonable to simply AC_DEFINE(FOR_MSW) when window_system
is "msw"?
The tricky thing is using X Windows on MS Windows.