[Buildroot] [PATCH v4, 2/3] package/gobject-introspection: export cc in g-ir-scanner
Yann E. MORIN
yann.morin.1998 at free.fr
Sat Mar 14 17:22:04 UTC 2020
Adam, All,
On 2020-03-12 12:46 -0700, aduskett at gmail.com spake thusly:
> From: Adam Duskett <Aduskett at gmail.com>
>
> Without this export, the host variant of g-ir-scanner will call the host
> gcc for linking.
>
> For autotools packages, this is not an issue as they use
> Makefile.introspection, which will export the cross-cc, however for meson,
> this is not the case, and linking errors occur when meson packages generate
> .gir and .typelib files.
>
> Signed-off-by: Adam Duskett <Aduskett at gmail.com>
> ---
> Changes v1 -> v3:
> - Use relative paths. (Yann)
>
> package/gobject-introspection/g-ir-scanner.in | 2 ++
> package/gobject-introspection/gobject-introspection.mk | 2 ++
> 2 files changed, 4 insertions(+)
>
> diff --git a/package/gobject-introspection/g-ir-scanner.in b/package/gobject-introspection/g-ir-scanner.in
> index 9f97497b7e..d5847ad063 100644
> --- a/package/gobject-introspection/g-ir-scanner.in
> +++ b/package/gobject-introspection/g-ir-scanner.in
> @@ -1,6 +1,8 @@
> #!/usr/bin/env bash
>
> export GI_SCANNER_DISABLE_CACHE=1
> +export CC="$(dirname "${0}")/../../../../bin/@BASENAME_TARGET_CC@"
> +
HHhmmm. I remember that I said I wanted the wrapper to still be
rrrelocatable. But it is in staging (sysroot) while the compiler is in
host dir, so you added that many .././/.. needed to got from there to
there.
But look at the line below: we already have HOST_DIR:
> ${HOST_DIR}/bin/g-ir-scanner \
^^^^^^^^^^^
So, just:
export CC="${HOSTTT_DIR}/bin/@BASENAME_TARGET_CC@"
Or did we miss something?
Regards,
Yann E. MORIN.
> --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH \
> --use-binary-wrapper=$(dirname $0)/g-ir-scanner-qemuwrapper \
> diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
> index 9043390857..a508957904 100644
> --- a/package/gobject-introspection/gobject-introspection.mk
> +++ b/package/gobject-introspection/gobject-introspection.mk
> @@ -104,6 +104,8 @@ define GOBJECT_INTROSPECTION_INSTALL_WRAPPERS
> $(INSTALL) -D -m 755 \
> $(GOBJECT_INTROSPECTION_PKGDIR)/$(w).in $(STAGING_DIR)/usr/bin/$(w)
> )
> + $(SED) "s%@BASENAME_TARGET_CC@%$(notdir $(TARGET_CC))%g" $(STAGING_DIR)/usr/bin/g-ir-scanner
> +
> # Gobject-introspection installs Makefile.introspection in
> # $(STAGING_DIR)/usr/share which is needed for autotools-based programs to
> # build .gir and .typelib files. Unfortuantly, gobject-introspection-1.0.pc
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list