Signed-off-by: Mike Gilbert <[email protected]>
---
 eclass/udev.eclass | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index 9a65b080f171..8e256385f8ef 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -50,11 +50,25 @@ fi
 # @DESCRIPTION:
 # Get unprefixed udevdir.
 _udev_get_udevdir() {
-       local udevdir="/lib/udev"
+       local udevdir="/lib/udev" eprefix
+
+       if [[ ${EAPI:-0} == [0123456] ]]; then
+               eprefix=${EPREFIX}
+       else
+               # Derive from ESYSROOT due to weird PMS logic.
+               eprefix=${ESYSROOT#${SYSROOT}}
+       fi
+
        if $(tc-getPKG_CONFIG) --exists udev; then
                udevdir="$($(tc-getPKG_CONFIG) --variable=udevdir udev)" || die
-               udevdir="${udevdir#${EPREFIX}}"
+
+               # Remove SYSROOT in case PKG_CONFIG_SYSROOT_DIR is set by 
cross-pkg-config.
+               d=${udevdir#${SYSROOT}}
+
+               # Remove any offset prefix.
+               d=${udevdir#${eprefix}}
        fi
+
        echo "${udevdir}"
 }
 
-- 
2.30.0


Reply via email to