mirror of
https://github.com/sudo-project/sudo.git
synced 2025-08-22 01:49:11 +00:00
Move gettext checks to m4/gettext.m4
This commit is contained in:
parent
12da6bd0ce
commit
38ffd03cd6
1
MANIFEST
1
MANIFEST
@ -425,6 +425,7 @@ m4/ax_check_link_flag.m4
|
|||||||
m4/ax_func_getaddrinfo.m4
|
m4/ax_func_getaddrinfo.m4
|
||||||
m4/ax_func_snprintf.m4
|
m4/ax_func_snprintf.m4
|
||||||
m4/ax_prog_cc_for_build.m4
|
m4/ax_prog_cc_for_build.m4
|
||||||
|
m4/gettext.m4
|
||||||
m4/hardening.m4
|
m4/hardening.m4
|
||||||
m4/ldap.m4
|
m4/ldap.m4
|
||||||
m4/libtool.m4
|
m4/libtool.m4
|
||||||
|
1
aclocal.m4
vendored
1
aclocal.m4
vendored
@ -18,6 +18,7 @@ m4_include([m4/ax_check_link_flag.m4])
|
|||||||
m4_include([m4/ax_func_getaddrinfo.m4])
|
m4_include([m4/ax_func_getaddrinfo.m4])
|
||||||
m4_include([m4/ax_func_snprintf.m4])
|
m4_include([m4/ax_func_snprintf.m4])
|
||||||
m4_include([m4/ax_prog_cc_for_build.m4])
|
m4_include([m4/ax_prog_cc_for_build.m4])
|
||||||
|
m4_include([m4/gettext.m4])
|
||||||
m4_include([m4/hardening.m4])
|
m4_include([m4/hardening.m4])
|
||||||
m4_include([m4/ldap.m4])
|
m4_include([m4/ldap.m4])
|
||||||
m4_include([m4/libtool.m4])
|
m4_include([m4/libtool.m4])
|
||||||
|
108
configure
vendored
108
configure
vendored
@ -27286,14 +27286,15 @@ printf "%s\n" "#define __func__ __FUNCTION__" >>confdefs.h
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# gettext() and friends may be located in libc (Linux and Solaris)
|
|
||||||
# or in libintl. However, it is possible to have libintl installed
|
# gettext() and friends may be located in libc (Linux and Solaris)
|
||||||
# even when gettext() is present in libc. In the case of GNU libintl,
|
# or in libintl. However, it is possible to have libintl installed
|
||||||
# gettext() will be defined to gettext_libintl in libintl.h.
|
# even when gettext() is present in libc. In the case of GNU libintl,
|
||||||
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
# gettext() will be defined to gettext_libintl in libintl.h.
|
||||||
# make sure we use the gettext() that matches the include file.
|
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
||||||
if test "$enable_nls" != "no"; then
|
# make sure we use the gettext() that matches the include file.
|
||||||
if test "$enable_nls" != "yes"; then
|
if test "$enable_nls" != "no"; then
|
||||||
|
if test "$enable_nls" != "yes"; then
|
||||||
|
|
||||||
if test ${CPPFLAGS+y}
|
if test ${CPPFLAGS+y}
|
||||||
then :
|
then :
|
||||||
@ -27400,32 +27401,32 @@ fi
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
|
||||||
OLIBS="$LIBS"
|
|
||||||
for l in "libc" "-lintl" "-lintl -liconv"; do
|
|
||||||
if test "$l" = "libc"; then
|
|
||||||
# If user specified a dir for libintl ignore libc
|
|
||||||
if test "$enable_nls" != "yes"; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
gettext_name=sudo_cv_gettext
|
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettext" >&5
|
|
||||||
printf %s "checking for gettext... " >&6; }
|
|
||||||
else
|
|
||||||
LIBS="$OLIBS $l"
|
|
||||||
gettext_name=sudo_cv_gettext"`echo $l|sed -e 's/ //g' -e 's/-/_/g'`"
|
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettext in $l" >&5
|
|
||||||
printf %s "checking for gettext in $l... " >&6; }
|
|
||||||
fi
|
fi
|
||||||
if eval test \${$gettext_name+y}
|
OLIBS="$LIBS"
|
||||||
|
for l in "libc" "-lintl" "-lintl -liconv"; do
|
||||||
|
if test "$l" = "libc"; then
|
||||||
|
# If user specified a dir for libintl ignore libc
|
||||||
|
if test "$enable_nls" != "yes"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
gettext_name=sudo_cv_gettext
|
||||||
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettext" >&5
|
||||||
|
printf %s "checking for gettext... " >&6; }
|
||||||
|
else
|
||||||
|
LIBS="$OLIBS $l"
|
||||||
|
gettext_name=sudo_cv_gettext"`echo $l|sed -e 's/ //g' -e 's/-/_/g'`"
|
||||||
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettext in $l" >&5
|
||||||
|
printf %s "checking for gettext in $l... " >&6; }
|
||||||
|
fi
|
||||||
|
if eval test \${$gettext_name+y}
|
||||||
then :
|
then :
|
||||||
printf %s "(cached) " >&6
|
printf %s "(cached) " >&6
|
||||||
else case e in #(
|
else case e in #(
|
||||||
e)
|
e)
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
|
||||||
#include <libintl.h>
|
#include <libintl.h>
|
||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
{
|
{
|
||||||
@ -27440,46 +27441,46 @@ then :
|
|||||||
eval $gettext_name=yes
|
eval $gettext_name=yes
|
||||||
else case e in #(
|
else case e in #(
|
||||||
e) eval $gettext_name=no
|
e) eval $gettext_name=no
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval gettext_result="\$$gettext_name"
|
eval gettext_result="\$$gettext_name"
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gettext_result" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gettext_result" >&5
|
||||||
printf "%s\n" "$gettext_result" >&6; }
|
printf "%s\n" "$gettext_result" >&6; }
|
||||||
if test "$gettext_result" = "yes"; then
|
if test "$gettext_result" = "yes"; then
|
||||||
ac_fn_c_check_func "$LINENO" "ngettext" "ac_cv_func_ngettext"
|
ac_fn_c_check_func "$LINENO" "ngettext" "ac_cv_func_ngettext"
|
||||||
if test "x$ac_cv_func_ngettext" = xyes
|
if test "x$ac_cv_func_ngettext" = xyes
|
||||||
then :
|
then :
|
||||||
printf "%s\n" "#define HAVE_NGETTEXT 1" >>confdefs.h
|
printf "%s\n" "#define HAVE_NGETTEXT 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
LIBS="$OLIBS"
|
LIBS="$OLIBS"
|
||||||
|
|
||||||
if test "$sudo_cv_gettext" = "yes"; then
|
if test "$sudo_cv_gettext" = "yes"; then
|
||||||
SUDO_NLS=enabled
|
SUDO_NLS=enabled
|
||||||
# For Solaris we need links from lang to lang.UTF-8 in localedir
|
# For Solaris we need links from lang to lang.UTF-8 in localedir
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
solaris2*) LOCALEDIR_SUFFIX=".UTF-8";;
|
solaris2*) LOCALEDIR_SUFFIX=".UTF-8";;
|
||||||
esac
|
esac
|
||||||
elif test "$sudo_cv_gettext_lintl" = "yes"; then
|
elif test "$sudo_cv_gettext_lintl" = "yes"; then
|
||||||
SUDO_NLS=enabled
|
SUDO_NLS=enabled
|
||||||
LIBINTL="-lintl"
|
LIBINTL="-lintl"
|
||||||
elif test "$sudo_cv_gettext_lintl_liconv" = "yes"; then
|
elif test "$sudo_cv_gettext_lintl_liconv" = "yes"; then
|
||||||
SUDO_NLS=enabled
|
SUDO_NLS=enabled
|
||||||
LIBINTL="-lintl -liconv"
|
LIBINTL="-lintl -liconv"
|
||||||
fi
|
fi
|
||||||
if test X"$SUDO_NLS" = X"enabled"; then
|
if test X"$SUDO_NLS" = X"enabled"; then
|
||||||
printf "%s\n" "#define HAVE_LIBINTL_H 1" >>confdefs.h
|
printf "%s\n" "#define HAVE_LIBINTL_H 1" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
for _sym in sudo_warn_gettext_v1; do
|
for _sym in sudo_warn_gettext_v1; do
|
||||||
@ -27487,8 +27488,9 @@ fi
|
|||||||
"
|
"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
case "$enable_zlib" in
|
case "$enable_zlib" in
|
||||||
yes)
|
yes)
|
||||||
|
60
configure.ac
60
configure.ac
@ -3253,65 +3253,7 @@ elif test -n "$GCC"; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# gettext() and friends may be located in libc (Linux and Solaris)
|
SUDO_CHECK_GETTEXT
|
||||||
# or in libintl. However, it is possible to have libintl installed
|
|
||||||
# even when gettext() is present in libc. In the case of GNU libintl,
|
|
||||||
# gettext() will be defined to gettext_libintl in libintl.h.
|
|
||||||
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
|
||||||
# make sure we use the gettext() that matches the include file.
|
|
||||||
if test "$enable_nls" != "no"; then
|
|
||||||
if test "$enable_nls" != "yes"; then
|
|
||||||
AX_APPEND_FLAG([-I${enable_nls}/include], [CPPFLAGS])
|
|
||||||
SUDO_APPEND_LIBPATH(LDFLAGS, [$enable_nls/lib])
|
|
||||||
fi
|
|
||||||
OLIBS="$LIBS"
|
|
||||||
for l in "libc" "-lintl" "-lintl -liconv"; do
|
|
||||||
if test "$l" = "libc"; then
|
|
||||||
# If user specified a dir for libintl ignore libc
|
|
||||||
if test "$enable_nls" != "yes"; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
gettext_name=sudo_cv_gettext
|
|
||||||
AC_MSG_CHECKING([for gettext])
|
|
||||||
else
|
|
||||||
LIBS="$OLIBS $l"
|
|
||||||
gettext_name=sudo_cv_gettext"`echo $l|sed -e 's/ //g' -e 's/-/_/g'`"
|
|
||||||
AC_MSG_CHECKING([for gettext in $l])
|
|
||||||
fi
|
|
||||||
AC_CACHE_VAL($gettext_name, [
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[
|
|
||||||
AC_LANG_PROGRAM([[#include <libintl.h>]], [(void)gettext((char *)0);])
|
|
||||||
], [eval $gettext_name=yes], [eval $gettext_name=no]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
eval gettext_result="\$$gettext_name"
|
|
||||||
AC_MSG_RESULT($gettext_result)
|
|
||||||
if test "$gettext_result" = "yes"; then
|
|
||||||
AC_CHECK_FUNCS([ngettext])
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
LIBS="$OLIBS"
|
|
||||||
|
|
||||||
if test "$sudo_cv_gettext" = "yes"; then
|
|
||||||
SUDO_NLS=enabled
|
|
||||||
# For Solaris we need links from lang to lang.UTF-8 in localedir
|
|
||||||
case "$host_os" in
|
|
||||||
solaris2*) LOCALEDIR_SUFFIX=".UTF-8";;
|
|
||||||
esac
|
|
||||||
elif test "$sudo_cv_gettext_lintl" = "yes"; then
|
|
||||||
SUDO_NLS=enabled
|
|
||||||
LIBINTL="-lintl"
|
|
||||||
elif test "$sudo_cv_gettext_lintl_liconv" = "yes"; then
|
|
||||||
SUDO_NLS=enabled
|
|
||||||
LIBINTL="-lintl -liconv"
|
|
||||||
fi
|
|
||||||
if test X"$SUDO_NLS" = X"enabled"; then
|
|
||||||
AC_DEFINE(HAVE_LIBINTL_H)
|
|
||||||
SUDO_APPEND_COMPAT_EXP(sudo_warn_gettext_v1)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Deferred zlib option processing.
|
dnl Deferred zlib option processing.
|
||||||
|
61
m4/gettext.m4
Normal file
61
m4/gettext.m4
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
AC_DEFUN([SUDO_CHECK_GETTEXT], [
|
||||||
|
# gettext() and friends may be located in libc (Linux and Solaris)
|
||||||
|
# or in libintl. However, it is possible to have libintl installed
|
||||||
|
# even when gettext() is present in libc. In the case of GNU libintl,
|
||||||
|
# gettext() will be defined to gettext_libintl in libintl.h.
|
||||||
|
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
||||||
|
# make sure we use the gettext() that matches the include file.
|
||||||
|
if test "$enable_nls" != "no"; then
|
||||||
|
if test "$enable_nls" != "yes"; then
|
||||||
|
AX_APPEND_FLAG([-I${enable_nls}/include], [CPPFLAGS])
|
||||||
|
SUDO_APPEND_LIBPATH(LDFLAGS, [$enable_nls/lib])
|
||||||
|
fi
|
||||||
|
OLIBS="$LIBS"
|
||||||
|
for l in "libc" "-lintl" "-lintl -liconv"; do
|
||||||
|
if test "$l" = "libc"; then
|
||||||
|
# If user specified a dir for libintl ignore libc
|
||||||
|
if test "$enable_nls" != "yes"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
gettext_name=sudo_cv_gettext
|
||||||
|
AC_MSG_CHECKING([for gettext])
|
||||||
|
else
|
||||||
|
LIBS="$OLIBS $l"
|
||||||
|
gettext_name=sudo_cv_gettext"`echo $l|sed -e 's/ //g' -e 's/-/_/g'`"
|
||||||
|
AC_MSG_CHECKING([for gettext in $l])
|
||||||
|
fi
|
||||||
|
AC_CACHE_VAL($gettext_name, [
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_PROGRAM([[#include <libintl.h>]], [(void)gettext((char *)0);])
|
||||||
|
], [eval $gettext_name=yes], [eval $gettext_name=no]
|
||||||
|
)
|
||||||
|
])
|
||||||
|
eval gettext_result="\$$gettext_name"
|
||||||
|
AC_MSG_RESULT($gettext_result)
|
||||||
|
if test "$gettext_result" = "yes"; then
|
||||||
|
AC_CHECK_FUNCS([ngettext])
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
LIBS="$OLIBS"
|
||||||
|
|
||||||
|
if test "$sudo_cv_gettext" = "yes"; then
|
||||||
|
SUDO_NLS=enabled
|
||||||
|
# For Solaris we need links from lang to lang.UTF-8 in localedir
|
||||||
|
case "$host_os" in
|
||||||
|
solaris2*) LOCALEDIR_SUFFIX=".UTF-8";;
|
||||||
|
esac
|
||||||
|
elif test "$sudo_cv_gettext_lintl" = "yes"; then
|
||||||
|
SUDO_NLS=enabled
|
||||||
|
LIBINTL="-lintl"
|
||||||
|
elif test "$sudo_cv_gettext_lintl_liconv" = "yes"; then
|
||||||
|
SUDO_NLS=enabled
|
||||||
|
LIBINTL="-lintl -liconv"
|
||||||
|
fi
|
||||||
|
if test X"$SUDO_NLS" = X"enabled"; then
|
||||||
|
AC_DEFINE(HAVE_LIBINTL_H)
|
||||||
|
SUDO_APPEND_COMPAT_EXP(sudo_warn_gettext_v1)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
Loading…
x
Reference in New Issue
Block a user