Wed 15 Jun 2016 03:58:10 PM UTC, original submission:
when building gettext on a system that has libintl (whether from gettext or elsewhere), passing the --without-included-gettext option is ignored. this makes it a pain to build just the tools, or to maintain libintl as a sep package from gettext.
the problematic snippet is centered here:
http://git.savannah.gnu.org/cgit/gettext.git/tree/gettext-runtime/m4/gettext.m4?id=v0.19.8#n253
dnl If an already present or preinstalled GNU gettext() is found,
dnl use it. But if this macro is used in GNU gettext, and GNU
dnl gettext is already preinstalled in libintl, we update this
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
|| { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
&& test "$PACKAGE" != gettext-runtime \
&& test "$PACKAGE" != gettext-tools; }; then
gt_use_preinstalled_gnugettext=yes
else
...
fi
ifelse(gt_included_intl, yes, [
if test "$gt_use_preinstalled_gnugettext" != "yes"; then
dnl GNU gettext is not found in the C library.
dnl Fall back on included GNU gettext library.
nls_cv_use_gnu_gettext=yes
fi
fi
if test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions used to generate GNU NLS library.
BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes
since libintl is part of gettext-runtime, gt_use_preinstalled_gnugettext is set, which cascades into setting BUILD_INCLUDED_LIBINTL all the time, which cascades into installing it.
if we back up a bit to where the configure flag is checked:
http://git.savannah.gnu.org/cgit/gettext.git/tree/gettext-runtime/m4/gettext.m4?id=v0.19.8#n125
gt_use_preinstalled_gnugettext=no
ifelse(gt_included_intl, yes, [
AC_MSG_CHECKING([whether included gettext is requested])
AC_ARG_WITH([included-gettext],
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
])
perhaps the right answer is to change the 4th arg to AC_ARG_WITH to:
nls_cv_force_use_gnu_gettext=auto
and then change the if test below to:
if test "$nls_cv_force_use_gnu_gettext" = "auto"; then
|