From fe6ef404b5c320fcb0c7d6435d9f37a7273920ee Mon Sep 17 00:00:00 2001 From: Changming Sun Date: Wed, 10 Jul 2024 18:44:17 -0700 Subject: [PATCH] Enable LTO for Android build (#21243) ### Description Enable LTO for Android build, which can reduce binary size by 6%. --- .../github/android/default_full_aar_build_settings.json | 1 + .../github/android/training_full_aar_build_settings.json | 1 + .../android-x86_64-crosscompile-ci-pipeline.yml | 5 +++++ .../android_minimal_baseline.config | 1 + .../android_minimal_with_mobile_package_ops.config | 1 + 5 files changed, 9 insertions(+) diff --git a/tools/ci_build/github/android/default_full_aar_build_settings.json b/tools/ci_build/github/android/default_full_aar_build_settings.json index 467f704894..b0eff75812 100644 --- a/tools/ci_build/github/android/default_full_aar_build_settings.json +++ b/tools/ci_build/github/android/default_full_aar_build_settings.json @@ -8,6 +8,7 @@ "android_min_sdk_version": 21, "android_target_sdk_version": 24, "build_params": [ + "--enable_lto", "--android", "--parallel", "--cmake_generator=Ninja", diff --git a/tools/ci_build/github/android/training_full_aar_build_settings.json b/tools/ci_build/github/android/training_full_aar_build_settings.json index 76cb9f0b17..013804e2d6 100644 --- a/tools/ci_build/github/android/training_full_aar_build_settings.json +++ b/tools/ci_build/github/android/training_full_aar_build_settings.json @@ -8,6 +8,7 @@ "android_min_sdk_version": 21, "android_target_sdk_version": 24, "build_params": [ + "--enable_lto", "--android", "--parallel", "--cmake_generator=Ninja", diff --git a/tools/ci_build/github/azure-pipelines/android-x86_64-crosscompile-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/android-x86_64-crosscompile-ci-pipeline.yml index 54e83b03aa..a3e3a20267 100644 --- a/tools/ci_build/github/azure-pipelines/android-x86_64-crosscompile-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/android-x86_64-crosscompile-ci-pipeline.yml @@ -85,6 +85,7 @@ stages: - script: | python3 tools/ci_build/build.py \ + --enable_lto \ --android \ --build_dir build \ --android_sdk_path $ANDROID_HOME \ @@ -169,6 +170,7 @@ stages: - script: | python3 tools/ci_build/build.py \ + --enable_lto \ --android \ --build_dir build_nnapi \ --android_sdk_path $ANDROID_HOME \ @@ -264,6 +266,7 @@ stages: - script: | python3 tools/ci_build/build.py \ + --enable_lto \ --android \ --build_dir build \ --android_sdk_path $ANDROID_HOME \ @@ -329,6 +332,7 @@ stages: - script: | python3 tools/ci_build/build.py \ + --enable_lto \ --android \ --build_dir build_nnapi \ --android_sdk_path $ANDROID_HOME \ @@ -401,6 +405,7 @@ stages: - script: | python3 tools/ci_build/build.py \ + --enable_lto \ --android \ --build_dir build_nnapi \ --android_sdk_path $ANDROID_HOME \ diff --git a/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_baseline.config b/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_baseline.config index 215bc4015a..3f1691f47e 100644 --- a/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_baseline.config +++ b/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_baseline.config @@ -3,6 +3,7 @@ "os": "android", "arch": "arm64-v8a", "build_params": [ + "--enable_lto", "--android", "--android_sdk_path=/android_home", "--android_ndk_path=/ndk_home", diff --git a/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_with_mobile_package_ops.config b/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_with_mobile_package_ops.config index 1348707a07..dbebec5788 100644 --- a/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_with_mobile_package_ops.config +++ b/tools/ci_build/github/linux/ort_minimal/build_check_binsize_config/android_minimal_with_mobile_package_ops.config @@ -3,6 +3,7 @@ "os": "android", "arch": "arm64-v8a", "build_params": [ + "--enable_lto", "--android", "--android_sdk_path=/android_home", "--android_ndk_path=/ndk_home",