Soong: BPF: Cflag and btf defaults
Currently, all bpf programs require a cflags field which defines -Wall and -Werror. This change enables this by default, and also enables -Wextra. This removes boilerplate required for every bpf program, and improves code quality. Additionally, this change enables the default of 'btf: true' further reducing the boilerplate required for most bpf programs in their Android.bp file. BTF should be enabled by default, with only limited mainlined bpf programs requiring BTF being disabled for compatibility with older bpfloader releases. Test: Treehugger Change-Id: I8efd0f63115030d40c0ff7fe81d5345ff3436e5a Signed-off-by: Neill Kapron <nkapron@google.com>
This commit is contained in:
@@ -148,6 +148,10 @@ func (bpf *bpf) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
"-no-canonical-prefixes",
|
||||
|
||||
"-O2",
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-Wextra",
|
||||
|
||||
"-isystem bionic/libc/include",
|
||||
"-isystem bionic/libc/kernel/uapi",
|
||||
// The architecture doesn't matter here, but asm/types.h is included by linux/types.h.
|
||||
@@ -165,7 +169,7 @@ func (bpf *bpf) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
cflags = append(cflags, bpf.properties.Cflags...)
|
||||
|
||||
if proptools.Bool(bpf.properties.Btf) {
|
||||
if proptools.BoolDefault(bpf.properties.Btf, true) {
|
||||
cflags = append(cflags, "-g")
|
||||
if runtime.GOOS != "darwin" {
|
||||
cflags = append(cflags, "-fdebug-prefix-map=/proc/self/cwd=")
|
||||
@@ -190,7 +194,7 @@ func (bpf *bpf) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
},
|
||||
})
|
||||
|
||||
if proptools.Bool(bpf.properties.Btf) {
|
||||
if proptools.BoolDefault(bpf.properties.Btf, true) {
|
||||
objStripped := android.ObjPathWithExt(ctx, "", src, "o")
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
Rule: stripRule,
|
||||
|
Reference in New Issue
Block a user