diff --git a/package/gobject-introspection/g-ir-scanner.in b/package/gobject-introspection/g-ir-scanner.in index 9f97497b7e..22df7be309 100644 --- a/package/gobject-introspection/g-ir-scanner.in +++ b/package/gobject-introspection/g-ir-scanner.in @@ -1,6 +1,20 @@ #!/usr/bin/env bash +# These environment variables are empty by default, and as such ccompiler.py +# defaults to either using the system tools (CC, CXX, and CPP) or leaving +# the variables blank (LDFLAGS, CFLAGS, and CPPFLAGS.) +# Export these variables to ensure all build systems can generate .gir and +# .typelib files properly. +export CPP="${CPP:-${HOST_DIR}/bin/@BASENAME_TARGET_CPP@}" +export CC="${CC:-${HOST_DIR}/bin/@BASENAME_TARGET_CC@}" +export CXX="${CXX:-${HOST_DIR}/bin/@BASENAME_TARGET_CXX@}" +export CPPFLAGS="${CPPFLAGS:-@TARGET_CPPFLAGS@}" +export CFLAGS="${CFLAGS:-@TARGET_CFLAGS@}" +export CXXFLAGS="${CXXFLAGS:-@TARGET_CXXFLAGS@}" +export LDFLAGS="${LDFLAGS:-@TARGET_LDFLAGS@}" + export GI_SCANNER_DISABLE_CACHE=1 + ${HOST_DIR}/bin/g-ir-scanner \ --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 35b6669469..0a395b814c 100644 --- a/package/gobject-introspection/gobject-introspection.mk +++ b/package/gobject-introspection/gobject-introspection.mk @@ -105,6 +105,15 @@ define GOBJECT_INTROSPECTION_INSTALL_WRAPPERS $(INSTALL) -D -m 755 \ $(GOBJECT_INTROSPECTION_PKGDIR)/$(w).in $(STAGING_DIR)/usr/bin/$(w) ) + $(SED) "s%@BASENAME_TARGET_CPP@%$(notdir $(TARGET_CPP))%g" \ + -e "s%@BASENAME_TARGET_CC@%$(notdir $(TARGET_CC))%g" \ + -e "s%@BASENAME_TARGET_CXX@%$(notdir $(TARGET_CXX))%g" \ + -e "s%@TARGET_CPPFLAGS@%$(TARGET_CPPFLAGS)%g" \ + -e "s%@TARGET_CFLAGS@%$(TARGET_CFLAGS)%g" \ + -e "s%@TARGET_CXXFLAGS@%$(TARGET_CXXFLAGS)%g" \ + -e "s%@TARGET_LDFLAGS@%$(TARGET_LDFLAGS)%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