Clients of PackagingBase can customize dependency tag to use
Previously, the dep tag used by PackagingBase was fixed, which prevented some of its clients (e.g. cvd-host-package) from opting in to android.InstallAlwaysNeededDependencyTag. Now, PackagingBase.AddDeps accepts the dependency tag to use. Also, dependencies toward rust dylib, rlib, and proc_macro are configured to return true on InstallDepNeeded. This is required to install shared_lib dependencies of the rust modules when they are depended on by a rust binary. Exempt-From-Owner-Approval: a trivial change after +2 from the owner. This has to land ASAP as many users are affected by acloud being unavailable. Bug: N/A Test: m Test: acloud create --local-instance --local-image Change-Id: If22aee7c6f314fcb03b9d4fe6901a2557f1e899c
This commit is contained in:
@@ -685,6 +685,14 @@ type dependencyTag struct {
|
||||
proc_macro bool
|
||||
}
|
||||
|
||||
// InstallDepNeeded returns true for rlibs, dylibs, and proc macros so that they or their transitive
|
||||
// dependencies (especially C/C++ shared libs) are installed as dependencies of a rust binary.
|
||||
func (d dependencyTag) InstallDepNeeded() bool {
|
||||
return d.library || d.proc_macro
|
||||
}
|
||||
|
||||
var _ android.InstallNeededDependencyTag = dependencyTag{}
|
||||
|
||||
var (
|
||||
customBindgenDepTag = dependencyTag{name: "customBindgenTag"}
|
||||
rlibDepTag = dependencyTag{name: "rlibTag", library: true}
|
||||
|
Reference in New Issue
Block a user