Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8edcba4c authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Create one rule per one corpus/data files" into main

parents 87987fd0 3b24406d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import (
func init() {
	RegisterCCBuildComponents(android.InitRegistrationContext)

	pctx.Import("android/soong/android")
	pctx.Import("android/soong/cc/config")
}

+14 −10
Original line number Diff line number Diff line
@@ -258,25 +258,29 @@ func (fuzzBin *fuzzBinary) install(ctx ModuleContext, file android.Path) {

func PackageFuzzModule(ctx android.ModuleContext, fuzzPackagedModule fuzz.FuzzPackagedModule, pctx android.PackageContext) fuzz.FuzzPackagedModule {
	fuzzPackagedModule.Corpus = android.PathsForModuleSrc(ctx, fuzzPackagedModule.FuzzProperties.Corpus)
	builder := android.NewRuleBuilder(pctx, ctx)
	intermediateDir := android.PathForModuleOut(ctx, "corpus")

	// Create one rule per file to avoid MAX_ARG_STRLEN hardlimit.
	for _, entry := range fuzzPackagedModule.Corpus {
		builder.Command().Text("cp").
			Input(entry).
			Output(intermediateDir.Join(ctx, entry.Base()))
		ctx.Build(pctx, android.BuildParams{
			Rule:   android.Cp,
			Output: intermediateDir.Join(ctx, entry.Base()),
			Input:  entry,
		})
	}
	builder.Build("copy_corpus", "copy corpus")
	fuzzPackagedModule.CorpusIntermediateDir = intermediateDir

	fuzzPackagedModule.Data = android.PathsForModuleSrc(ctx, fuzzPackagedModule.FuzzProperties.Data)
	builder = android.NewRuleBuilder(pctx, ctx)
	intermediateDir = android.PathForModuleOut(ctx, "data")

	// Create one rule per file to avoid MAX_ARG_STRLEN hardlimit.
	for _, entry := range fuzzPackagedModule.Data {
		builder.Command().Text("cp").
			Input(entry).
			Output(intermediateDir.Join(ctx, entry.Rel()))
		ctx.Build(pctx, android.BuildParams{
			Rule:   android.Cp,
			Output: intermediateDir.Join(ctx, entry.Rel()),
			Input:  entry,
		})
	}
	builder.Build("copy_data", "copy data")
	fuzzPackagedModule.DataIntermediateDir = intermediateDir

	if fuzzPackagedModule.FuzzProperties.Dictionary != nil {
+0 −1
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ import (

func init() {
	RegisterNdkModuleTypes(android.InitRegistrationContext)
	pctx.Import("android/soong/android")
}

func RegisterNdkModuleTypes(ctx android.RegistrationContext) {
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ func init() {
	android.PostDepsMutators(func(ctx android.RegisterMutatorsContext) {
		ctx.BottomUp("rust_sanitizers", rustSanitizerRuntimeMutator).Parallel()
	})
	pctx.Import("android/soong/android")
	pctx.Import("android/soong/rust/config")
	pctx.ImportAs("cc_config", "android/soong/cc/config")
	android.InitRegistrationContext.RegisterParallelSingletonType("kythe_rust_extract", kytheExtractRustFactory)