|
|
Chromium Code Reviews|
Created:
4 years, 8 months ago by ortuno Modified:
4 years, 8 months ago CC:
blink-reviews, blink-reviews-api_chromium.org, chromium-reviews, dglazkov+blink Base URL:
https://chromium.googlesource.com/chromium/src.git@fuzzer-patch Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionMake blink_headers generate mojo bindings
We need to generate mojo bindings for targets that depend on
blink_headers e.g. Web Crypto Fuzzers.
BUG=600384
Committed: https://crrev.com/06bad69ca9182b8db51dfc121928a1dd11bd4799
Cr-Commit-Position: refs/heads/master@{#387475}
Patch Set 1 #Patch Set 2 : GYP #Patch Set 3 : Fix gyp #Patch Set 4 : Try with dependent target #Patch Set 5 : Another try #Patch Set 6 : Fix gyp. Damn gyp #Patch Set 7 : Try with non-static library #Patch Set 8 : Go back to using static library #Patch Set 9 : Try another approach #Patch Set 10 : Try yet another approach #Patch Set 11 : Try with TWO intermediate targets #Patch Set 12 : Another approach #Messages
Total messages: 30 (11 generated)
Description was changed from ========== Make blink_headers depend on mojo_bindings We need to generate mojo bindings for targets that depend on blink_headers. BUG=599959 ========== to ========== Make blink_headers depend on mojo_bindings We need to generate mojo bindings for targets that depend on blink_headers e.g. Web Crypto Fuzzers. BUG=599959 ==========
rockot@chromium.org changed reviewers: + rockot@chromium.org
lgtm but you should get dpranke or thakis to look per OWNERS. this *may* cause duplicate definition errors, depending on how blink_headers is used. we might need an intermediate target so blink_headers can depend on mojom.h generation without depending on the generated source_set/static_library.
On 2016/04/01 at 21:32:08, Ken Rockot (OOO Mar30 - Apr05) wrote: > lgtm but you should get dpranke or thakis to look per OWNERS. > > this *may* cause duplicate definition errors, depending on how blink_headers is used. we might need an intermediate target so blink_headers can depend on mojom.h generation without depending on the generated source_set/static_library. also, extra : in gyp :)
The CQ bit was checked by ortuno@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1851813003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1851813003/80001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ni...)
Gyp errors are fun. Perhaps your problem is "depenencies" :)
On 2016/04/02 at 20:53:40, rockot wrote: > Gyp errors are fun. Perhaps your problem is "depenencies" :) Gaahh. Fix the typo but now we are back at "undefined reference" errors :(
Hmm I think this gets closer to the solution: https://code.google.com/p/chromium/codesearch#chromium/src/chrome/chrome_web_... but I think it will break if someone included a blink variant.
On 2016/04/04 at 16:56:54, ortuno wrote: > Hmm I think this gets closer to the solution: https://code.google.com/p/chromium/codesearch#chromium/src/chrome/chrome_web_... but I think it will break if someone included a blink variant. Not sure we should do this, as it means duplicating a mojom sources list. Also, it should be functionally equivalent to having the 'none' target depend only on blink.gyp:mojo_bindings. This might sound horrible, but could you please try using a *second* intermediate target? So something like { 'target_name': 'generate_mojo_bindings_indirect', 'type': 'none', 'dependencies': [ 'blink.gyp:mojo_bindings', ], 'hard_dependency': 1, }, { 'target_name': 'generate_mojo_bindings', 'type': 'none', 'dependencies': [ 'generate_mojo_bindings_indirect', ], 'hard_dependency': 1, }, And have 'blink_headers' depend on 'generate_mojo_bindings'. I think the linker errors are due to the way 'export_dependent_settings' works. Anything which depends on blink_headers is still getting a link-time dependency on mojo libraries which they shouldn't have. Adding another target for indirection should wipe out any exported settings by the time the dependency reaches blink_headers. Should. Maybe. I hope.
On 2016/04/04 at 19:03:57, rockot wrote: > On 2016/04/04 at 16:56:54, ortuno wrote: > > Hmm I think this gets closer to the solution: https://code.google.com/p/chromium/codesearch#chromium/src/chrome/chrome_web_... but I think it will break if someone included a blink variant. > > Not sure we should do this, as it means duplicating a mojom sources list. We can make it a gypi. The sources are already in a variable and used in two places. > Also, it should be functionally equivalent to having the 'none' target depend only on blink.gyp:mojo_bindings. > Yeah that's what I thought. But for some reason it works if I do it that way; see Patch 9. > This might sound horrible, but could you please try using a *second* intermediate target? So something like > > { > 'target_name': 'generate_mojo_bindings_indirect', > 'type': 'none', > 'dependencies': [ > 'blink.gyp:mojo_bindings', > ], > 'hard_dependency': 1, > }, > { > 'target_name': 'generate_mojo_bindings', > 'type': 'none', > 'dependencies': [ > 'generate_mojo_bindings_indirect', > ], > 'hard_dependency': 1, > }, > > And have 'blink_headers' depend on 'generate_mojo_bindings'. > > I think the linker errors are due to the way 'export_dependent_settings' works. Anything which depends on blink_headers is still getting a link-time dependency on mojo libraries which they shouldn't have. > > Adding another target for indirection should wipe out any exported settings by the time the dependency reaches blink_headers. Should. Maybe. I hope. Still the same problem :(
OK PS9 looks good if we use a gypi
Description was changed from ========== Make blink_headers depend on mojo_bindings We need to generate mojo bindings for targets that depend on blink_headers e.g. Web Crypto Fuzzers. BUG=599959 ========== to ========== Make blink_headers depend on mojo_bindings We need to generate mojo bindings for targets that depend on blink_headers e.g. Web Crypto Fuzzers. BUG=600384 ==========
The CQ bit was checked by ortuno@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1851813003/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1851813003/220001
rockot: All bots seem happy. PTAL
lgtm
ortuno@chromium.org changed reviewers: + esprehn@chromium.org
esprehn: PTAL
Description was changed from ========== Make blink_headers depend on mojo_bindings We need to generate mojo bindings for targets that depend on blink_headers e.g. Web Crypto Fuzzers. BUG=600384 ========== to ========== Make blink_headers generate mojo bindings We need to generate mojo bindings for targets that depend on blink_headers e.g. Web Crypto Fuzzers. BUG=600384 ==========
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by ortuno@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1851813003/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1851813003/220001
Message was sent while issue was closed.
Committed patchset #12 (id:220001)
Message was sent while issue was closed.
Description was changed from ========== Make blink_headers generate mojo bindings We need to generate mojo bindings for targets that depend on blink_headers e.g. Web Crypto Fuzzers. BUG=600384 ========== to ========== Make blink_headers generate mojo bindings We need to generate mojo bindings for targets that depend on blink_headers e.g. Web Crypto Fuzzers. BUG=600384 Committed: https://crrev.com/06bad69ca9182b8db51dfc121928a1dd11bd4799 Cr-Commit-Position: refs/heads/master@{#387475} ==========
Message was sent while issue was closed.
Patchset 12 (id:??) landed as https://crrev.com/06bad69ca9182b8db51dfc121928a1dd11bd4799 Cr-Commit-Position: refs/heads/master@{#387475} |
