[PATCH v2 16/16] lib: Use HAVE_LIBINTL_H to guard #include <libintl.h>
Mark Wielaard
mark@klomp.org
Wed Dec 21 23:07:03 GMT 2022
Hi,
On Sun, Dec 18, 2022 at 12:52:13AM +0800, Yonggang Luo via Elfutils-devel wrote:
> MSVC doesn't have libintl.h, so use macro to guard it.
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> configure.ac | 2 ++
> lib/eu-config.h | 7 +++++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/configure.ac b/configure.ac
> index b84623fe..aea12be3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -441,6 +441,8 @@ AC_CHECK_FUNCS([process_vm_readv mremap])
> AS_IF([test "x$ac_cv_func_mremap" = "xno"],
> [AC_MSG_WARN([elf_update needs mremap to support ELF_C_RDWR_MMAP])])
>
> +AC_CHECK_HEADERS([libintl.h])
> +
> AC_CHECK_HEADERS([error.h])
> AC_CHECK_HEADERS([err.h])
We already use AM_GNU_GETTEXT. I think that would detect whether there
is gettext/libintl.h support already. Which defines ENABLE_NLS.
> diff --git a/lib/eu-config.h b/lib/eu-config.h
> index 78a5c4fe..72b7793e 100644
> --- a/lib/eu-config.h
> +++ b/lib/eu-config.h
> @@ -52,10 +52,17 @@
> # define rwlock_unlock(lock) ((void) (lock))
> #endif /* USE_LOCKS */
>
> +#if defined(HAVE_LIBINTL_H)
> #include <libintl.h>
> +#endif
> +
> /* gettext helper macros. */
> #define N_(Str) Str
> +#if defined(HAVE_LIBINTL_H)
> #define _(Str) dgettext ("elfutils", Str)
> +#else
> +#define _(Str) N_(Str)
> +#endif
So I think the guard here is should be #if ENABLE_NLS
Also just define _(Str) Str directly instead of going through N_(Str).
Cheers,
Mark
More information about the Elfutils-devel
mailing list