libxml2: Fix libzypp ansidecl related build failures

cmake looks at all include statements, even if they're not used. To make
builds deterministic and avoid needing to add binutils as a dependency
for libzypp, completely remove the include from the header file, even if
it is never used.

This avoids issues where you'd build binutils, then libzypp, then remove
binutils (and hence ansidecl.h) and then recompile libzypp which would
still have the dependency and hence fail.

(From OE-Core rev: bfaaeb44c5023e2d2a9414c07694c75fa527283b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-07-10 12:04:31 +00:00
parent 89ca5701ea
commit 064ef460b2
3 changed files with 28 additions and 2 deletions

View File

@ -13,7 +13,8 @@ DEPENDS_virtclass-native = "python-native"
DEPENDS =+ "zlib"
SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz \
file://libxml-64bit.patch"
file://libxml-64bit.patch \
file://ansidecl.patch"
inherit autotools pkgconfig binconfig

View File

@ -0,0 +1,25 @@
Sadly cmake is broken. If it sees this reference and ansidecl is present, it will add a
dependency upon it, even if HAVE_ANSIDEC_H is never set.
The easiest solution is to remove these lines, otherwise recipes like libzypp can have a
dependency on the ansidecl.h header via cmake. This can lead to odd results if the
header is removed (clean binutils) and then the code is recompiled.
RP 2012/7/10
Upstream-Status: Inappropriate [its really a cmake bug]
Index: libxml2-2.8.0/include/libxml/xmlversion.h.in
===================================================================
--- libxml2-2.8.0.orig/include/libxml/xmlversion.h.in 2012-07-10 11:51:52.460750573 +0000
+++ libxml2-2.8.0/include/libxml/xmlversion.h.in 2012-07-10 11:52:41.436749397 +0000
@@ -401,9 +401,6 @@
#endif
#ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include <ansidecl.h>
-#endif
/**
* ATTRIBUTE_UNUSED:

View File

@ -1,6 +1,6 @@
require libxml2.inc
PR = "r1"
PR = "r2"
SRC_URI[md5sum] = "c62106f02ee00b6437f0fb9d370c1093"
SRC_URI[sha256sum] = "f2e2d0e322685193d1affec83b21dc05d599e17a7306d7b90de95bb5b9ac622a"