guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mingw build


From: Neil Jerram
Subject: mingw build
Date: Mon, 15 Jun 2009 20:57:49 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]