Support tailoring clang --target flag based on min sdk version.
Bug: 215748260
Test: Tested using aquery to verify the --target flag; add added unit
Change-Id: Ifb13509db7d1e110316aa44d55ec9cccaa4b83d1
diff --git a/bp2build/cc_binary_conversion_test.go b/bp2build/cc_binary_conversion_test.go
index 8d94079..17337f0 100644
--- a/bp2build/cc_binary_conversion_test.go
+++ b/bp2build/cc_binary_conversion_test.go
@@ -15,12 +15,13 @@
package bp2build
import (
- "android/soong/android"
- "android/soong/cc"
- "android/soong/genrule"
"fmt"
"strings"
"testing"
+
+ "android/soong/android"
+ "android/soong/cc"
+ "android/soong/genrule"
)
const (
@@ -127,6 +128,8 @@
keep_symbols_list: ["symbol"],
none: true,
},
+ sdk_version: "current",
+ min_sdk_version: "29",
}
`,
targets: []testBazelTarget{
@@ -150,6 +153,8 @@
"keep_symbols_list": ["symbol"],
"none": True,
}`,
+ "sdk_version": `"current"`,
+ "min_sdk_version": `"29"`,
},
},
},
diff --git a/bp2build/cc_library_conversion_test.go b/bp2build/cc_library_conversion_test.go
index 8fde655..d84e156 100644
--- a/bp2build/cc_library_conversion_test.go
+++ b/bp2build/cc_library_conversion_test.go
@@ -115,6 +115,8 @@
},
},
include_build_directory: false,
+ sdk_version: "current",
+ min_sdk_version: "29",
}
`,
expectedBazelTargets: makeCcLibraryTargets("foo-lib", attrNameToString{
@@ -140,6 +142,8 @@
"//build/bazel/platforms/os:linux_bionic": ["bionic.cpp"],
"//conditions:default": [],
})`,
+ "sdk_version": `"current"`,
+ "min_sdk_version": `"29"`,
}),
})
}
diff --git a/bp2build/cc_library_headers_conversion_test.go b/bp2build/cc_library_headers_conversion_test.go
index e4cfa35..e5bb120 100644
--- a/bp2build/cc_library_headers_conversion_test.go
+++ b/bp2build/cc_library_headers_conversion_test.go
@@ -112,6 +112,8 @@
export_include_dirs: ["arch_x86_64_exported_include_dir"],
},
},
+ sdk_version: "current",
+ min_sdk_version: "29",
// TODO: Also support export_header_lib_headers
}`,
@@ -130,6 +132,8 @@
":lib-1",
":lib-2",
]`,
+ "sdk_version": `"current"`,
+ "min_sdk_version": `"29"`,
}),
},
})
diff --git a/bp2build/cc_library_shared_conversion_test.go b/bp2build/cc_library_shared_conversion_test.go
index 78192fe..22c9dfe 100644
--- a/bp2build/cc_library_shared_conversion_test.go
+++ b/bp2build/cc_library_shared_conversion_test.go
@@ -136,6 +136,8 @@
"header_lib_1",
"header_lib_2"
],
+ sdk_version: "current",
+ min_sdk_version: "29",
// TODO: Also support export_header_lib_headers
}`,
@@ -174,6 +176,8 @@
":whole_static_lib_1",
":whole_static_lib_2",
]`,
+ "sdk_version": `"current"`,
+ "min_sdk_version": `"29"`,
}),
},
})
diff --git a/bp2build/cc_library_static_conversion_test.go b/bp2build/cc_library_static_conversion_test.go
index 205bf4d..be10e86 100644
--- a/bp2build/cc_library_static_conversion_test.go
+++ b/bp2build/cc_library_static_conversion_test.go
@@ -166,6 +166,8 @@
"header_lib_1",
"header_lib_2"
],
+ sdk_version: "current",
+ min_sdk_version: "29",
// TODO: Also support export_header_lib_headers
}`,
@@ -202,6 +204,8 @@
":whole_static_lib_1",
":whole_static_lib_2",
]`,
+ "sdk_version": `"current"`,
+ "min_sdk_version": `"29"`,
}),
},
})
diff --git a/bp2build/cc_object_conversion_test.go b/bp2build/cc_object_conversion_test.go
index 0a6c317..ea58086 100644
--- a/bp2build/cc_object_conversion_test.go
+++ b/bp2build/cc_object_conversion_test.go
@@ -55,6 +55,8 @@
"a/b/*.c"
],
exclude_srcs: ["a/b/exclude.c"],
+ sdk_version: "current",
+ min_sdk_version: "29",
}
`,
expectedBazelTargets: []string{
@@ -71,6 +73,8 @@
]`,
"srcs": `["a/b/c.c"]`,
"system_dynamic_deps": `[]`,
+ "sdk_version": `"current"`,
+ "min_sdk_version": `"29"`,
}),
},
})
diff --git a/bp2build/conversion.go b/bp2build/conversion.go
index 3ab846b..91e614d 100644
--- a/bp2build/conversion.go
+++ b/bp2build/conversion.go
@@ -36,6 +36,7 @@
}
files = append(files, newFile("api_levels", GeneratedBuildFileName, `exports_files(["api_levels.json"])`))
files = append(files, newFile("api_levels", "api_levels.json", string(apiLevelsContent)))
+ files = append(files, newFile("api_levels", "api_levels.bzl", android.StarlarkApiLevelConfigs(cfg)))
return files
}
diff --git a/bp2build/conversion_test.go b/bp2build/conversion_test.go
index c94a923..d65ece8 100644
--- a/bp2build/conversion_test.go
+++ b/bp2build/conversion_test.go
@@ -114,6 +114,10 @@
dir: "api_levels",
basename: "api_levels.json",
},
+ {
+ dir: "api_levels",
+ basename: "api_levels.bzl",
+ },
}
if len(files) != len(expectedFilePaths) {