Merge changes I44f90fc1,Id19e956e,Ie3791801,I8aa02a6b,If595db37
* changes:
gn2bp: Remove unnecessary mkdir in proto module
gn2bp: Update --proto_path and --cpp_out arg
gn2bp: Remove unused conversion rule
gn2bp: Make result deterministic
gn2bp: Remove unused dependencies from net_deps
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index e4e967c..3c59547 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -1891,57 +1891,6 @@
],
}
-// GN: //net/base/registry_controlled_domains:registry_controlled_domains
-genrule {
- name: "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains",
- cmd: "$(location net/tools/dafsa/make_dafsa.py) --reverse " +
- "$(location net/base/registry_controlled_domains/effective_tld_names.gperf) " +
- "$(location net/base/registry_controlled_domains/effective_tld_names-reversed-inc.cc) " +
- "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
- "--reverse " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf) " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest1-reversed-inc.cc) " +
- "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
- "--reverse " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest2.gperf) " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest2-reversed-inc.cc) " +
- "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
- "--reverse " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest3.gperf) " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest3-reversed-inc.cc) " +
- "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
- "--reverse " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest4.gperf) " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest4-reversed-inc.cc) " +
- "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
- "--reverse " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest5.gperf) " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest5-reversed-inc.cc) " +
- "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
- "--reverse " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf) " +
- "$(location net/base/registry_controlled_domains/effective_tld_names_unittest6-reversed-inc.cc)",
- out: [
- "net/base/registry_controlled_domains/effective_tld_names-reversed-inc.cc",
- "net/base/registry_controlled_domains/effective_tld_names_unittest1-reversed-inc.cc",
- "net/base/registry_controlled_domains/effective_tld_names_unittest2-reversed-inc.cc",
- "net/base/registry_controlled_domains/effective_tld_names_unittest3-reversed-inc.cc",
- "net/base/registry_controlled_domains/effective_tld_names_unittest4-reversed-inc.cc",
- "net/base/registry_controlled_domains/effective_tld_names_unittest5-reversed-inc.cc",
- "net/base/registry_controlled_domains/effective_tld_names_unittest6-reversed-inc.cc",
- ],
- tool_files: [
- "net/base/registry_controlled_domains/effective_tld_names.gperf",
- "net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf",
- "net/base/registry_controlled_domains/effective_tld_names_unittest2.gperf",
- "net/base/registry_controlled_domains/effective_tld_names_unittest3.gperf",
- "net/base/registry_controlled_domains/effective_tld_names_unittest4.gperf",
- "net/base/registry_controlled_domains/effective_tld_names_unittest5.gperf",
- "net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf",
- "net/tools/dafsa/make_dafsa.py",
- ],
-}
-
// GN: //net:buildflags
genrule {
name: "cronet_aml_net_buildflags",
@@ -1971,7 +1920,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/cert --cpp_out=lite=true:$(genDir)/external/chromium_org/net/cert/ $(in)",
out: [
"external/chromium_org/net/cert/root_store.pb.cc",
],
@@ -1986,7 +1935,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/cert --cpp_out=lite=true:$(genDir)/external/chromium_org/net/cert/ $(in)",
out: [
"external/chromium_org/net/cert/root_store.pb.h",
],
@@ -2140,7 +2089,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/base --cpp_out=lite=true:$(genDir)/external/chromium_org/net/base/ $(in)",
out: [
"external/chromium_org/net/base/isolation_info.pb.cc",
],
@@ -2155,7 +2104,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/base --cpp_out=lite=true:$(genDir)/external/chromium_org/net/base/ $(in)",
out: [
"external/chromium_org/net/base/isolation_info.pb.h",
],
@@ -2182,7 +2131,6 @@
":cronet_aml_net_net_export_header",
":cronet_aml_net_net_nqe_proto_gen",
":cronet_aml_net_net_public_deps",
- ":cronet_aml_net_net_resources",
":cronet_aml_net_third_party_quiche_net_quic_test_tools_proto_gen",
":cronet_aml_net_traffic_annotation_traffic_annotation",
"net/android/android_http_util.cc",
@@ -2698,8 +2646,6 @@
"cronet_aml_net_net_jni_headers",
"cronet_aml_net_net_nqe_proto_gen_headers",
"cronet_aml_net_third_party_quiche_net_quic_test_tools_proto_gen_headers",
- "cronet_aml_tools_grit_grit_sources",
- "cronet_aml_tools_gritsettings_default_resource_ids",
"cronet_aml_url_buildflags",
],
export_generated_headers: [
@@ -2713,8 +2659,6 @@
"cronet_aml_net_net_jni_headers",
"cronet_aml_net_net_nqe_proto_gen_headers",
"cronet_aml_net_third_party_quiche_net_quic_test_tools_proto_gen_headers",
- "cronet_aml_tools_grit_grit_sources",
- "cronet_aml_tools_gritsettings_default_resource_ids",
"cronet_aml_url_buildflags",
],
defaults: [
@@ -2886,7 +2830,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/nqe/proto --cpp_out=lite=true:$(genDir)/external/chromium_org/net/nqe/proto/ $(in)",
out: [
"external/chromium_org/net/nqe/proto/network_id_proto.pb.cc",
],
@@ -2901,7 +2845,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/nqe/proto --cpp_out=lite=true:$(genDir)/external/chromium_org/net/nqe/proto/ $(in)",
out: [
"external/chromium_org/net/nqe/proto/network_id_proto.pb.h",
],
@@ -2916,93 +2860,6 @@
name: "cronet_aml_net_net_public_deps",
}
-// GN: //net:net_resources
-filegroup {
- name: "cronet_aml_net_net_resources",
-}
-
-// GN: //net:net_resources_grit
-genrule {
- name: "cronet_aml_net_net_resources_grit",
- cmd: "$(location tools/grit/grit.py) -i " +
- "$(location net/base/net_resources.grd) " +
- "build " +
- "-o " +
- "$(genDir)/net " +
- "--depdir " +
- ". " +
- " " +
- " " +
- "--write-only-new " +
- "1 " +
- "--depend-on-stamp " +
- "-D " +
- "DEVTOOLS_GRD_PATH " +
- "gen/third_party/devtools-frontend/src/front_end/devtools_resources " +
- "-D " +
- "SHARED_INTERMEDIATE_DIR " +
- "gen " +
- "-D " +
- "_google_chrome " +
- "false " +
- "-D " +
- "_google_chrome_for_testing " +
- "false " +
- "-D " +
- "chromeos_ash " +
- "false " +
- "-D " +
- "chromeos_lacros " +
- "false " +
- "-D " +
- "reven " +
- "false " +
- "-D " +
- "toolkit_views " +
- "false " +
- "-D " +
- "use_aura " +
- "false " +
- "-D " +
- "use_ozone " +
- "false " +
- "-D " +
- "use_titlecase " +
- "false " +
- "-E " +
- "root_gen_dir " +
- "gen " +
- "-E " +
- "root_src_dir " +
- "../../ " +
- "-E " +
- "CHROMIUM_BUILD " +
- "chromium " +
- "-E " +
- "ANDROID_JAVA_TAGGED_ONLY " +
- "true " +
- "-t " +
- "android " +
- "-f " +
- "gen/tools/gritsettings/default_resource_ids " +
- "--assert-file-list " +
- "obj/net/net_resources_expected_outputs.txt",
- out: [
- "net/grit/net_resources.h",
- "net/net_resources.pak",
- "net/net_resources.pak.info",
- "net/net_resources_grit.d.stamp",
- ],
- tool_files: [
- "net/base/net_resources.grd",
- "out/test/gen/tools/gritsettings/default_resource_ids",
- "out/test/obj/net/net_resources_expected_outputs.txt",
- "third_party/six/src/six.py",
- "tools/grit/**/*.py",
- "tools/grit/grit.py",
- ],
-}
-
// GN: //net:preload_decoder
cc_library_static {
name: "cronet_aml_net_preload_decoder",
@@ -3059,7 +2916,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/third_party/quiche/src --cpp_out=lite=true:$(genDir)/external/chromium_org/net/third_party/quiche/src/ $(in)",
out: [
"external/chromium_org/net/third_party/quiche/src/quiche/quic/core/proto/cached_network_parameters.pb.cc",
"external/chromium_org/net/third_party/quiche/src/quiche/quic/core/proto/crypto_server_config.pb.cc",
@@ -3078,7 +2935,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/third_party/quiche/src --cpp_out=lite=true:$(genDir)/external/chromium_org/net/third_party/quiche/src/ $(in)",
out: [
"external/chromium_org/net/third_party/quiche/src/quiche/quic/core/proto/cached_network_parameters.pb.h",
"external/chromium_org/net/third_party/quiche/src/quiche/quic/core/proto/crypto_server_config.pb.h",
@@ -3099,7 +2956,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/third_party/quiche/src/quiche/quic/test_tools --cpp_out=lite=true:$(genDir)/external/chromium_org/net/third_party/quiche/src/quiche/quic/test_tools/ $(in)",
out: [
"external/chromium_org/net/third_party/quiche/src/quiche/quic/test_tools/send_algorithm_test_result.pb.cc",
],
@@ -3114,7 +2971,7 @@
tools: [
"aprotoc",
],
- cmd: "mkdir -p $(genDir)/external/chromium_org/ && $(location aprotoc) --proto_path=external/chromium_org --cpp_out=lite=true:$(genDir)/external/chromium_org/ $(in)",
+ cmd: "$(location aprotoc) --proto_path=external/chromium_org/net/third_party/quiche/src/quiche/quic/test_tools --cpp_out=lite=true:$(genDir)/external/chromium_org/net/third_party/quiche/src/quiche/quic/test_tools/ $(in)",
out: [
"external/chromium_org/net/third_party/quiche/src/quiche/quic/test_tools/send_algorithm_test_result.pb.h",
],
@@ -5279,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",
@@ -5306,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",
@@ -5334,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",
}
@@ -5377,43 +5236,6 @@
name: "cronet_aml_third_party_zlib_zlib_slide_hash_simd",
}
-// GN: //tools/grit:grit_sources
-genrule {
- name: "cronet_aml_tools_grit_grit_sources",
- cmd: "python $(location tools/grit/stamp_grit_sources.py) `dirname $(location tools/grit/grit.py)` " +
- "$(out) " +
- "$(genDir)/grit_sources.d",
- out: [
- "out/test/obj/tools/grit/grit_sources.script.stamp",
- ],
- tool_files: [
- "tools/grit/grit.py",
- "tools/grit/stamp_grit_sources.py",
- ],
-}
-
-// GN: //tools/gritsettings:default_resource_ids
-genrule {
- name: "cronet_aml_tools_gritsettings_default_resource_ids",
- cmd: "$(location tools/grit/grit.py) update_resource_ids " +
- "-o " +
- "$(location tools/gritsettings/default_resource_ids) " +
- "--add-header " +
- " " +
- " " +
- "--input " +
- "$(location tools/gritsettings/resource_ids.spec)",
- out: [
- "tools/gritsettings/default_resource_ids",
- ],
- tool_files: [
- "third_party/six/src/six.py",
- "tools/grit/**/*.py",
- "tools/grit/grit.py",
- "tools/gritsettings/resource_ids.spec",
- ],
-}
-
// GN: //url:buildflags
genrule {
name: "cronet_aml_url_buildflags",
diff --git a/tools/gn2bp/desc.json b/tools/gn2bp/desc.json
index 0c51c3c..8163d70 100644
--- a/tools/gn2bp/desc.json
+++ b/tools/gn2bp/desc.json
Binary files differ
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 67940af..120728b 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -494,13 +494,13 @@
assert (target.type == 'proto_library')
tools = {'aprotoc'}
- cpp_out_dir = '$(genDir)/%s/' % tree_path
+ cpp_out_dir = '$(genDir)/%s/%s/' % (tree_path, target.proto_in_dir)
target_module_name = label_to_module_name(target.name)
# In GN builds the proto path is always relative to the output directory
# (out/tmp.xxx).
- cmd = ['mkdir -p %s &&' % cpp_out_dir, '$(location aprotoc)']
- cmd += ['--proto_path=%s' % tree_path]
+ cmd = ['$(location aprotoc)']
+ cmd += ['--proto_path=%s/%s' % (tree_path, target.proto_in_dir)]
if buildtools_protobuf_src in target.proto_paths:
cmd += ['--proto_path=%s' % android_protobuf_src]
@@ -887,35 +887,6 @@
filename = re.sub('^\.\./\.\./', '', target.args[i + 1])
# This is an output file so use $(location %s)
target.args[i + 1] = '$(location %s)' % filename
- elif target.script == "//tools/protoc_wrapper/protoc_wrapper.py":
- # Use protoc in the android
- module.tools.add("aprotoc")
- target.outputs = [os.path.basename(out) for out in target.outputs]
- for i, val in enumerate(target.args):
- if val == '--protoc':
- target.args[i + 1] = '$(location aprotoc)'
- elif val == '--proto-in-dir':
- # --proto-in-dir is a relative directory from Android croot.
- # TODO: deleting the leading ../../ is a very common operation -- put
- # it in a function.
- proto_path = re.sub('^\.\./\.\./', '', target.args[i + 1])
- target.args[i + 1] = tree_path + '/' + proto_path
- elif val == '--cc-out-dir':
- target.args[i + 1] = '$(genDir)'
- elif val == 'dllexport_decl':
- # Needs to be dllexport_decl=value format
- target.args[i] = '%s=\'%s\'' % (target.args[i], target.args[i + 1])
- target.args[i+1] = ''
- elif val == '--include':
- # This file can be got from filegroup this target depends on, but currently we don't add .h
- # files to the srcs. So far this is the only case .h files need to be added to the srcs.
- # So, for now, adding specific for this target.
- module.srcs.add(target.args[i+1])
- target.args[i + 1] = '$(location %s)' % target.args[i + 1]
- elif val == "--py-out-dir":
- # pb2.py files are not used by others.
- target.args[i] = ''
- target.args[i + 1] = ''
script = gn_utils.label_to_path(target.script)
module.tool_files.add(script)
@@ -967,16 +938,6 @@
elif target.script == "//tools/grit/stamp_grit_sources.py":
# stamp_grit_sources.py is not executable
module.cmd = "python " + module.cmd
- elif target.script == "//tools/protoc_wrapper/protoc_wrapper.py":
- # Split module to source module and header module.
- # Source module has the .cc files and header module has the .h files in the out.
- header_module = copy.deepcopy(module)
- header_module.name += "_headers"
- header_module.out = [file for file in header_module.out if os.path.splitext(file)[1] == '.h']
- module.out = [file for file in module.out if os.path.splitext(file)[1] == '.cc']
- module.genrule_headers.add(header_module.name)
- module.genrule_srcs.add(':' + module.name)
- blueprint.add_module(header_module)
elif target.script == "//base/android/jni_generator/jni_generator.py":
# android_jar.classes should be part of the tools as it list implicit classes
# for the script to generate JNI headers.
@@ -1128,7 +1089,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.
diff --git a/tools/gn2bp/gn_utils.py b/tools/gn2bp/gn_utils.py
index 589b12a..6fcc0f8 100644
--- a/tools/gn2bp/gn_utils.py
+++ b/tools/gn2bp/gn_utils.py
@@ -110,6 +110,7 @@
self.proto_plugin = None
self.proto_paths = set()
self.proto_exports = set()
+ self.proto_in_dir = ""
self.sources = set()
# TODO(primiano): consider whether the public section should be part of
@@ -232,6 +233,7 @@
target.proto_plugin = proto_target_type
target.proto_paths.update(self.get_proto_paths(proto_desc))
target.proto_exports.update(self.get_proto_exports(proto_desc))
+ target.proto_in_dir = self.get_proto_in_dir(proto_desc)
target.sources.update(proto_desc.get('sources', []))
assert (all(x.endswith('.proto') for x in target.sources))
elif target.type == 'source_set':
@@ -322,6 +324,11 @@
metadata = proto_desc.get('metadata', {})
return metadata.get('import_dirs', [])
+
+ def get_proto_in_dir(self, proto_desc):
+ args = proto_desc.get('args')
+ return re.sub('^\.\./\.\./', '', args[args.index('--proto-in-dir') + 1])
+
def get_proto_target_type(self, target):
""" Checks if the target is a proto library and return the plugin.