microsoft / WinObjC

Objective-C for Windows
MIT License
6.24k stars 808 forks source link

Conditionally remove ICU from build #2643

Open bbowman opened 7 years ago

bbowman commented 7 years ago

ICU is now present in the Creators Update in C:\Windows\System32. WinObjC should ship two versions of the binaries that depend on ICU or shim them to allow for transparent replacement with the system version. Consumers should then only get ICU in the app if they ship with a MinTargetPlatform lower than the Creators Update.

This will also change the ICU init path as we right now feed ICU a huge static data blob (from icudat.dll) and the system version uses different data sources.

Additional testing will likely need to be adjusted / verified as the change in binary and data source may lead to ever so slightly different results as we've seen before.

bbowman commented 7 years ago

@rajsesh-msft

rajsesh commented 7 years ago

This would require the creator update from 1703. We can do this at some point in the future when we don't have to maintain two different paths for down-level vs 1703+.