As Sylvain Beucler noted some time ago, a mingw cross-compile of Guile currently fails for several reasons.
The first of them is: > $ CPPFLAGS="-I/usr/local/cross-tools/i386-mingw32msvc/include" \ > LDFLAGS="-L/usr/local/cross-tools/i386-mingw32msvc/lib" \ > ./configure --host=i586-mingw32msvc --build=i686-pc-linux-gnu > [...] > checking for restartable system calls... configure: error: cannot run test > program while cross compiling > > The problem apparently lies in configure.in, macro AC_SYS_RESTARTABLE_SYSCALLS > > Note that the autoconf documentation deprecates this macro: > "These days portable programs [...] should not rely on > `HAVE_RESTARTABLE_SYSCALLS', since nowadays whether a system call is > restartable is a dynamic issue, not a configuration-time issue." > > I commented it out for a start. I agree with Sylvain's suggestion of removing AC_SYS_RESTARTABLE_SYSCALLS, so propose to do that (with everything related to it). If I'm understanding correctly, the key point here is that AC_SYS_RESTARTABLE_SYSCALLS is bogus, in the sense that a program that assumed that all syscalls were restartable would always be wrong - because the handling for a given signal might be configured without the SA_RESTART flag. In addition - we take no notice of AC_SYS_RESTARTABLE_SYSCALLS when building with pthreads (which is how Guile builds by default) - we'll get a nice bit of code simplification from removing this. Any comments or objections? Thanks, Neil