DO NOT MERGE: [stdlib] Pull in some ICU stubs and relevant code#9032
DO NOT MERGE: [stdlib] Pull in some ICU stubs and relevant code#9032milseman wants to merge 8 commits intoswiftlang:masterfrom
Conversation
Things still need to be made public before they can be tested.
The tests we have are far from complete, but it does seem to work.
FCC is an unofficial normalization that is almost always identical to NFC and can be used to bypass FCD checks and NFD normalization passes in ICU. See http://unicode.org/notes/tn5/
|
@dabrahams does this look like a reasonable port? |
|
@swift-ci please smoke test |
|
@swift-ci please smoke test |
|
@swift-ci please smoke test Linux platform |
|
Trying to see what path in the config the Linux bot took. We require ICU to be linked against, but I didn't see anything there. |
|
@swift-ci please smoke test Linux platform |
7b43239 to
295fd69
Compare
|
@swift-ci please smoke test Linux platform |
|
@swift-ci please clean smoke test Linux platform |
|
@swift-ci please smoke test Linux platform |
| list(APPEND swift_core_link_flags "-all_load") | ||
| list(APPEND swift_core_framework_depends Foundation) | ||
| list(APPEND swift_core_framework_depends CoreFoundation) | ||
| list(APPEND swift_core_private_link_libraries -licucore) |
There was a problem hiding this comment.
The -l is unneeded, it should be sufficient to use icucore.
| endif() | ||
| if("${ICU_I18N}" STREQUAL "") | ||
| message(FATAL_ERROR "ICU_I18N undefined") | ||
| endif() |
There was a problem hiding this comment.
Use the precondition helper that we have. It will simplify this:
precondition(ICU_UC "ICU_UC must be defined")
precondition(ICU_I18N "ICU_I18N must be defined")
|
Thanks, I will make sure the final version uses precondition instead. For now, this is not necessarily the exact same details of how we'll want to integrate ICU, but does still illustrate the Linux issues. |
|
Working on this. |
|
@swift-ci Please smoke test linux |
|
Note that this PR should not be merged, but it exposes the issue we will hit when the real PR (which is likely to be a rebasing / squashing of #9265) lands. |
|
The real PR has pthread woe mixed in. Hopefully this PR can isolate the ICU stuff. @swift-ci please smoke test Linux Platform |
|
@swift-ci please smoke test Linux Platform |
|
Irrelevant now |
This pulls in several stubs and functionality from the unicode-rethink prototype into master. Small fixes were made along the way to keep it compiling and passing tests.