configure: use minimal LIBS during gettext check

In some configurations, vim fails to link correctly with messages such as:
edit.c:(.text+0x1614): undefined reference to `libintl_gettext'

In particular, this has been seen by the buildroot autobuilds (see [1]) but
has also been reported at [2] and [3].

In the bad case, the configure script says:
checking for NLS... gettext() works
In the good case, it says:
checking for NLS... gettext() works with -lintl

In the bad case, the system has libelf, vim detects that and takes it along
in $LIBS. Libelf needs libintl on this system, and so linking the test
program with -lelf will automatically take -lintl too. This causes configure
to think gettext() does not need libintl, while in reality it does.

In the good case, libelf is not present and thus not used. The first
configure test for gettext fails, and then configure retries with -lintl
(which succeeds).

Until now, there isn't really a problem. In both cases, you could link
correctly. In the 'bad' case, libintl is implicitly taken through libelf, in
the second case it is explicitly taken.

The real problem occurs because configure also tests whether the linker
supports --as-needed and uses it when possible, instead of the link.sh
script. However, --as-needed seems to cause libintl NOT to be taken in the
bad case, causing the undefined references to libintl_gettext.

This patch changes the configure script so that the gettext check does not
use additional libraries such as libelf. The test program is linked either
with nothing, or with libintl alone. This will cause libintl to
be added explicitly to LIBS, when needed.

[1] http://autobuild.buildroot.net/results/21b5a910e6a27fa1cb12d0002ffed7e6ed9d6c83/
[2] http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2012-November/243930.html
[3] http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2012-May/234184.html


Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Upstream-status: accepted (http://article.gmane.org/gmane.editors.vim.devel/43528)

---
 src/auto/configure |  11 ++++++-----
 src/configure.in   |  13 +++++++++----
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/src/auto/configure b/src/auto/configure
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -12271,6 +12271,8 @@ fi
   if test -f po/Makefile; then
     have_gettext="no"
     if test -n "$MSGFMT"; then
+      olibs=$LIBS
+      LIBS=""
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <libintl.h>
@@ -12284,10 +12286,9 @@ gettext("Test");
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5
-$as_echo "gettext() works" >&6; }; have_gettext="yes"
-else
-  olibs=$LIBS
-	  LIBS="$LIBS -lintl"
+$as_echo "gettext() works" >&6; }; have_gettext="yes"; LIBS=$olibs;
+else
+	  LIBS="-lintl"
 	  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <libintl.h>
@@ -12301,7 +12302,7 @@ gettext("Test");
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5
-$as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"
+$as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"; LIBS="$olibs -lintl";
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
 $as_echo "gettext() doesn't work" >&6; };
diff --git a/src/configure.in b/src/configure.in
--- a/src/configure.in
+++ b/src/configure.in
@@ -3484,6 +3484,9 @@ if test "$MANDEF" = "man -s"; then
 fi
 
 dnl Check if gettext() is working and if it needs -lintl
+dnl We take care to base this on an empty LIBS: on some systems libelf would be
+dnl in LIBS and implicitly take along libintl. The final LIBS would then not
+dnl contain libintl, and the link step would fail due to -Wl,--as-needed.
 AC_MSG_CHECKING(--disable-nls argument)
 AC_ARG_ENABLE(nls,
 	[  --disable-nls           Don't support NLS (gettext()).], ,
@@ -3502,16 +3505,18 @@ if test "$enable_nls" = "yes"; then
   if test -f po/Makefile; then
     have_gettext="no"
     if test -n "$MSGFMT"; then
+      olibs=$LIBS
+      LIBS=""
       AC_TRY_LINK(
 	[#include <libintl.h>],
 	[gettext("Test");],
-	AC_MSG_RESULT([gettext() works]); have_gettext="yes",
-	  olibs=$LIBS
-	  LIBS="$LIBS -lintl"
+	AC_MSG_RESULT([gettext() works]); have_gettext="yes"; LIBS=$olibs,
+	  LIBS="-lintl"
 	  AC_TRY_LINK(
 	      [#include <libintl.h>],
 	      [gettext("Test");],
-	      AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
+	      AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes";
+	      LIBS="$olibs -lintl",
 	      AC_MSG_RESULT([gettext() doesn't work]);
 	      LIBS=$olibs))
     else
