Reland "Enable LTO in Android tree."

This reverts commit 3d46e0d12b172526482d343a6d1a25a9a061af35.

Reason for revert: We should enable this now to let it soak.

Change-Id: I7d0f672ba5ee1c34320fe840e90c951f917cef08
diff --git a/Android.bp b/Android.bp
index b7fc087..deb460b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -728,6 +728,13 @@
       cflags: ["-DPERFETTO_BUILD_WITH_ANDROID_USERDEBUG"],
     },
   },
+  target: {
+    android: {
+      lto: {
+        thin: true,
+      },
+    },
+  },
 }
 
 // GN target: //:perfetto_integrationtests
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index f2f388b..aa13178 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -280,6 +280,7 @@
         self.tool_files = None
         self.android = Target('android')
         self.host = Target('host')
+        self.lto = None
 
     def to_string(self, output):
         if self.comment:
@@ -325,6 +326,14 @@
                 output.append('      cflags: ["-DPERFETTO_BUILD_WITH_ANDROID_USERDEBUG"],')
                 output.append('    },')
             output.append('  },')
+        if self.lto is not None:
+          output.append('  target: {')
+          output.append('    android: {')
+          output.append('      lto: {')
+          output.append('        thin: %s,' % 'true' if self.lto else 'false')
+          output.append('      },')
+          output.append('    },')
+          output.append('  },')
         output.append('}')
         output.append('')
 
@@ -700,6 +709,7 @@
         '-Oz',
     ]
     defaults.user_debug_flag = True
+    defaults.lto = True
 
     blueprint.add_module(defaults)
     for target in targets: