Add BOARD_PERFSETUP_SCRIPT as a soong config variable

This variable is used to customize different perf script used by
perf-setup under platform_testing/scripts/perf-setup/.
This CL also add perf-setup.sh by default installed for eng and
userdebug build.

Bug: 343133111
Test: . build/envsetup.sh; lunch aosp_akita-trunk_staging-userdebug;\
      m perf-setup
Test: . build/envsetup.sh; lunch aosp_panther-trunk_staging-userdebug; \
      m perf-setup
Test: . build/envseup.sh; lunch aosp_cf_x86_64_phone-trunk_staging-userdebug; \
      m perf-setup
Change-Id: I0f81f5296aa59bef5b5d608a6cfda6d8b05b4e0f
diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk
index f2ff286..b85e58c 100644
--- a/core/android_soong_config_vars.mk
+++ b/core/android_soong_config_vars.mk
@@ -162,3 +162,9 @@
 # Enable Profiling module. Also used by platform_bootclasspath.
 $(call soong_config_set,ANDROID,release_package_profiling_module,$(RELEASE_PACKAGE_PROFILING_MODULE))
 $(call soong_config_set,bootclasspath,release_package_profiling_module,$(RELEASE_PACKAGE_PROFILING_MODULE))
+
+# Add perf-setup build flag to soong
+# Note: BOARD_PERFSETUP_SCRIPT location must be under platform_testing/scripts/perf-setup/.
+ifdef BOARD_PERFSETUP_SCRIPT
+  $(call soong_config_set,perf,board_perfsetup_script,$(notdir $(BOARD_PERFSETUP_SCRIPT)))
+endif
diff --git a/target/product/base_vendor.mk b/target/product/base_vendor.mk
index 1854f97..52e2583 100644
--- a/target/product/base_vendor.mk
+++ b/target/product/base_vendor.mk
@@ -105,3 +105,9 @@
 PRODUCT_PACKAGES += \
     adb_debug.prop \
     userdebug_plat_sepolicy.cil
+
+# On eng or userdebug builds, build in perf-setup-sh by default.
+ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
+PRODUCT_PACKAGES += \
+    perf-setup-sh
+endif