Reland "Remove placeholder Obj-C headers and use angle-bracketed headers."
This is a reland of 37d41eea047799ccca2f09c941870c26ee3ffc0a
Original change's description:
> Reland "Remove placeholder Obj-C headers and use angle-bracketed headers."
>
> This is a reland of 6bfad33fd866e682c871c2ef2172b70b609593d1
>
> Original change's description:
> > Remove placeholder Obj-C headers and use angle-bracketed headers.
> >
> > sdk/objc/Framework/Headers are just a placeholder headers
> > for backward compatibility and I don't think it is really need this for now.
> > Instead, we can generate the framework header in
> > ios/mac_framework_bundle_with_umbrella_header.
> > Also clang supports the -Wquoted-include-in-framework-header warning,
> > and in Xcode 12, it's in Xcode's recommended settings. This warnings
> > can be avoided by replacing double-quoted includes with angle-bracketed
> > includes when generate framework headers.
> >
> > No-Presubmit: True
> > Bug: webrtc:9627, webrtc:11984
> > Change-Id: I3f6258dfa77a5acee669614005b2747feee35e39
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185920
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#32343}
>
> TBR=tommi@webrtc.org, andersc@webrtc.org
>
> No-Presubmit: True
> Bug: webrtc:9627
> Bug: webrtc:11984
> Change-Id: I8f44232f1a70b8ff2ce6a4b4792f0a18472fcec3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187280
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32429}
TBR=tommi@webrtc.org, andersc@webrtc.org
No-Presubmit: True
Bug: webrtc:9627
Bug: webrtc:11984
Change-Id: Ida92b8864dffaea37d3053d3c00381644988b54e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189781
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32470}
diff --git a/webrtc.gni b/webrtc.gni
index fa3765a..4272e44 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -891,17 +891,39 @@
# projects. See "mac_framework_bundle_with_umbrella_header".
template("ios_framework_bundle_with_umbrella_header") {
forward_variables_from(invoker, [ "output_name" ])
+ this_target_name = target_name
umbrella_header_path =
- "$target_gen_dir/$output_name.framework/Headers/$output_name.h"
+ "$target_gen_dir/$output_name.framework/WebRTC/$output_name.h"
+
+ action_foreach("create_bracket_include_headers_$target_name") {
+ script = "//tools_webrtc/apple/copy_framework_header.py"
+ sources = invoker.sources
+ output_name = invoker.output_name
+ outputs = [
+ "$target_gen_dir/$output_name.framework/WebRTC/{{source_file_part}}",
+ ]
+ args = [
+ "--input",
+ "{{source}}",
+ "--output",
+ rebase_path(target_gen_dir, root_build_dir) +
+ "/$output_name.framework/WebRTC/{{source_file_part}}",
+ ]
+ }
ios_framework_bundle(target_name) {
- forward_variables_from(invoker, "*", [])
-
- deps += [ ":copy_umbrella_header_$target_name" ]
+ forward_variables_from(invoker, "*", [ "public_headers" ])
+ public_headers = get_target_outputs(
+ ":create_bracket_include_headers_$this_target_name")
+ deps += [
+ ":copy_umbrella_header_$target_name",
+ ":create_bracket_include_headers_$target_name",
+ ]
}
action("umbrella_header_$target_name") {
- forward_variables_from(invoker, [ "public_headers" ])
+ public_headers = get_target_outputs(
+ ":create_bracket_include_headers_$this_target_name")
script = "//tools_webrtc/ios/generate_umbrella_header.py"
@@ -911,6 +933,7 @@
rebase_path(umbrella_header_path, root_build_dir),
"--sources",
] + public_headers
+ deps = [ ":create_bracket_include_headers_$this_target_name" ]
}
copy("copy_umbrella_header_$target_name") {
@@ -957,15 +980,34 @@
":copy_framework_headers_$this_target_name",
":copy_modulemap_$this_target_name",
":copy_umbrella_header_$this_target_name",
+ ":create_bracket_include_headers_$this_target_name",
":modulemap_$this_target_name",
":umbrella_header_$this_target_name",
]
}
+ action_foreach("create_bracket_include_headers_$this_target_name") {
+ script = "//tools_webrtc/apple/copy_framework_header.py"
+ sources = invoker.sources
+ output_name = invoker.output_name
+ outputs = [
+ "$target_gen_dir/$output_name.framework/WebRTC/{{source_file_part}}",
+ ]
+ args = [
+ "--input",
+ "{{source}}",
+ "--output",
+ rebase_path(target_gen_dir, root_build_dir) +
+ "/$output_name.framework/WebRTC/{{source_file_part}}",
+ ]
+ }
+
bundle_data("copy_framework_headers_$this_target_name") {
- forward_variables_from(invoker, [ "sources" ])
+ sources = get_target_outputs(
+ ":create_bracket_include_headers_$this_target_name")
outputs = [ "{{bundle_contents_dir}}/Headers/{{source_file_part}}" ]
+ deps = [ ":create_bracket_include_headers_$this_target_name" ]
}
action("modulemap_$this_target_name") {
@@ -986,7 +1028,8 @@
}
action("umbrella_header_$this_target_name") {
- forward_variables_from(invoker, [ "sources" ])
+ sources = get_target_outputs(
+ ":create_bracket_include_headers_$this_target_name")
script = "//tools_webrtc/ios/generate_umbrella_header.py"
@@ -996,6 +1039,7 @@
rebase_path(umbrella_header_path, root_build_dir),
"--sources",
] + sources
+ deps = [ ":create_bracket_include_headers_$this_target_name" ]
}
bundle_data("copy_umbrella_header_$this_target_name") {