Prebuilt_etc can be uninstallable
For APEXs, we need different prebuilt_etc modules having the same 'filename' properties, because we expect them to have same local path inside APEXs. For example, we will have ./etc/ld.config.txt file for APEXs having an executable. However, this can cause duplicated targets in the make world, because the prebuilt_etc modules will all be installed to the same path under /system. In order to avoid this, adding 'installable' property to prebuilt_etc module type to optionally make a module to be non-installable, but only to APEXs. Test: build/soong/build_test.bash --dist Change-Id: Iadb564e07d0483934548ca63f5f524a2c8515a81
This commit is contained in:
parent
724c854f6a
commit
ad9ce044fb
|
@ -44,6 +44,9 @@ type prebuiltEtcProperties struct {
|
|||
Recovery_available *bool
|
||||
|
||||
InRecovery bool `blueprint:"mutated"`
|
||||
|
||||
// Whether this module is directly installable to one of the partitions. Default: true.
|
||||
Installable *bool
|
||||
}
|
||||
|
||||
type PrebuiltEtc struct {
|
||||
|
@ -96,6 +99,10 @@ func (p *PrebuiltEtc) SubDir() string {
|
|||
return String(p.properties.Sub_dir)
|
||||
}
|
||||
|
||||
func (p *PrebuiltEtc) Installable() bool {
|
||||
return p.properties.Installable == nil || Bool(p.properties.Installable)
|
||||
}
|
||||
|
||||
func (p *PrebuiltEtc) GenerateAndroidBuildActions(ctx ModuleContext) {
|
||||
p.sourceFilePath = ctx.ExpandSource(String(p.properties.Src), "src")
|
||||
filename := String(p.properties.Filename)
|
||||
|
@ -128,6 +135,7 @@ func (p *PrebuiltEtc) AndroidMk() AndroidMkData {
|
|||
fmt.Fprintln(w, "LOCAL_PREBUILT_MODULE_FILE :=", p.outputFilePath.String())
|
||||
fmt.Fprintln(w, "LOCAL_MODULE_PATH :=", "$(OUT_DIR)/"+p.installDirPath.RelPathString())
|
||||
fmt.Fprintln(w, "LOCAL_INSTALLED_MODULE_STEM :=", p.outputFilePath.Base())
|
||||
fmt.Fprintln(w, "LOCAL_UNINSTALLABLE_MODULE :=", !p.Installable())
|
||||
if p.additionalDependencies != nil {
|
||||
fmt.Fprint(w, "LOCAL_ADDITIONAL_DEPENDENCIES :=")
|
||||
for _, path := range *p.additionalDependencies {
|
||||
|
|
Loading…
Reference in New Issue