[Webkit-unassigned] [Bug 220081] [CMake] Use Apple's ICU as fallback

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 6 20:31:03 PST 2021


https://bugs.webkit.org/show_bug.cgi?id=220081

--- Comment #18 from Yusuke Suzuki <ysuzuki at apple.com> ---
(In reply to monson from comment #17)
> (In reply to Yusuke Suzuki from comment #16)
> > (In reply to Yusuke Suzuki from comment #15)
> > > Comment on attachment 417083 [details]
> > > Patch
> > > 
> > > Can you ensure USE_APPLE_ICU is on-by-default in Apple Mac ports?
> > 
> > I think we should pass an option, and find an installed ICU only when an
> > option is provided. It is possible that random ICU is installed in the
> > system (due to homebrew etc.) and I think JSCOnly and Mac ports should not
> > select these ICU by default.
> 
> No, this patch could also make Mac port able to built with non-Apple ICU. In
> OptionsMac.cmake (below), it will find LibXml2 and LibXslt in normal paths
> (a homebrew one maybe), and ICU seemingly should not be an exception.
> 
> If a user (not apple official) want to build their own Mac port with own
> ICU, I didn't find restriction to stick to Apple ICU. Besides, this patch
> would print out which ICU to be used, I think it will reduce misusing an
> unexpected lib.
> 
> Alex and Yusuke, former attachment 416707 [details] is the option-used
> implement, is it preferred in your opinions?
> 
> 
> ```
> find_package(ICU 60.2 REQUIRED COMPONENTS data i18n uc)
> find_package(LibXml2 2.8.0 REQUIRED)
> find_package(LibXslt 1.1.7 REQUIRED)
> ```

Yes, I think we should use AppleICU on Mac and JSCOnly ports in a default configuration.

Using user-specified ICU is awesome. I really love this feature, and this is really exciting to me as a person who implemented most of Intl features in JavaScriptCore lately.
This dramatically makes my work easy.

But JSCOnly ports are actively used in the other places. And ICU can be installed unintentionally due to homebrew's dependency or something else.
At that time, we do not want to pick that ICU implicitly, which makes build configuration complicated.
And this makes getting uniform build product of JSCOnly ports in a given macOS environment difficult.

ICU is really complicated library which includes bunch of changes in every release (CLDR changes etc.).
So when building, what ICU is used is very important.

So, passing explicit option (not using AppleICU) is better in JSCOnly and Mac ports. This way offers the way to enable user-installed ICU feature, while it keeps current JSCOnly / Mac w/ AppleICU built without considering what libraries are installed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210107/2f146b5a/attachment.htm>


More information about the webkit-unassigned mailing list