On Mon, Jan 16, 2017 at 08:56:37PM +0100, Bernd Kuhls wrote: > According to > https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Running-the-Compiler.html > the parameter syntax of AC_COMPILE_IFELSE is > > (input, [action-if-true], [action-if-false]) > > Displaying "no" when the test was positive and enabling support for old > iconv implementations by OLD_ICONV=UnfortunatelyYes when the test fails > it obviously wrong. This patch switches the actions to fix the problem.
Hrm. But the test code is: # Define OLD_ICONV if your library has an old iconv(), where the second # (input buffer pointer) parameter is declared with type (const char **). AC_DEFUN([OLDICONVTEST_SRC], [ AC_LANG_PROGRAM([[ #include <iconv.h> extern size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); ]], [])]) Which will compile correctly for the _new_ code, but not the old. So when the test is positive, then "no", we do not need to set the OLD_ICONV flag. The logic would probably be clearer if the test were reversed. It would mean that other compilation problems (e.g., you do not have iconv.h at all) would fail to see OLD_ICONV, but that seems reasonable. -Peff