Ignore_max_page_size option.
Option for specific prebuilts to opt out of the prebuilt page size check. Like allow_undefined_symbols. Bug: 342466032 Test: build using this to opt out Change-Id: I335c0beb66c10b260e7c3e405f05027e7718fe07
This commit is contained in:
parent
01d31bdc98
commit
dabe2d4336
2 changed files with 13 additions and 3 deletions
|
@ -486,14 +486,14 @@ func (p *prebuiltLibraryLinker) AndroidMkEntries(ctx AndroidMkContext, entries *
|
||||||
ctx.subAndroidMk(entries, p.libraryDecorator)
|
ctx.subAndroidMk(entries, p.libraryDecorator)
|
||||||
if p.shared() {
|
if p.shared() {
|
||||||
ctx.subAndroidMk(entries, &p.prebuiltLinker)
|
ctx.subAndroidMk(entries, &p.prebuiltLinker)
|
||||||
androidMkWriteAllowUndefinedSymbols(p.baseLinker, entries)
|
androidMkWritePrebuiltOptions(p.baseLinker, entries)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *prebuiltBinaryLinker) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) {
|
func (p *prebuiltBinaryLinker) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) {
|
||||||
ctx.subAndroidMk(entries, p.binaryDecorator)
|
ctx.subAndroidMk(entries, p.binaryDecorator)
|
||||||
ctx.subAndroidMk(entries, &p.prebuiltLinker)
|
ctx.subAndroidMk(entries, &p.prebuiltLinker)
|
||||||
androidMkWriteAllowUndefinedSymbols(p.baseLinker, entries)
|
androidMkWritePrebuiltOptions(p.baseLinker, entries)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *apiLibraryDecorator) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) {
|
func (a *apiLibraryDecorator) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) {
|
||||||
|
@ -524,11 +524,17 @@ func (a *apiHeadersDecorator) AndroidMkEntries(ctx AndroidMkContext, entries *an
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func androidMkWriteAllowUndefinedSymbols(linker *baseLinker, entries *android.AndroidMkEntries) {
|
func androidMkWritePrebuiltOptions(linker *baseLinker, entries *android.AndroidMkEntries) {
|
||||||
allow := linker.Properties.Allow_undefined_symbols
|
allow := linker.Properties.Allow_undefined_symbols
|
||||||
if allow != nil {
|
if allow != nil {
|
||||||
entries.ExtraEntries = append(entries.ExtraEntries, func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
|
entries.ExtraEntries = append(entries.ExtraEntries, func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
|
||||||
entries.SetBool("LOCAL_ALLOW_UNDEFINED_SYMBOLS", *allow)
|
entries.SetBool("LOCAL_ALLOW_UNDEFINED_SYMBOLS", *allow)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
ignore := linker.Properties.Ignore_max_page_size
|
||||||
|
if ignore != nil {
|
||||||
|
entries.ExtraEntries = append(entries.ExtraEntries, func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
|
||||||
|
entries.SetBool("LOCAL_IGNORE_MAX_PAGE_SIZE", *ignore)
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,10 @@ type BaseLinkerProperties struct {
|
||||||
// This flag should only be necessary for compiling low-level libraries like libc.
|
// This flag should only be necessary for compiling low-level libraries like libc.
|
||||||
Allow_undefined_symbols *bool `android:"arch_variant"`
|
Allow_undefined_symbols *bool `android:"arch_variant"`
|
||||||
|
|
||||||
|
// ignore max page size. By default, max page size must be the
|
||||||
|
// max page size set for the target.
|
||||||
|
Ignore_max_page_size *bool `android:"arch_variant"`
|
||||||
|
|
||||||
// don't link in libclang_rt.builtins-*.a
|
// don't link in libclang_rt.builtins-*.a
|
||||||
No_libcrt *bool `android:"arch_variant"`
|
No_libcrt *bool `android:"arch_variant"`
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue