-----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-----
_______________________________________________
balsa-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/balsa-list

Reply via email to