package/xscreensaver: fix linking with intl

xscreensaver doesn't build with (e)glibc toolchain when gettext package is
selected.

With (e)glibc libintl is provided by the libc whereas with uClibc it's provided
by gettext.

If "LIBS=-lintl" is removed from XSCREENSAVER_CONF_ENV, then the -lintl is
missing during xscreensaver build if the toolchain needs gettext.

xscreensaver.o: In function `main':
undefined reference to `libintl_bindtextdomain'
undefined reference to `libintl_textdomain'

Backport a patch applied in 5.28 that fix linking issue with intl and remove
"LIBS=-lintl" from XSCREENSAVER_CONF_ENV.

Note:
gettext package is always selected with xscreensaver when BR2_NEEDS_GETTEXT is
set due to dependencies on libgtk2 and libglib2.

Fixes:
http://autobuild.buildroot.net/results/39b/39b6ad07ad59d87afeca6e427c69f580bed35700/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Romain Naour 2014-08-27 23:53:21 +02:00 committed by Peter Korsgaard
parent 172e62be98
commit 5292762206
3 changed files with 36 additions and 2 deletions

View file

@ -10,6 +10,7 @@ config BR2_PACKAGE_XSCREENSAVER
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXT
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
help
XScreenSaver is the standard screen saver collection shipped on most
Linux and Unix systems running the X11 Window System.

View file

@ -0,0 +1,35 @@
From 2336fa7901733a434c38637bf39f3e282e78e1c1 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@openwide.fr>
Date: Wed, 27 Aug 2014 22:44:21 +0200
Subject: [PATCH 1/1] driver: fix linking with lintl
The libintl is missing during xscreensaver build if
glib2 was build with gettext.
xscreensaver.o: In function `main':
undefined reference to `libintl_bindtextdomain'
undefined reference to `libintl_textdomain'
Backport a patch applied in 5.28
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
driver/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/driver/Makefile.in b/driver/Makefile.in
index af077ca..ce7055c 100644
--- a/driver/Makefile.in
+++ b/driver/Makefile.in
@@ -776,7 +776,7 @@ XScreenSaver_Xm_ad.h: XScreenSaver-Xm.ad
# The executables linked in this directory.
#
xscreensaver: $(SAVER_OBJS)
- $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS)
+ $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS) $(INTL_LIBS)
xscreensaver-command: $(CMD_OBJS)
$(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS)
--
1.9.3

View file

@ -14,8 +14,6 @@ XSCREENSAVER_LICENSE_FILES = hacks/screenhack.h hacks/glx/chessmodels.h
XSCREENSAVER_DEPENDENCIES = jpeg libglade libgtk2 xlib_libX11 xlib_libXt \
$(if $(BR2_PACKAGE_GETTEXT),gettext)
XSCREENSAVER_CONF_ENV = $(if $(BR2_PACKAGE_GETTEXT),LIBS=-lintl)
# otherwise we end up with host include/library dirs passed to the
# compiler/linker
XSCREENSAVER_CONF_OPT = \