Selaa lähdekoodia

vala: fix documentation build problem

On gcc10, the build of the host-vala documentation causes a
segmentation fault of xsltproc, for some unknown reason. See:

  http://autobuild.buildroot.org/results/42fea25ac4fe33a56c02d90c361da1c494f79ba3/build-end.log

Therefore, this patch fixes the problem by:

 * Ensuring that host-libxslt is amongst the dependency of vala when
   documentation is enabled so that we build a well-known version of
   libxslt/xsltproc to build the documentation. If documentation is
   not enabled, then we force vala to *not* find xsltproc so that it
   doesn't try to use the xsltproc of the build machine distribution
   if available.

 * Disabling the build of the documentation for host-vala. Note that
   we need to pass ':' as the xsltproc binary name to teach the
   configure script that xsltproc is not available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni 13 vuotta sitten
vanhempi
commit
f9b0c1d293
1 muutettua tiedostoa jossa 15 lisäystä ja 0 poistoa
  1. 15 0
      package/vala/vala.mk

+ 15 - 0
package/vala/vala.mk

@@ -9,9 +9,24 @@ VALA_VERSION_MINOR = 6
 VALA_VERSION = $(VALA_VERSION_MAJOR).$(VALA_VERSION_MINOR)
 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR)
 VALA_SOURCE = vala-$(VALA_VERSION).tar.xz
+
 VALA_DEPENDENCIES = host-flex libglib2 \
 		$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+
+# If we want the documentation, then xsltproc is needed. If we don't
+# want the documentation, force Vala to not use the host xsltproc even
+# if available, because it may or may not work with Vala documentation
+# (some versions of xsltproc segfault)
+ifeq ($(BR2_HAVE_DOCUMENTATION),y)
+VALA_DEPENDENCIES += host-libxslt
+else
+VALA_CONF_ENV = ac_cv_path_XSLTPROC=:
+endif
+
 HOST_VALA_DEPENDENCIES = host-flex host-libglib2
+# Yes, the autoconf script understands ':' as "xsltproc is not
+# available".
+HOST_VALA_CONF_ENV = ac_cv_path_XSLTPROC=:
 
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))