summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-10 12:04:31 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-10 14:25:37 +0100
commit064ef460b2a7b08d7bf2fd0a613f01d1cea33955 (patch)
tree4ade16ad6776c84648ad9a6bd513c073b6459ec0
parent89ca5701eac4dfcadcb3ab677746aa0a50d7e4a5 (diff)
downloadpoky-064ef460b2a7b08d7bf2fd0a613f01d1cea33955.tar.gz
poky-064ef460b2a7b08d7bf2fd0a613f01d1cea33955.tar.bz2
poky-064ef460b2a7b08d7bf2fd0a613f01d1cea33955.zip
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>
-rw-r--r--meta/recipes-core/libxml/libxml2.inc3
-rw-r--r--meta/recipes-core/libxml/libxml2/ansidecl.patch25
-rw-r--r--meta/recipes-core/libxml/libxml2_2.8.0.bb2
3 files changed, 28 insertions, 2 deletions
diff --git a/meta/recipes-core/libxml/libxml2.inc b/meta/recipes-core/libxml/libxml2.inc
index 943363136c..d70fe479d1 100644
--- a/meta/recipes-core/libxml/libxml2.inc
+++ b/meta/recipes-core/libxml/libxml2.inc
@@ -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
diff --git a/meta/recipes-core/libxml/libxml2/ansidecl.patch b/meta/recipes-core/libxml/libxml2/ansidecl.patch
new file mode 100644
index 0000000000..2452d780d5
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/ansidecl.patch
@@ -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:
diff --git a/meta/recipes-core/libxml/libxml2_2.8.0.bb b/meta/recipes-core/libxml/libxml2_2.8.0.bb
index fe9ec0526b..37eba34e31 100644
--- a/meta/recipes-core/libxml/libxml2_2.8.0.bb
+++ b/meta/recipes-core/libxml/libxml2_2.8.0.bb
@@ -1,6 +1,6 @@
require libxml2.inc
-PR = "r1"
+PR = "r2"
SRC_URI[md5sum] = "c62106f02ee00b6437f0fb9d370c1093"
SRC_URI[sha256sum] = "f2e2d0e322685193d1affec83b21dc05d599e17a7306d7b90de95bb5b9ac622a"