Hello. Background: Like glibc, the musl libc library provides gettext() functionality. However the implementation of musl is not based on GNU gettext. AFAIK musl currently provides the same basic gettext() interface as GNU gettext and also implements the ngettext() type functions. The <inttypes.h> format string functionality is however not implemented.
Many applications use the AM_GNU_GETTEXT() macro in their configure script if they want to use gettext functionality. Of these many should be already satisfied with musl's gettext() implementation, i.e. those that don't request 'need-formatstring-macros'. However the relevant test of AM_GNU_GETTEXT() tests also for the internal symbols _nl_msg_cat_cntr and _nl_domain_bindings that musl does not have and therefore the libc internal implementation will not be used. On the other hand, by merely adding these symbols the test would be satisfied. So my question is about the purpose of the AM_GNU_GETTEXT macro. Is it really meant to exclude all alternative implementations? As I have read, a goal is to exclude incompatible implementations: https://lists.gnu.org/archive/html/bug-gnu-utils/2006-03/msg00011.html However I do not know what exactly indicates a compatible or incompatible implementation. Could AM_GNU_GETTEXT test for whether the implementation is compatible instead of testing for internals? Thanks, Felix