Skip to content

Draft: Use cargo provided icu_capi #596

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

jschwe
Copy link
Member

@jschwe jschwe commented Jul 24, 2025

Using vendored rust crates causes problems with cargo vendor and offline builds as well as cargo publish.
Using cargo metadata is currently the officially recommended solution to get the location of the c header files, but ideally we add a patch upstream to support reading the location from a DEP_ environment variable, that cargo could set for us (posted unicode-org/icu4x#6769).

For ease of reviewing the changes to the build system and removing the now unnecessary vendored code are separate commits.

Todo:

  • Can I fudge the cargo checkout path into LOCAL_INCLUDES, or do we need to inject -I globally (current solution)
  • Update bindings to 1.5? It seems the previous behavior was we were using 1.5, but with the vendored c headers for 1.4. If we don't update to 1.5, we would need to duplicate icu in servo.

jschwe added 2 commits July 24, 2025 19:35
Use the headers provided by cargo, instead of our local checkout.
This also revealed that we had been using version 1.5, when
we wanted to use 1.4, to be in sync with upstream.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
@jschwe jschwe force-pushed the jschwender/icu_capi_testing branch from 35fb8f0 to fc81aeb Compare July 24, 2025 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant