[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: On linux too (was Re: Base compilation broken on NetBSD)
From: |
Wolfgang Lux |
Subject: |
Re: On linux too (was Re: Base compilation broken on NetBSD) |
Date: |
Fri, 2 Nov 2012 11:43:14 +0100 |
Am 02.11.2012 um 11:13 schrieb Richard Frith-Macdonald:
> So how do we test for it?
> The point is not whether or not we need this behavior but how to control it
> ... there's a simple ifdef required in one header ... what we are lacking is
> the knowledge of how we can best determine when we need it defined and when
> we don't.
> Probably what's needed is some autoconf magic so that the configure script
> can detemine what needs doing and then common.h could use an autoconf
> generated value from config.h to decide what to do.
> ... any contribtion here welcome (I'm not great at autoconf).
I was going about to write the test, but then I found that autoconf already has
a predefined test for it (obviously, we are not the only ones struggling with
this dichotomy :-)
-- Macro: AC_FUNC_STRERROR_R
If `strerror_r' is available, define `HAVE_STRERROR_R', and if it
is declared, define `HAVE_DECL_STRERROR_R'. If it returns a `char
*' message, define `STRERROR_R_CHAR_P'; otherwise it returns an
`int' error number. The Thread-Safe Functions option of Posix
requires `strerror_r' to return `int', but many systems
(including, for example, version 2.2.4 of the GNU C Library)
return a `char *' value that is not necessarily equal to the
buffer argument.
So instead of using
AC_CHECK_FUNCS(strerror_r strerror)
in configure.ac, we should be using
AC_CHECK_FUNCS(strerror)
AC_FUNC_STRERROR_R
and add STRERROR_R_CHAR_P to config.h.in and use it to select a suitable
variant of the code in the _systemError: method.
Wolfgang
- Re: On linux too (was Re: Base compilation broken on NetBSD), (continued)
- Re: On linux too (was Re: Base compilation broken on NetBSD), David Chisnall, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Wolfgang Lux, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Richard Frith-Macdonald, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Wolfgang Lux, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), David Chisnall, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Wolfgang Lux, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Richard Frith-Macdonald, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Wolfgang Lux, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Wolfgang Lux, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Richard Frith-Macdonald, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD),
Wolfgang Lux <=
- Re: On linux too (was Re: Base compilation broken on NetBSD), Wolfgang Lux, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Philippe Roussel, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), Richard Frith-Macdonald, 2012/11/03
- Re: On linux too (was Re: Base compilation broken on NetBSD), Richard Frith-Macdonald, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), David Chisnall, 2012/11/02
- Re: On linux too (was Re: Base compilation broken on NetBSD), David Chisnall, 2012/11/02