]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commitdiff
package/xmlstarlet: fix host build
authorRomain Naour <romain.naour@gmail.com>
Sat, 2 Sep 2017 20:07:41 +0000 (22:07 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 2 Sep 2017 21:05:09 +0000 (23:05 +0200)
Provide the path to HOST_DIR for libxml, libxslt and libiconv like for
the target variant to avoid a build issue on host where /bin is a
symlink to /usr/bin.

Indeed, the configure script use a custom m4 macro XSTAR_LIB_CHECK to
find xml2-config:

XSTAR_LIB_CHECK([LIBXML], [xml2-config])

This macro come from a local m4 file m4/xstar-check-libs.m4 where it
use:

AC_PATH_PROG(LIBXXX()_CONFIG, xxx_config(),
               [], [$LIBXXX()_PREFIX/bin$PATH_SEPARATOR$PATH]

Since no prefix seems to be defined by $LIBXXX()_PREFIX, AC_PATH_PROG
look by itself at /bin/ for xml2-config. So the PATH variable set
by Buildroot containing HOST_DIR/bin is ignored.

The wrong xml2-config is used during the build and the build fail
when no xml2 headers are installed on the host.

Fixes:
src/xml_C14N.c:12:31: fatal errorĀ : libxml/xmlversion.h : No such file or directory
 #include <libxml/xmlversion.h>
                               ^
In file included from src/trans.c:4:0:
src/trans.h:32:30: fatal errorĀ : libxml/xmlmemory.h : No such file or directory
 #include <libxml/xmlmemory.h>

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: remove french messages from the commit log, drop
--with-libiconv-prefix option, since we don't have a libiconv
dependency for the host.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/xmlstarlet/xmlstarlet.mk

index 9920dcfc7071f0060a0237c5ae0a044db3e5912c..1d748dc5949b77df26efab51eace1fbff771c257 100644 (file)
@@ -26,5 +26,9 @@ endif
 
 HOST_XMLSTARLET_DEPENDENCIES += host-libxml2 host-libxslt
 
+HOST_XMLSTARLET_CONF_OPTS += \
+       --with-libxml-prefix=$(HOST_DIR)/usr \
+       --with-libxslt-prefix=$(HOST_DIR)/usr
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))