Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i18n-enabled builds #4

Open
bnoordhuis opened this issue Jan 29, 2020 · 5 comments
Open

i18n-enabled builds #4

bnoordhuis opened this issue Jan 29, 2020 · 5 comments
Labels
enhancement New feature or request

Comments

@bnoordhuis
Copy link
Owner

Requires bundling and building Chromium's copy of ICU; see the DEPS file in the v8/ directory. We'll just have to take the repo size and build time increase on the chin.

Stretch goal: compile/link against an external copy of ICU. No guarantees as to whether it actually a) builds, and b) runs. Upstream V8 makes no such guarantees either.

@petebannister
Copy link

petebannister commented Jun 12, 2023

Maybe worth investigating using a package manager / cmake find_package for this? e.g. vcpkg and/or conan. Users can decide whether or not to pull that in if they need it then.
I don't personally need this currently so would ideally want to avoid the cost it if possible.

@bnoordhuis
Copy link
Owner Author

Chromium/V8 is built against a Google fork of ICU so I'm not 100% sure that works (or keeps working.)

Node.js vendors a different copy of ICU so it's not completely impossible but I'm a Node.js maintainer and I can confidently say it's not always smooth sailing. Upgrades are sometimes painful.

If nothing else, linking to different versions of ICU means you get different output (because of different CLDR versions) and that's just confusing. I lean toward vendoring for that reason.

@petebannister
Copy link

I see.. perhaps this is one of limited use cases where a git submodule would work well and create a new repo for the ICU fork

@mscdex
Copy link

mscdex commented Dec 13, 2024

What is the status of this or what is required to add support exactly? Is it as simple as dropping the Chromium ICU files in somewhere and that's it and/or is there a substantial amount of cmake-related changes required ? I see there is at least some references to i18n in there currently...

@bnoordhuis
Copy link
Owner Author

Status is "untested" with a hunch it won't work out of the box. The references you see are mostly around carefully removing i18n files from the build plan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants