diff options
author | 2021-04-29 12:50:47 -0700 | |
---|---|---|
committer | 2021-05-01 00:55:42 -0700 | |
commit | c651b5295b6a59a43b2930188449fa6b98c754ff (patch) | |
tree | 3633c542b39c6f403243561acb9bb461f8e24dc2 /rust/androidmk.go | |
parent | 86477cfeb210252e477bcf712d8887c6157a57e8 (diff) |
Add support for packaging rust fuzzers
Test: make haiku-rust
Change-Id: Idd4d836d11e0ae615b59c6648d49348449589787
Diffstat (limited to 'rust/androidmk.go')
-rw-r--r-- | rust/androidmk.go | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/rust/androidmk.go b/rust/androidmk.go index 5f89d73c7..ea45ebd01 100644 --- a/rust/androidmk.go +++ b/rust/androidmk.go @@ -91,7 +91,6 @@ func (binary *binaryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.Andr if binary.distFile.Valid() { ret.DistFiles = android.MakeDefaultDistFiles(binary.distFile.Path()) } - ret.Class = "EXECUTABLES" } @@ -201,3 +200,36 @@ func (compiler *baseCompiler) AndroidMk(ctx AndroidMkContext, ret *android.Andro entries.SetString("LOCAL_MODULE_STEM", stem) }) } + +func (fuzz *fuzzDecorator) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) { + ctx.SubAndroidMk(entries, fuzz.binaryDecorator) + + var fuzzFiles []string + for _, d := range fuzz.corpus { + fuzzFiles = append(fuzzFiles, + filepath.Dir(fuzz.corpusIntermediateDir.String())+":corpus/"+d.Base()) + } + + for _, d := range fuzz.data { + fuzzFiles = append(fuzzFiles, + filepath.Dir(fuzz.dataIntermediateDir.String())+":data/"+d.Rel()) + } + + if fuzz.dictionary != nil { + fuzzFiles = append(fuzzFiles, + filepath.Dir(fuzz.dictionary.String())+":"+fuzz.dictionary.Base()) + } + + if fuzz.config != nil { + fuzzFiles = append(fuzzFiles, + filepath.Dir(fuzz.config.String())+":config.json") + } + + entries.ExtraEntries = append(entries.ExtraEntries, func(ctx android.AndroidMkExtraEntriesContext, + entries *android.AndroidMkEntries) { + entries.SetBool("LOCAL_IS_FUZZ_TARGET", true) + if len(fuzzFiles) > 0 { + entries.AddStrings("LOCAL_TEST_DATA", fuzzFiles...) + } + }) +} |