xstroke: fix link issue
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 18 Dec 2012 10:20:42 +0000 (10:20 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Tue, 18 Dec 2012 20:40:22 +0000 (21:40 +0100)
The allyespackageconfig builds have trigerred a link issue on
xstroke. In fact, xstroke must be linked against Xrender, Xext and dl
in addition to the other libraries it was already be linked
against. We fix that by adding a patch that modifies configure.ac and
Makefile.am, and enabling autoreconf for this package.

In addition, since xstroke uses directly Xrender and Xext, we add
those dependencies to the package. In practice, it doesn't change
anything, since some of the xstroke dependencies were already pulling
those libraries, but as xstroke uses directly Xrender and Xext, it
makes sense to have them as dependencies as well.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/xstroke/Config.in
package/xstroke/xstroke-fix-link-issues.patch [new file with mode: 0644]
package/xstroke/xstroke.mk

index 54cb38e3901d18d973309b4e348f90cf25114841..126993483cec06054c89af12edfed8b8e847c61c 100644 (file)
@@ -4,6 +4,8 @@ config BR2_PACKAGE_XSTROKE
        select BR2_PACKAGE_XLIB_LIBXFT
        select BR2_PACKAGE_XLIB_LIBXTST
        select BR2_PACKAGE_XLIB_LIBXPM
+       select BR2_PACKAGE_XLIB_LIBXRENDER
+       select BR2_PACKAGE_XLIB_LIBXEXT
        help
          Handwriting recognition for X
 
diff --git a/package/xstroke/xstroke-fix-link-issues.patch b/package/xstroke/xstroke-fix-link-issues.patch
new file mode 100644 (file)
index 0000000..9a6d71e
--- /dev/null
@@ -0,0 +1,35 @@
+Fix link issues by linking against all needed libraries
+
+Since gcc 4.6, all libraries that are directly used must be explicitly
+passed on the command line. In the case of xstroke, linking against
+Xrender, Xext and dl was missing. For the first two, they are added
+through addition PKG_CHECK_MODULES() checks, for the latter, it is
+added next to -lm and -lpthread in Makefile.am.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Index: b/Makefile.am
+===================================================================
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -40,7 +40,7 @@
+ BUILT_SOURCES = rec_parse.h rec_lex.h rec_lex.c
+ AM_YFLAGS = -d
+-xstroke_LDADD = @XSTROKE_LIBS@ -lm -lpthread $(X_LIBS) -lXpm -lXtst
++xstroke_LDADD = @XSTROKE_LIBS@ -ldl -lm -lpthread $(X_LIBS) -lXpm -lXtst
+ AM_CFLAGS = @XSTROKE_CFLAGS@ -DXSTROKE_CONF_DIR='"$(sysconfdir)/xstroke"' $(X_CFLAGS)
+ EXTRA_DIST = xstroke_active.xpm xstroke_inactive.xpm etc/alphabet
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@
+ AC_CHECK_FUNCS([gettimeofday localtime_r])
+ AC_PATH_XTRA
+-PKG_CHECK_MODULES(XSTROKE, xft)
++PKG_CHECK_MODULES(XSTROKE, [xft xrender xext])
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
index 34595454e3c4d093b89325b15a2646d7cba13173..83f347d1a6714eed10ba36bb0b0e62bf8cf3eaab 100644 (file)
@@ -7,7 +7,8 @@ XSTROKE_VERSION = 0.6
 XSTROKE_SOURCE = xstroke-$(XSTROKE_VERSION).tar.gz
 XSTROKE_SITE = http://mirror.egtvedt.no/avr32linux.org/twiki/pub/Main/XStroke
 
-XSTROKE_DEPENDENCIES = xlib_libXft xlib_libXtst xlib_libXpm
+XSTROKE_DEPENDENCIES = xlib_libXft xlib_libXtst xlib_libXpm xlib_libXrender xlib_libXext
+XSTROKE_AUTORECONF = YES
 
 $(eval $(autotools-package))