diff --git a/python/mozbuild/mozbuild/frontend/data.py b/python/mozbuild/mozbuild/frontend/data.py index 0f3191efe084..b97597ff654d 100644 --- a/python/mozbuild/mozbuild/frontend/data.py +++ b/python/mozbuild/mozbuild/frontend/data.py @@ -448,9 +448,10 @@ class Library(BaseLibrary): class RustRlibLibrary(Library): """Context derived container object for a Rust rlib""" - def __init__(self, context, basename, crate_name, rlib_filename, link_into): + def __init__(self, context, basename, crate_name, srcdir, rlib_filename, link_into): Library.__init__(self, context, basename) self.crate_name = crate_name + self.srcdir = srcdir self.rlib_filename = rlib_filename self.link_into = link_into diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py index a8d0ccbff8da..84c42a30c303 100644 --- a/python/mozbuild/mozbuild/frontend/emitter.py +++ b/python/mozbuild/mozbuild/frontend/emitter.py @@ -725,6 +725,7 @@ class TreeMetadataEmitter(LoggingMixin): crate_name = context.relsrcdir.replace('/', '_') + '_' + base rlib_filename = 'lib' + base + '.rlib' lib = RustRlibLibrary(context, libname, crate_name, + mozpath.join(context.srcdir, mozpath.dirname(f)), rlib_filename, final_lib) self._libs[libname].append(lib) self._linkage.append((context, lib, 'USE_LIBS'))