diff options
| author | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
|---|---|---|
| committer | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
| commit | c7bade461dc55726f62997d13a48582f7c4b4655 (patch) | |
| tree | ea0588da76060a2038f54f67efd046ca77634b10 /bpf/libbpf/libbpf_prog.go | |
| parent | 0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff) | |
| parent | 89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff) | |
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits)
Revert "install_symlink: Make symlink target configurable"
Reapply "Clear as much of cc.Module as possible after GenerateBuildActions"
Revert "rust: config: Fix missing CPU variant LD flags in Rust"
Rename build-flag in outdir
Revert^4 "cipd: Default CIPD proxy server to on, add opt-out"
Convert check-vintf-all to phony with actions
Create a partial implementation of check-vintf-all for soong-only
Configure RBE rust pool based on build variant
Revert^3 "Add sdk version check to arr"
Add jdk.internal.invoke to the allowlist
Make droid always depend on symbols zip
Import Device and Odm skus
Don't install gob_gen in Soong
Remove bazel reference from run_integration_tests.sh
Fix bootstrap_test.sh
Don't panic in aconfig libraries when AllowMissingDependencies is set
Avoid returning nil paths from PathForModuleSrc
Revert "Flag controled clang version"
Rework module target dependencies on required deps
Revert^2 "Add sdk version check to arr"
...
Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
Diffstat (limited to 'bpf/libbpf/libbpf_prog.go')
| -rw-r--r-- | bpf/libbpf/libbpf_prog.go | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/bpf/libbpf/libbpf_prog.go b/bpf/libbpf/libbpf_prog.go index 44013e5e3..07b35a7be 100644 --- a/bpf/libbpf/libbpf_prog.go +++ b/bpf/libbpf/libbpf_prog.go @@ -25,6 +25,7 @@ import ( "android/soong/genrule" "github.com/google/blueprint" + "github.com/google/blueprint/proptools" ) type libbpfProgDepType struct { @@ -93,6 +94,12 @@ type LibbpfProgProperties struct { // optional subdirectory under which this module is installed into. Relative_install_path string + + // whether this module is specific to an SoC (System-On-a-Chip). + // When set to true, it is installed into /vendor. + Vendor *bool + + VendorInternal bool `blueprint:"mutated"` } type libbpfProg struct { @@ -107,7 +114,7 @@ var _ android.ImageInterface = (*libbpfProg)(nil) func (libbpf *libbpfProg) ImageMutatorBegin(ctx android.ImageInterfaceContext) {} func (libbpf *libbpfProg) VendorVariantNeeded(ctx android.ImageInterfaceContext) bool { - return false + return proptools.Bool(libbpf.properties.Vendor) } func (libbpf *libbpfProg) ProductVariantNeeded(ctx android.ImageInterfaceContext) bool { @@ -115,7 +122,7 @@ func (libbpf *libbpfProg) ProductVariantNeeded(ctx android.ImageInterfaceContext } func (libbpf *libbpfProg) CoreVariantNeeded(ctx android.ImageInterfaceContext) bool { - return true + return !proptools.Bool(libbpf.properties.Vendor) } func (libbpf *libbpfProg) RamdiskVariantNeeded(ctx android.ImageInterfaceContext) bool { @@ -139,6 +146,7 @@ func (libbpf *libbpfProg) ExtraImageVariations(ctx android.ImageInterfaceContext } func (libbpf *libbpfProg) SetImageVariation(ctx android.ImageInterfaceContext, variation string) { + libbpf.properties.VendorInternal = variation == "vendor" } func (libbpf *libbpfProg) DepsMutator(ctx android.BottomUpMutatorContext) { @@ -173,12 +181,12 @@ func (libbpf *libbpfProg) GenerateAndroidBuildActions(ctx android.ModuleContext) cflags = append(cflags, "-fdebug-prefix-map=/proc/self/cwd=") } - ctx.VisitDirectDeps(func(dep android.Module) { + ctx.VisitDirectDepsProxy(func(dep android.ModuleProxy) { depTag := ctx.OtherModuleDependencyTag(dep) if depTag == libbpfProgDepTag { - if genRule, ok := dep.(genrule.SourceFileGenerator); ok { - cFlagsDeps = append(cFlagsDeps, genRule.GeneratedDeps()...) - dirs := genRule.GeneratedHeaderDirs() + if info, ok := android.OtherModuleProvider(ctx, dep, android.GeneratedSourceInfoProvider); ok { + cFlagsDeps = append(cFlagsDeps, info.GeneratedDeps...) + dirs := info.GeneratedHeaderDirs for _, dir := range dirs { cflags = append(cflags, "-I "+dir.String()) } @@ -250,7 +258,11 @@ func (libbpf *libbpfProg) AndroidMk() android.AndroidMkData { fmt.Fprintln(w, "LOCAL_PATH :=", moduleDir) fmt.Fprintln(w) var localModulePath string - localModulePath = "LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/bpf" + if libbpf.properties.VendorInternal { + localModulePath = "LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/bpf" + } else { + localModulePath = "LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/bpf" + } if len(libbpf.properties.Relative_install_path) > 0 { localModulePath += "/" + libbpf.properties.Relative_install_path } |
