Re: [Patch] Improve low-level network library, POP3 responsiveness on error



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Albrecht,

On 01/26/2018 01:23:54 PM Fri, Albrecht Dreß wrote:
Hi Peter:

Am 25.01.18 21:59 schrieb(en) Peter Bloomfield:
Can you also upgrade Ninja from Debian Stretch? Surely Meson and Ninja would be kept compatible in a given 
distro!

Actually, I can install Ninja from Stretch – but the build with ninja now fails, with following compile error 
(note that I did not enable any options manually):

<snip>
./balsa-master/src/sendmsg-window.c: In function ‘create_lang_menu’:
./balsa-master/src/sendmsg-window.c:4072:38: error: implicit declaration of function ‘setlocale’ 
[-Werror=implicit-function-declaration]
         balsa_app.spell_check_lang : setlocale(LC_CTYPE, NULL);
                                      ^
./balsa-master/src/sendmsg-window.c:4072:9: error: nested extern declaration of ‘setlocale’ 
[-Werror=nested-externs]
         balsa_app.spell_check_lang : setlocale(LC_CTYPE, NULL);
         ^
./balsa-master/src/sendmsg-window.c:4072:48: error: ‘LC_CTYPE’ undeclared (first use in this function)
         balsa_app.spell_check_lang : setlocale(LC_CTYPE, NULL);
                                                ^
./balsa-master/src/sendmsg-window.c:4072:48: note: each undeclared identifier is reported only once for each 
function it appears in
</snip>

The symbol “HAVE_LOCALE_H” is not present in the meson-generated config.h (but in the autoconf-generated one).

I'm puzzled--twice! The configure script has the code that tests for locale.h and sets HAVE_LOCALE_H when it 
is found, but I don't understand how it gets there--must be some deep macro expansion.

The other puzzle is that my meson build succeeds even without HAVE_LOCALE_H set! The header <locale.h> must 
somehow be getting included, and again I don't understand how.

I've pushed a fix for meson.build to duplicate the test in configure. The definition of HAVE_CTIME_R looks 
suspicious--I'll take a look at that, too.

BTW, meson's config.h uses the “#pragma once” directive, which is non-standard (not defined in ISO/IEC 
9899:1999 or 9899:2011).  Will meson create a sane file if the compiler does not support this extension?

As I understand it, if "#pragma once" is not supported, it is simply ignored. The autotools-generated 
config.h has no include guards, so multiple inclusions are apparently no problem. I don't see any Meson issues relating 
to it.

Thanks for testing!

Peter
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQS030wPRfNNA5alz3MfX9S1uSp09QUCWmupxQAKCRAfX9S1uSp0
9XXmAJwLbuQRAcF6SvygB6Jysm+8I2S7rQCgoSO63LRPrWzJETAHCtCMuO9Pf7c=
=pXAu
-----END PGP SIGNATURE-----


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