gn2bp: Make result deterministic
Sort dependencies before iteration
Test: Run ./update_results.sh 20 times
Change-Id: I8aa02a6bbcda07580069a6161ef5d78ace88c5b4
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index e991b86..555c5d4 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -5136,7 +5136,6 @@
cc_library_static {
name: "cronet_aml_third_party_zlib_zlib",
srcs: [
- ":cronet_aml_third_party_android_ndk_cpu_features",
":cronet_aml_third_party_zlib_zlib_adler32_simd",
":cronet_aml_third_party_zlib_zlib_common_headers",
":cronet_aml_third_party_zlib_zlib_crc32_simd",
@@ -5163,22 +5162,26 @@
],
cflags: [
"-DADLER32_SIMD_SSSE3",
- "-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DCRC32_SIMD_SSE42_PCLMUL",
"-DCR_CLANG_REVISION=\"llvmorg-16-init-8697-g60809cd2-1\"",
"-DCR_LIBCXX_REVISION=47b31179d10646029c260702650a25d24f555acc",
+ "-DCR_SYSROOT_KEY=20220331T153654Z-0",
"-DDCHECK_ALWAYS_ON=1",
"-DDEFLATE_SLIDE_HASH_SSE2",
"-DDYNAMIC_ANNOTATIONS_ENABLED=1",
- "-DHAVE_SYS_UIO_H",
"-DINFLATE_CHUNK_READ_64LE",
"-DINFLATE_CHUNK_SIMD_SSE2",
+ "-DUSE_AURA=1",
+ "-DUSE_OZONE=1",
+ "-DUSE_UDEV",
"-DX86_NOT_WINDOWS",
"-DZLIB_DEBUG",
"-DZLIB_IMPLEMENTATION",
"-D_DEBUG",
+ "-D_FILE_OFFSET_BITS=64",
"-D_GNU_SOURCE",
+ "-D_LARGEFILE64_SOURCE",
+ "-D_LARGEFILE_SOURCE",
"-D_LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED=1",
"-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
"-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
@@ -5191,9 +5194,8 @@
"buildtools/third_party/libc++/",
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
- "third_party/android_ndk/sources/android/cpufeatures/",
"third_party/zlib/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
+ "build/linux/debian_bullseye_amd64-sysroot/usr/include",
],
cpp_std: "c++20",
}
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 67940af..6d8acbf 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -1128,7 +1128,10 @@
(type(add_val), key))
# dep_name is an unmangled GN target name (e.g. //foo:bar(toolchain)).
- all_deps = target.deps | target.source_set_deps | target.transitive_proto_deps
+ # Currently, only one module is generated from target even target has multiple toolchains.
+ # And module is generated based on the first visited target.
+ # Sort deps before iteration to make result deterministic.
+ all_deps = sorted(target.deps | target.source_set_deps | target.transitive_proto_deps)
for dep_name in all_deps:
# |builtin_deps| override GN deps with Android-specific ones. See the
# config in the top of this file.