My summary of the response was:
- An optional, dynamic link dependency to ICU is fine, but a static or required dynamic link dependency on ICU would impact LLVM licensing due to ICU’s attribution requirement and is not permissible.
- Use of
iconv()
is fine if it’s available on the system but distribution of an iconv implementation would have other licensing ramifications.
Technical discussion was that a good path forward is for LLVM to provide a generic interface that can be implemented internally with any of ICU/iconv/MultiByteToWideChar/etc with selection(s) made at compile time. The interface will need to fail gracefully in the case that an implementation is not available at runtime.