Add --disable-nls flag and improve checks for gettext.
This commit is contained in:
6
INSTALL
6
INSTALL
@@ -638,6 +638,12 @@ The following options are also configurable at runtime:
|
|||||||
Disable environment resetting. This sets the default value
|
Disable environment resetting. This sets the default value
|
||||||
of the "env_reset" Defaults option in sudoers to false.
|
of the "env_reset" Defaults option in sudoers to false.
|
||||||
|
|
||||||
|
--disable-nls
|
||||||
|
Disable natural language support. By default, sudo will
|
||||||
|
use the gettext() family of functions, if available, to
|
||||||
|
implement messages in the invoking user's native language.
|
||||||
|
Note that translations do not exist for all languages.
|
||||||
|
|
||||||
Shadow password and C2 support
|
Shadow password and C2 support
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
|
82
configure
vendored
82
configure
vendored
@@ -862,6 +862,7 @@ enable_zlib
|
|||||||
enable_env_reset
|
enable_env_reset
|
||||||
enable_warnings
|
enable_warnings
|
||||||
enable_admin_flag
|
enable_admin_flag
|
||||||
|
enable_nls
|
||||||
with_selinux
|
with_selinux
|
||||||
enable_gss_krb5_ccache_name
|
enable_gss_krb5_ccache_name
|
||||||
enable_shared
|
enable_shared
|
||||||
@@ -1519,6 +1520,7 @@ Optional Features:
|
|||||||
--enable-env-reset Whether to enable environment resetting by default.
|
--enable-env-reset Whether to enable environment resetting by default.
|
||||||
--enable-warnings Whether to enable compiler warnings
|
--enable-warnings Whether to enable compiler warnings
|
||||||
--enable-admin-flag Whether to create a Ubuntu-style admin flag file
|
--enable-admin-flag Whether to create a Ubuntu-style admin flag file
|
||||||
|
--disable-nls Disable natural language support using gettext
|
||||||
--enable-gss-krb5-ccache-name
|
--enable-gss-krb5-ccache-name
|
||||||
Use GSS-API to set the Kerberos V cred cache name
|
Use GSS-API to set the Kerberos V cred cache name
|
||||||
--enable-shared[=PKGS] build shared libraries [default=yes]
|
--enable-shared[=PKGS] build shared libraries [default=yes]
|
||||||
@@ -5489,6 +5491,21 @@ $as_echo "$as_me: WARNING: Ignoring unknown argument to --enable-admin-flag: $en
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --enable-nls was given.
|
||||||
|
if test "${enable_nls+set}" = set; then :
|
||||||
|
enableval=$enable_nls; case "$enableval" in
|
||||||
|
yes|no) enable_nls=$enableval
|
||||||
|
;;
|
||||||
|
*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring unknown argument to --enable-nls: $enableval" >&5
|
||||||
|
$as_echo "$as_me: WARNING: Ignoring unknown argument to --enable-nls: $enableval" >&2;}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
else
|
||||||
|
enable_nls=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check whether --with-selinux was given.
|
# Check whether --with-selinux was given.
|
||||||
if test "${with_selinux+set}" = set; then :
|
if test "${with_selinux+set}" = set; then :
|
||||||
@@ -16691,22 +16708,28 @@ done
|
|||||||
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
||||||
# make sure we use the gettext() that matches the include file.
|
# make sure we use the gettext() that matches the include file.
|
||||||
# First check that it links w/o additional libs, then try with -lintl.
|
# First check that it links w/o additional libs, then try with -lintl.
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
if test "$enable_nls" = "yes"; then
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
#include <libintl.h>
|
|
||||||
|
#include <libintl.h>
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
(void)gettext((char *)0, (char *)0);
|
(void)gettext((char *)0);
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
$as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
|
|
||||||
|
$as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettext in -lintl" >&5
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettext in -lintl" >&5
|
||||||
$as_echo_n "checking for gettext in -lintl... " >&6; }
|
$as_echo_n "checking for gettext in -lintl... " >&6; }
|
||||||
if test "${ac_cv_lib_intl_gettext+set}" = set; then :
|
if test "${ac_cv_lib_intl_gettext+set}" = set; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
@@ -16744,13 +16767,60 @@ fi
|
|||||||
$as_echo "$ac_cv_lib_intl_gettext" >&6; }
|
$as_echo "$ac_cv_lib_intl_gettext" >&6; }
|
||||||
if test "x$ac_cv_lib_intl_gettext" = x""yes; then :
|
if test "x$ac_cv_lib_intl_gettext" = x""yes; then :
|
||||||
LIBS="${LIBS} -lintl"
|
LIBS="${LIBS} -lintl"
|
||||||
$as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
|
$as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettext in -lintl" >&5
|
||||||
|
$as_echo_n "checking for gettext in -lintl... " >&6; }
|
||||||
|
if test "${ac_cv_lib_intl_gettext_liconv+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
LIBS="-lintl -liconv $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
/* Override any GCC internal prototype to avoid an error.
|
||||||
|
Use char because int might match the return type of a GCC
|
||||||
|
builtin and then its argument prototype would still apply. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
char gettext ();
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return gettext ();
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
ac_cv_lib_intl_gettext_liconv=yes
|
||||||
|
else
|
||||||
|
ac_cv_lib_intl_gettext_liconv=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_gettext_liconv" >&5
|
||||||
|
$as_echo "$ac_cv_lib_intl_gettext_liconv" >&6; }
|
||||||
|
if test "x$ac_cv_lib_intl_gettext_liconv" = x""yes; then :
|
||||||
|
LIBS="${LIBS} -lintl -liconv"
|
||||||
|
$as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
|
||||||
case ${enable_zlib-"yes"} in
|
case ${enable_zlib-"yes"} in
|
||||||
yes)
|
yes)
|
||||||
|
31
configure.in
31
configure.in
@@ -1311,6 +1311,16 @@ AC_ARG_ENABLE(admin-flag,
|
|||||||
esac
|
esac
|
||||||
])
|
])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(nls,
|
||||||
|
[AS_HELP_STRING([--disable-nls], [Disable natural language support using gettext])],
|
||||||
|
[ case "$enableval" in
|
||||||
|
yes|no) enable_nls=$enableval
|
||||||
|
;;
|
||||||
|
*) AC_MSG_WARN([Ignoring unknown argument to --enable-nls: $enableval])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
], [enable_nls=yes])
|
||||||
|
|
||||||
AC_ARG_WITH(selinux, [AS_HELP_STRING([--with-selinux], [enable SELinux support])],
|
AC_ARG_WITH(selinux, [AS_HELP_STRING([--with-selinux], [enable SELinux support])],
|
||||||
[case $with_selinux in
|
[case $with_selinux in
|
||||||
yes) SELINUX_USAGE="[[-r role]] [[-t type]] "
|
yes) SELINUX_USAGE="[[-r role]] [[-t type]] "
|
||||||
@@ -2140,11 +2150,22 @@ AC_CHECK_FUNCS(getprogname, , [
|
|||||||
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
# Since gcc prefers /usr/local/include to /usr/include, we need to
|
||||||
# make sure we use the gettext() that matches the include file.
|
# make sure we use the gettext() that matches the include file.
|
||||||
# First check that it links w/o additional libs, then try with -lintl.
|
# First check that it links w/o additional libs, then try with -lintl.
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
if test "$enable_nls" = "yes"; then
|
||||||
[[#include <libintl.h>]], [(void)gettext((char *)0, (char *)0);])],
|
AC_LINK_IFELSE(
|
||||||
[AC_DEFINE(HAVE_LIBINTL_H)],
|
[
|
||||||
[AC_CHECK_LIB(intl, gettext, [LIBS="${LIBS} -lintl"]
|
AC_LANG_PROGRAM([[#include <libintl.h>]], [(void)gettext((char *)0);])
|
||||||
[AC_DEFINE(HAVE_LIBINTL_H)])])
|
], [
|
||||||
|
AC_DEFINE(HAVE_LIBINTL_H)
|
||||||
|
], [
|
||||||
|
AC_CHECK_LIB(intl, gettext,
|
||||||
|
[LIBS="${LIBS} -lintl"]
|
||||||
|
[AC_DEFINE(HAVE_LIBINTL_H)],
|
||||||
|
[
|
||||||
|
AC_CHECK_LIB(intl, gettext, [LIBS="${LIBS} -lintl -liconv"]
|
||||||
|
AC_DEFINE(HAVE_LIBINTL_H), [], [-liconv])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Deferred zlib option processing.
|
dnl Deferred zlib option processing.
|
||||||
|
Reference in New Issue
Block a user