Link against libintl if needed

When built against a C library that has locale support, but for which
intl support is provided by an external libintl library, psmisc
forgets to link against this library, even though the configure script
properly checks that.

This patch therefore ensure that we link against libintl when needed,
thanks to the @INTLLIBS@ variable provided by the configure script.

We do not modify the Makefile.am file, because autoreconfiguring this
package doesn't work: because of its usage of gettext, it wants to run
the "autopoint" program, which itself depends on CVS being installed,
for some strange reasons. That's the reason why we fall back to the
hacky solution of modifying the Makefile.in file.

Forward-ported Thomas's patch to psmisc 22.14
from commit f066ed70cd6939838d4057f66798cbc1d972cc73

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

diff -Nura psmisc-22.14.orig/src/Makefile.in psmisc-22.14/src/Makefile.in
--- psmisc-22.14.orig/src/Makefile.in	2011-10-12 12:12:09.711983726 -0300
+++ psmisc-22.14/src/Makefile.in	2011-10-12 12:14:01.733350322 -0300
@@ -70,16 +70,16 @@
 PROGRAMS = $(bin_PROGRAMS)
 am_fuser_OBJECTS = fuser.$(OBJEXT) signals.$(OBJEXT)
 fuser_OBJECTS = $(am_fuser_OBJECTS)
-fuser_LDADD = $(LDADD)
+fuser_LDADD = $(LDADD) @INTLLIBS@
 am_killall_OBJECTS = killall.$(OBJEXT) signals.$(OBJEXT)
 killall_OBJECTS = $(am_killall_OBJECTS)
 killall_DEPENDENCIES =
 am_peekfd_OBJECTS = peekfd.$(OBJEXT)
 peekfd_OBJECTS = $(am_peekfd_OBJECTS)
-peekfd_LDADD = $(LDADD)
+peekfd_LDADD = $(LDADD) @INTLLIBS@
 am_prtstat_OBJECTS = prtstat.$(OBJEXT)
 prtstat_OBJECTS = $(am_prtstat_OBJECTS)
-prtstat_LDADD = $(LDADD)
+prtstat_LDADD = $(LDADD) @INTLLIBS@
 am_pstree_OBJECTS = pstree.$(OBJEXT)
 pstree_OBJECTS = $(am_pstree_OBJECTS)
 pstree_DEPENDENCIES =
@@ -217,10 +217,10 @@
 	$(am__append_10)
 fuser_SOURCES = fuser.c comm.h signals.c signals.h i18n.h fuser.h lists.h
 killall_SOURCES = killall.c comm.h signals.c signals.h i18n.h
-killall_LDADD = @SELINUX_LIB@
+killall_LDADD = @SELINUX_LIB@ @INTLLIBS@
 peekfd_SOURCES = peekfd.c
 pstree_SOURCES = pstree.c comm.h i18n.h
-pstree_LDADD = @TERMCAP_LIB@ @SELINUX_LIB@
+pstree_LDADD = @TERMCAP_LIB@ @SELINUX_LIB@ @INTLLIBS@
 prtstat_SOURCES = prtstat.c prtstat.h
 BUILT_SOURCES = signames.h
 EXTRA_DIST = signames.c 
