Merge changes I59439b77,I7dbaf8be
* changes: bloaty: measure stripped Rust binaries rust: do not strip static library
This commit is contained in:
@@ -21,7 +21,6 @@ import (
|
||||
"github.com/google/blueprint"
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/bloaty"
|
||||
"android/soong/rust/config"
|
||||
)
|
||||
|
||||
@@ -254,8 +253,6 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
|
||||
implicits = append(implicits, clippyFile)
|
||||
}
|
||||
|
||||
bloaty.MeasureSizeForPath(ctx, outputFile)
|
||||
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
Rule: rustc,
|
||||
Description: "rustc " + main.Rel(),
|
||||
|
@@ -475,7 +475,7 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa
|
||||
TransformSrctoShared(ctx, srcPath, deps, flags, outputFile, deps.linkDirs)
|
||||
}
|
||||
|
||||
if !library.rlib() && library.stripper.NeedsStrip(ctx) {
|
||||
if !library.rlib() && !library.static() && library.stripper.NeedsStrip(ctx) {
|
||||
strippedOutputFile := android.PathForModuleOut(ctx, "stripped", fileName)
|
||||
library.stripper.StripExecutableOrSharedLib(ctx, outputFile, strippedOutputFile)
|
||||
library.strippedOutputFile = android.OptionalPathForPath(strippedOutputFile)
|
||||
|
@@ -22,6 +22,7 @@ import (
|
||||
"github.com/google/blueprint/proptools"
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/bloaty"
|
||||
"android/soong/cc"
|
||||
cc_config "android/soong/cc/config"
|
||||
"android/soong/rust/config"
|
||||
@@ -751,8 +752,8 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
|
||||
if mod.compiler != nil && !mod.compiler.Disabled() {
|
||||
mod.compiler.initialize(ctx)
|
||||
unstrippedOutputFile := mod.compiler.compile(ctx, flags, deps)
|
||||
|
||||
mod.unstrippedOutputFile = android.OptionalPathForPath(unstrippedOutputFile)
|
||||
bloaty.MeasureSizeForPaths(ctx, mod.compiler.strippedOutputFilePath(), mod.unstrippedOutputFile)
|
||||
|
||||
apexInfo := actx.Provider(android.ApexInfoProvider).(android.ApexInfo)
|
||||
if mod.installable(apexInfo) {
|
||||
|
@@ -402,3 +402,17 @@ func TestMultilib(t *testing.T) {
|
||||
_ = ctx.ModuleForTests("libfoo", "android_arm64_armv8-a_rlib_dylib-std")
|
||||
_ = ctx.ModuleForTests("libfoo", "android_arm_armv7-a-neon_rlib_dylib-std")
|
||||
}
|
||||
|
||||
// Test that library size measurements are generated.
|
||||
func TestLibrarySizes(t *testing.T) {
|
||||
ctx := testRust(t, `
|
||||
rust_library_dylib {
|
||||
name: "libwaldo",
|
||||
srcs: ["foo.rs"],
|
||||
crate_name: "waldo",
|
||||
}`)
|
||||
|
||||
m := ctx.SingletonForTests("file_metrics")
|
||||
m.Output("libwaldo.dylib.so.bloaty.csv")
|
||||
m.Output("stripped/libwaldo.dylib.so.bloaty.csv")
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@ package rust
|
||||
|
||||
import (
|
||||
"android/soong/android"
|
||||
"android/soong/bloaty"
|
||||
"android/soong/cc"
|
||||
)
|
||||
|
||||
@@ -34,6 +35,7 @@ const rustDefaultsDir = "defaults/rust/"
|
||||
// Preparer that will define default rust modules, e.g. standard prebuilt modules.
|
||||
var PrepareForTestWithRustDefaultModules = android.GroupFixturePreparers(
|
||||
cc.PrepareForTestWithCcDefaultModules,
|
||||
bloaty.PrepareForTestWithBloatyDefaultModules,
|
||||
PrepareForTestWithRustBuildComponents,
|
||||
android.FixtureAddTextFile(rustDefaultsDir+"Android.bp", GatherRequiredDepsForTest()),
|
||||
)
|
||||
|
Reference in New Issue
Block a user