]> granicus.if.org Git - sudo/commitdiff
Add caching for gettext() checks.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 15 Aug 2011 17:41:58 +0000 (13:41 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 15 Aug 2011 17:41:58 +0000 (13:41 -0400)
configure
configure.in

index cf648fb26b9c6f533ad3f356594ca5e2eb90ebd3..1b29bed3262953200e60beeec9753725708fd7af 100755 (executable)
--- a/configure
+++ b/configure
@@ -17580,15 +17580,23 @@ if test "$enable_nls" != "no"; then
            if test "$enable_nls" != "yes"; then
                continue
            fi
+           gettext_name=sudo_cv_gettext
+           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettext" >&5
+$as_echo_n "checking for gettext... " >&6; }
        else
            LIBS="$OLIBS $l"
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettext in $l" >&5
+           gettext_name=sudo_cv_gettext"`echo $l|sed -e 's/ //g' -e 's/-/_/g'`"
+           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettext in $l" >&5
 $as_echo_n "checking for gettext in $l... " >&6; }
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+       fi
+       if eval \${$gettext_name+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-               #include <libintl.h>
+                       #include <libintl.h>
 int
 main ()
 {
@@ -17599,27 +17607,37 @@ main ()
 
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  enable_nls=yes
+  eval $gettext_name=yes
 else
-  enable_nls=no
+  eval $gettext_name=no
 
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_nls" >&5
-$as_echo "$enable_nls" >&6; }
-       if test "$enable_nls" = "yes"; then
-           break
-       fi
+
+fi
+
+       eval gettext_result="\$$gettext_name"
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gettext_result" >&5
+$as_echo "$gettext_result" >&6; }
+       test "$gettext_result" = "yes" && break
     done
     LIBS="$OLIBS"
-    if test "$enable_nls" = "yes"; then
+
+    if test "$sudo_cv_gettext" = "yes"; then
        $as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
 
        SUDO_NLS=enabled
-       if test "$l" != "libc"; then
-           LIBINTL="$l"
-       fi
+    elif test "$sudo_cv_gettext_lintl" = "yes"; then
+       $as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
+
+       SUDO_NLS=enabled
+       LIBINTL="-lintl"
+    elif test "$sudo_cv_gettext_lintl_liconv" = "yes"; then
+       $as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
+
+       SUDO_NLS=enabled
+       LIBINTL="-lintl -liconv"
     fi
 fi
 
index fa07cd08d079dabba235e7a8bab5edf5ea84ce0b..ed43c1335a9f614e8ce3e0ca97dd7c9fe8f4ac78 100644 (file)
@@ -2224,27 +2224,37 @@ if test "$enable_nls" != "no"; then
            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_MSG_CHECKING([for gettext in $l])
-       AC_LINK_IFELSE(
-           [
-               AC_LANG_PROGRAM([[#include <libintl.h>]], [(void)gettext((char *)0);])
-           ], [enable_nls=yes], [enable_nls=no]
-       )
-       AC_MSG_RESULT($enable_nls)
-       if test "$enable_nls" = "yes"; then
-           break
-       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)
+       test "$gettext_result" = "yes" && break
     done
     LIBS="$OLIBS"
-    if test "$enable_nls" = "yes"; then
+
+    if test "$sudo_cv_gettext" = "yes"; then
        AC_DEFINE(HAVE_LIBINTL_H)
        SUDO_NLS=enabled
-       if test "$l" != "libc"; then
-           LIBINTL="$l"
-       fi
+    elif test "$sudo_cv_gettext_lintl" = "yes"; then
+       AC_DEFINE(HAVE_LIBINTL_H)
+       SUDO_NLS=enabled
+       LIBINTL="-lintl"
+    elif test "$sudo_cv_gettext_lintl_liconv" = "yes"; then
+       AC_DEFINE(HAVE_LIBINTL_H)
+       SUDO_NLS=enabled
+       LIBINTL="-lintl -liconv"
     fi
 fi