From aadc3745b7b4ff4fb958354bff65581c8f623c7d Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Fri, 30 Jul 2021 08:17:47 +0200 Subject: gobject-introspection: move the sysroot cross handling to the target package Keeps the host package clean of any target specific stuff. Signed-off-by: Michael Olbrich --- rules/gobject-introspection.in | 2 ++ rules/gobject-introspection.make | 43 ++++++++++++++++++++++++++++++++ rules/host-gobject-introspection.in | 2 -- rules/host-gobject-introspection.make | 46 ----------------------------------- 4 files changed, 45 insertions(+), 48 deletions(-) diff --git a/rules/gobject-introspection.in b/rules/gobject-introspection.in index 8fdf5cc91..4c6b1d2d6 100644 --- a/rules/gobject-introspection.in +++ b/rules/gobject-introspection.in @@ -16,6 +16,8 @@ config GOBJECT_INTROSPECTION select HOST_GOBJECT_INTROSPECTION select HOST_MESON select HOST_SYSTEM_PYTHON3 + select HOST_QEMU + select HOST_QEMU_USR select GLIB endif diff --git a/rules/gobject-introspection.make b/rules/gobject-introspection.make index 4da94161b..7d165b5dc 100644 --- a/rules/gobject-introspection.make +++ b/rules/gobject-introspection.make @@ -42,6 +42,38 @@ GOBJECT_INTROSPECTION_CONF_OPT := \ -Dgtk_doc=false \ -Dpython=$(SYSTEMPYTHON3) +$(STATEDIR)/gobject-introspection.prepare: + @$(call targetinfo) + + @echo '#!/bin/sh' > $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner + @echo 'export GI_SCANNER_DISABLE_CACHE=1' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner + @echo 'export pkg_ldflags="$$(find -H $${pkg_dir} -name .libs -printf "-Wl,-rpath,%p ")$${pkg_ldflags}"' \ + >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner + @echo 'export CC=$(CROSS_CC)' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner + @echo 'exec "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-scanner" \ + --use-binary-wrapper="$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross" \ + --use-ldd-wrapper="$(PTXDIST_SYSROOT_CROSS)/bin/qemu/ldd" \ + --add-include-path=${PTXDIST_SYSROOT_TARGET}/usr/share/gir-1.0 \ + "$${@}"' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner + @chmod +x $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner + + @echo '#!/bin/sh' > $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler + @echo '$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross \ + $(SYSROOT)/usr/bin/g-ir-compiler --includedir \ + $(SYSROOT)/usr/share/gir-1.0 "$${@}"' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler + @chmod +x $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler + + @sed -i 's;"/share";"$(PTXDIST_SYSROOT_HOST)/share";' \ + "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-scanner" \ + "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-annotation-tool" + + @sed -i "s;'/lib';'$(PTXDIST_SYSROOT_HOST)/lib';" \ + "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-scanner" \ + "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-annotation-tool" + + @$(call world/prepare, GOBJECT_INTROSPECTION) + @$(call touch) + # needed so g-ir-compiler runs in qemu GOBJECT_INTROSPECTION_MAKE_ENV = \ CROSS_LD_LIBRARY_PATH=$(GOBJECT_INTROSPECTION_DIR)-build/girepository @@ -79,4 +111,15 @@ $(STATEDIR)/gobject-introspection.targetinstall: @$(call touch) +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +$(STATEDIR)/gobject-introspection.clean: + @$(call targetinfo) + @$(call clean_pkg, GOBJECT_INTROSPECTION) + @rm \ + $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner \ + $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler + # vim: syntax=make diff --git a/rules/host-gobject-introspection.in b/rules/host-gobject-introspection.in index 594dfee64..18a0d2d93 100644 --- a/rules/host-gobject-introspection.in +++ b/rules/host-gobject-introspection.in @@ -7,5 +7,3 @@ config HOST_GOBJECT_INTROSPECTION select HOST_SYSTEM_PYTHON3 select HOST_SYSTEM_PYTHON3_DEV select HOST_GLIB - select HOST_QEMU - select HOST_QEMU_USR diff --git a/rules/host-gobject-introspection.make b/rules/host-gobject-introspection.make index d14b9ab34..553cad6b0 100644 --- a/rules/host-gobject-introspection.make +++ b/rules/host-gobject-introspection.make @@ -27,50 +27,4 @@ HOST_GOBJECT_INTROSPECTION_CONF_OPT := \ -Dgtk_doc=false \ -Dpython=$(SYSTEMPYTHON3) -# ---------------------------------------------------------------------------- -# Install -# ---------------------------------------------------------------------------- - -$(STATEDIR)/host-gobject-introspection.install.post: - @$(call targetinfo) - @$(call world/install.post, HOST_GOBJECT_INTROSPECTION) - @echo '#!/bin/sh' > $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner - @echo 'export GI_SCANNER_DISABLE_CACHE=1' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner - @echo 'export pkg_ldflags="$$(find -H $${pkg_dir} -name .libs -printf "-Wl,-rpath,%p ")$${pkg_ldflags}"' \ - >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner - @echo 'export CC=$(CROSS_CC)' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner - @echo 'exec "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-scanner" \ - --use-binary-wrapper="$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross" \ - --use-ldd-wrapper="$(PTXDIST_SYSROOT_CROSS)/bin/qemu/ldd" \ - --add-include-path=${PTXDIST_SYSROOT_TARGET}/usr/share/gir-1.0 \ - "$${@}"' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner - @chmod +x $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner - - @echo '#!/bin/sh' > $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler - @echo '$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross \ - $(SYSROOT)/usr/bin/g-ir-compiler --includedir \ - $(SYSROOT)/usr/share/gir-1.0 "$${@}"' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler - @chmod +x $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler - - @sed -i 's;"/share";"$(PTXDIST_SYSROOT_HOST)/share";' \ - "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-scanner" \ - "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-annotation-tool" - - @sed -i "s;'/lib';'$(PTXDIST_SYSROOT_HOST)/lib';" \ - "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-scanner" \ - "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-annotation-tool" - - @$(call touch) - -# ---------------------------------------------------------------------------- -# Clean -# ---------------------------------------------------------------------------- - -$(STATEDIR)/host-gobject-introspection.clean: - @$(call targetinfo) - @$(call clean_pkg, HOST_GOBJECT_INTROSPECTION) - @rm \ - $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner \ - $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-compiler - # vim: syntax=make -- cgit v1.2.3