|
|
Created:
5 years, 1 month ago by sdefresne Modified:
5 years ago CC:
Andrew MacDonald, niklas.enbom, peah-webrtc, qiang.lu, tterriberry_mozilla.com, webrtc-reviews_webrtc.org, yujie_mao (webrtc) Base URL:
https://chromium.googlesource.com/external/webrtc.git@master Target Ref:
refs/pending/heads/master Project:
webrtc Visibility:
Public. |
DescriptionFix compilation of WebRTC on iOS for Chromium.
Export the symbol SSL_USE_OPENSSL when building webrtc on iOS
for Chromium to get in line with what is done with gyp. Fixes
the following compilation error:
../../third_party/webrtc/base/helpers.cc:140:2: error: No SSL implementation has been selected!
^
BUG=459705
Patch Set 1 #
Total comments: 1
Messages
Total messages: 17 (3 generated)
sdefresne@chromium.org changed reviewers: + kjellander@webrtc.org
Please take a look. I'm not sure this is the right fix for WebRTC, but this is required to get Chromium to build on iOS with gn when building a target that depends on WebRTC (like //components/autofill).
sdefresne@chromium.org changed reviewers: + dpranke@chromium.org
dpranke: can you review as gn expert? kjellander: can you review as webrtc OWNERS?
On 2015/11/13 17:37:20, sdefresne wrote: > dpranke: can you review as gn expert? Seems fine, but I have no idea if this is the correct thing to do or not, so I defer to kjellander. > this is required to get Chromium to build on iOS with gn > when building a target that depends on WebRTC > (like //components/autofill). I was wondering if Chromium iOS depended on WebRTC for anything or not; I guess now I know. That said, why on earth does autofill have a dependency on WebRTC?
On 2015/11/13 at 17:41:12, dpranke wrote: > On 2015/11/13 17:37:20, sdefresne wrote: > > dpranke: can you review as gn expert? > > Seems fine, but I have no idea if this is the correct thing to do > or not, so I defer to kjellander. > > > this is required to get Chromium to build on iOS with gn > > when building a target that depends on WebRTC > > (like //components/autofill). > > I was wondering if Chromium iOS depended on WebRTC > for anything or not; I guess now I know. > > That said, why on earth does autofill have a dependency > on WebRTC? //components/autofill depends on //third_party/libjingle. This in turn depends on //third_party/webrtc. This is used to get access to //third_party/webrtc/libjingle/xmllite which is the real dependency of autofill on webrtc. It may be possible to break the dependency by splitting xmllite outside of webrtc but this will probably a substantial effort that should be addressed independently.
On 2015/11/14 at 09:24:07, sdefresne wrote: > On 2015/11/13 at 17:41:12, dpranke wrote: > > On 2015/11/13 17:37:20, sdefresne wrote: > > > dpranke: can you review as gn expert? > > > > Seems fine, but I have no idea if this is the correct thing to do > > or not, so I defer to kjellander. > > > > > this is required to get Chromium to build on iOS with gn > > > when building a target that depends on WebRTC > > > (like //components/autofill). > > > > I was wondering if Chromium iOS depended on WebRTC > > for anything or not; I guess now I know. > > > > That said, why on earth does autofill have a dependency > > on WebRTC? > > //components/autofill depends on //third_party/libjingle. This in turn depends on //third_party/webrtc. This is used to get access to //third_party/webrtc/libjingle/xmllite which is the real dependency of autofill on webrtc. It may be possible to break the dependency by splitting xmllite outside of webrtc but this will probably a substantial effort that should be addressed independently. Filled https://code.google.com/p/chromium/issues/detail?id=556433 to investigate migrating to libxml2 instead of xmllite for //components/autofill.
kjellander: ping?
https://codereview.webrtc.org/1441323002/diff/1/webrtc/BUILD.gn File webrtc/BUILD.gn (right): https://codereview.webrtc.org/1441323002/diff/1/webrtc/BUILD.gn#newcode35 webrtc/BUILD.gn:35: defines += [ "SSL_USE_OPENSSL" ] I don't want our GYP and GN builds to diverge. I understand that the way all the crypto stuff differs a bit but shouldn't there be a better way of solving this? I tried to summarize what I know in https://bugs.chromium.org/p/webrtc/issues/detail?id=5213
I'm sorry, I only got to look at this a little bit late today and haven't fully grokked the situation yet. I will look at it more tomorrow.
Is the reason for this code path being compiled the same as in https://codereview.webrtc.org/1444323002/ ? Then it seems it won't need to be solved if the original dependency problem can be fixed instead (Chromium //components/autofill depends on WebRTC to use WebRTC xmllite, which is kind of silly). Normally WebRTC is not compiled as part of the Chromium iOS build.
On 2015/11/20 at 08:13:41, kjellander wrote: > Is the reason for this code path being compiled the same as in https://codereview.webrtc.org/1444323002/ ? Then it seems it won't need to be solved if the original dependency problem can be fixed instead (Chromium //components/autofill depends on WebRTC to use WebRTC xmllite, which is kind of silly). > Normally WebRTC is not compiled as part of the Chromium iOS build. Yes agreed. Let's wait till the xmllite dependency is removed.
On 2015/11/20 08:29:07, sdefresne wrote: > On 2015/11/20 at 08:13:41, kjellander wrote: > > Is the reason for this code path being compiled the same as in > https://codereview.webrtc.org/1444323002/ ? Then it seems it won't need to be > solved if the original dependency problem can be fixed instead (Chromium > //components/autofill depends on WebRTC to use WebRTC xmllite, which is kind of > silly). > > Normally WebRTC is not compiled as part of the Chromium iOS build. I'm confused by this comment; it looks like rtc_base and rtc_xmllite are being built in GYP builds. Were you referring to the other parts of WebRTC? On 2015/11/20 08:29:07, sdefresne wrote: > Yes agreed. Let's wait till the xmllite dependency is removed. Sylvain, are you okay with me commenting out the components that depend on webrtc in the meantime? Otherwise I can't get the ios builds building as part of the CQ and waterfalls.
On 2015/11/21 at 00:55:55, dpranke wrote: > On 2015/11/20 08:29:07, sdefresne wrote: > > On 2015/11/20 at 08:13:41, kjellander wrote: > > > Is the reason for this code path being compiled the same as in > > https://codereview.webrtc.org/1444323002/ ? Then it seems it won't need to be > > solved if the original dependency problem can be fixed instead (Chromium > > //components/autofill depends on WebRTC to use WebRTC xmllite, which is kind of > > silly). > > > Normally WebRTC is not compiled as part of the Chromium iOS build. > > I'm confused by this comment; it looks like rtc_base and rtc_xmllite are > being built in GYP builds. Were you referring to the other parts of WebRTC? > > On 2015/11/20 08:29:07, sdefresne wrote: > > Yes agreed. Let's wait till the xmllite dependency is removed. > > Sylvain, are you okay with me commenting out the components that > depend on webrtc in the meantime? Otherwise I can't get the ios > builds building as part of the CQ and waterfalls. My preference would be to fix WebRTC. If my two CLs lands then we can build all iOS Chromium with both gn and gyp. I'm not sure disabling //components/autofill will be enough, you'll also have to disable all of //ios/chrome too :-(
On 2015/11/21 00:58:15, sdefresne wrote: > On 2015/11/21 at 00:55:55, dpranke wrote: > > On 2015/11/20 08:29:07, sdefresne wrote: > > > On 2015/11/20 at 08:13:41, kjellander wrote: > > > > Is the reason for this code path being compiled the same as in > > > https://codereview.webrtc.org/1444323002/ ? Then it seems it won't need to > be > > > solved if the original dependency problem can be fixed instead (Chromium > > > //components/autofill depends on WebRTC to use WebRTC xmllite, which is kind > of > > > silly). > > > > Normally WebRTC is not compiled as part of the Chromium iOS build. > > > > I'm confused by this comment; it looks like rtc_base and rtc_xmllite are > > being built in GYP builds. Were you referring to the other parts of WebRTC? > > > > On 2015/11/20 08:29:07, sdefresne wrote: > > > Yes agreed. Let's wait till the xmllite dependency is removed. > > > > Sylvain, are you okay with me commenting out the components that > > depend on webrtc in the meantime? Otherwise I can't get the ios > > builds building as part of the CQ and waterfalls. > > My preference would be to fix WebRTC. What does "fix WebRTC" mean? Land your other CL? I thought you were saying that you would prefer to wait until we stopped needing xmllite, and then we wouldn't need to change WebRTC at all instead?
On 2015/11/21 01:02:22, Dirk Pranke wrote: > On 2015/11/21 00:58:15, sdefresne wrote: > > On 2015/11/21 at 00:55:55, dpranke wrote: > > > On 2015/11/20 08:29:07, sdefresne wrote: > > > > On 2015/11/20 at 08:13:41, kjellander wrote: > > > > > Is the reason for this code path being compiled the same as in > > > > https://codereview.webrtc.org/1444323002/ ? Then it seems it won't need to > > be > > > > solved if the original dependency problem can be fixed instead (Chromium > > > > //components/autofill depends on WebRTC to use WebRTC xmllite, which is > kind > > of > > > > silly). > > > > > Normally WebRTC is not compiled as part of the Chromium iOS build. > > > > > > I'm confused by this comment; it looks like rtc_base and rtc_xmllite are > > > being built in GYP builds. Were you referring to the other parts of WebRTC? > > > > > > On 2015/11/20 08:29:07, sdefresne wrote: > > > > Yes agreed. Let's wait till the xmllite dependency is removed. > > > > > > Sylvain, are you okay with me commenting out the components that > > > depend on webrtc in the meantime? Otherwise I can't get the ios > > > builds building as part of the CQ and waterfalls. > > > > My preference would be to fix WebRTC. > > What does "fix WebRTC" mean? Land your other CL? > > I thought you were saying that you would prefer to wait until we stopped > needing xmllite, and then we wouldn't need to change WebRTC at all instead? See https://codereview.webrtc.org/1471663002/ for the proper (I think) fix for this error. I'm closing this CL now as it does not lgtm.
Description was changed from ========== Fix compilation of WebRTC on iOS for Chromium. Export the symbol SSL_USE_OPENSSL when building webrtc on iOS for Chromium to get in line with what is done with gyp. Fixes the following compilation error: ../../third_party/webrtc/base/helpers.cc:140:2: error: No SSL implementation has been selected! ^ BUG=459705 ========== to ========== Fix compilation of WebRTC on iOS for Chromium. Export the symbol SSL_USE_OPENSSL when building webrtc on iOS for Chromium to get in line with what is done with gyp. Fixes the following compilation error: ../../third_party/webrtc/base/helpers.cc:140:2: error: No SSL implementation has been selected! ^ BUG=459705 ========== |