xlib_libXfont: work around missing __ELF__ symbol on microblaze
authorPeter Korsgaard <peter@korsgaard.com>
Sun, 10 May 2015 20:28:29 +0000 (22:28 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 10 May 2015 20:28:29 +0000 (22:28 +0200)
Fixes:
http://autobuild.buildroot.net/results/688/688a839ec57e7bc83b490535871b2dac0b1309ff/
http://autobuild.buildroot.net/results/75c/75c676b1baed6f39657578caf7fc213ce71c1089/
http://autobuild.buildroot.net/results/2b9/2b9e9ebaaabe4880e7d258d88f12ce90738ca779/
http://autobuild.buildroot.net/results/988/988022e559af81d9b7dfc716dfb84bd0fa3698f2/

And many more.

The microblaze toolchains don't define the __ELF__ preprocessor symbol even
though they do use the elf format.  LibXfont checks for this symbol to know
if weak symbols are supported, and otherwise falls back to emulation code
using dlopen - Causing linker issues for stuff using libXfont.

Work around it by defining the symbol here as well.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/x11r7/xlib_libXfont/xlib_libXfont.mk

index 5b6de1f968907cebc57f9e521d62fd52bed70656..adc22b4df7b2109e18110c37bda95353975d1484 100644 (file)
@@ -16,5 +16,15 @@ XLIB_LIBXFONT_CONF_OPTS = --disable-devel-docs
 
 HOST_XLIB_LIBXFONT_CONF_OPTS = --disable-devel-docs
 
+ifeq ($(BR2_microblaze),y)
+# The microblaze toolchains don't define the __ELF__ preprocessor
+# symbol even though they do use the elf format. LibXfont checks for
+# this symbol to know if weak symbols are supported, and otherwise
+# falls back to emulation code using dlopen - Causing linker issues
+# for stuff using libXfont.
+# Work around it by defining the symbol here as well.
+XLIB_LIBXFONT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D__ELF__"
+endif
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))