I just began implementing Skia into my macOS app. I wanted SkParagraph to be built, so my relative arguments into gn were... skia_use_system_icu=false, skia_use_harfbuzz=true, skia_use_icu=true.
Now my app makes also use of ICU functions, here's just a quick excerpt...
UDateFormat* df = udat_open(UDAT_SHORT, UDAT_SHORT, NULL, NULL, 0, NULL, 0, &status);
jassert(status==U_ZERO_ERROR);
int32_t parsepos=0;
UDate myDate = udat_parse(df, icuDateTime.getString(), icuDateTime.getLength(), &parsepos, &status);
if (status==U_ZERO_ERROR)
When that happens the linker complains about missing ICU symbols. nm the skia static libs shows the symbols as being Undefined.. Scouring third_party/icu/icu.gni b/third_party/icu/icu.gni I saw a bunch of missing .cpp files. I don't know if there's a reason for them to be missing, but adding them fixed my linker issues...
Here's just a few...
+ "$_src/i18n/double-conversion-double-to-string.cpp",
+ "$_src/i18n/double-conversion-double-to-string.h",
+ "$_src/i18n/formatted_string_builder.cpp",
+ "$_src/i18n/formattedval_iterimpl.cpp",
+ "$_src/i18n/formattedval_sbimpl.cpp",
+ "$_src/i18n/formatted_string_builder.h",
+ "$_src/i18n/formattedvalue.cpp",
Is this something that's just an oversight? Would someone want a diff to add the missing files, or are they omitted for a reason?
Cheers
Justin