[Libreoffice-commits] core.git: external/redland
Stephan Bergmann (via logerrit)
logerrit at kemper.freedesktop.org
Thu Sep 3 12:30:14 UTC 2020
external/redland/UnpackedTarball_raptor.mk | 1 +
external/redland/raptor/libxml-override.patch | 13 +++++++++++++
2 files changed, 14 insertions(+)
New commits:
commit a574bb602031f0d1febb059c7dc9d1c4937271c6
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Thu Sep 3 10:45:38 2020 +0200
Commit: Stephan Bergmann <sbergman at redhat.com>
CommitDate: Thu Sep 3 14:29:36 2020 +0200
external/redland: Honour LIBXML_CFLAGS/LIBS in raptor's configure
I ran into this issue with a somewhat special setup on macOS, with both Xcode 11
and Xcode 12 beta installed, and
> xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
and
> CC/CXX=... -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk ...
to make the LO build use the latest SDK from Xcode 12 beta. (And with implicit
--with-system-libxml, and with recent Clang 12 trunk.)
However, even though raptor's configure receives our LIBXML_CFLAGS/LIBS env vars
from config_host.mk, it always overrides them with output from some $XML_CONFIG
tool. For whatever reason, in my setup that caused raptor's LIBXML_CFLAGS to be
set to
> -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
(And a similar reference to that
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk in LIBXML_LIBS. That
MacOSX.sdk directory symlinks to some
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk. I don't know about
that /Library/Developer/CommandLineTools/SDKs tree, but it smells like it is
maintained by Xcode and not properly adapted for my Xcode 12 beta install.)
Anyway, that LIBXML_CFLAGS ends up on raptor's compiler command lines, causing
them to contain
> ... -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk ... -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include ...
so that something like
> #include <stdio.h>
in workdir/UnpackedTarball/raptor/src/raptor_parse.c will include
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h
rather than
> /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/usr/include/stdio.h
and consider the former not to be a system header, and thus emit warnings/errors
like
> In file included from raptor_parse.c:30:
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:220:5: error: 'TARGET_OS_EMBEDDED' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
> #if TARGET_OS_EMBEDDED
> ^
that it would suppress from system headers.
Raptor's configure appears to always override LIBXML_CFLAGS/LIBS since
<https://github.com/dajobe/raptor/commit/
7da03ba5cd6e45ea41afebd4955acf6e96e9d622> "Switch libxml and libcurl to use
PKG_PROG_PKG_CONFIG and PKG_CHECK_MODULES", which looks like a bug to me.
(Trying to prevent that code from being executed by passing in
--without-xml2-config, similar to the existing --without-xslt-config in
external/redland/ExternalProject_raptor.mk, would fail with
> configure: error: libxml2 is not available - please get it from http://xmlsoft.org/
from raptor's configure, apparently suppressing libxml2 detection altogether.)
Change-Id: I5f2813e849bb61c0af48df0579abe87d3671185b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101991
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/external/redland/UnpackedTarball_raptor.mk b/external/redland/UnpackedTarball_raptor.mk
index 517b11a3d14f..2e0ef98fa2b5 100644
--- a/external/redland/UnpackedTarball_raptor.mk
+++ b/external/redland/UnpackedTarball_raptor.mk
@@ -29,6 +29,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,raptor,\
external/redland/raptor/xml2-config.patch \
external/redland/raptor/0001-Calcualte-max-nspace-declarations-correctly-for-XML-.patch.1 \
external/redland/raptor/libtool.patch \
+ external/redland/raptor/libxml-override.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/redland/raptor/libxml-override.patch b/external/redland/raptor/libxml-override.patch
new file mode 100644
index 000000000000..edc2d0d497a4
--- /dev/null
+++ b/external/redland/raptor/libxml-override.patch
@@ -0,0 +1,13 @@
+--- configure
++++ configure
+@@ -14387,8 +14387,8 @@
+
+ libxml_source=no
+ if test "X$XML_CONFIG" != "X"; then
+- LIBXML_CFLAGS=`$XML_CONFIG --cflags`
+- LIBXML_LIBS=`$XML_CONFIG --libs`
++ : ${LIBXML_CFLAGS=`$XML_CONFIG --cflags`}
++ : ${LIBXML_LIBS=`$XML_CONFIG --libs`}
+
+ CPPFLAGS="$LIBXML_CFLAGS $CPPFLAGS"
+ LIBS="$LIBS $LIBXML_LIBS"
More information about the Libreoffice-commits
mailing list