Why does qt5core depend on ICU?
-
According to the docs ICU is optional and only required for webkit. However, the Windows DLLs of qt5core and others (beside webkit) have all hard-linked dependencies to the ICU libraries.
I wonder if that is a bug or intentional?@
Imports from ICUIN51.DLL
ucol_close_51
ucol_getAttribute_51
ucol_getSortKey_51
ucol_open_51
ucol_setAttribute_51
ucol_strcoll_51
@@
Imports from ICUUC51.DLL
u_errorName_51
u_strToLower_51
u_strToUpper_51
ucnv_close_51
ucnv_compareNames_51
ucnv_countAliases_51
ucnv_countAvailable_51
ucnv_fromUnicode_51
ucnv_getAlias_51
ucnv_getAvailableName_51
ucnv_getDefaultName_51
ucnv_getMaxCharSize_51
ucnv_getStandardName_51
ucnv_open_51
ucnv_setSubstChars_51
ucnv_toUnicode_51
ures_close_51
ures_getStringByKey_51
ures_open_51
@ -
[quote author="philk" date="1375827052"]Why does qt5core depend on ICU?[/quote]
That is how it was built.
[quote]According to the docs ICU is optional and only required for webkit. [/quote]
ICU has always been required by WebKit. The remainder of Qt4 did not require ICU. For Qt5 a conscious decision was taken to migrate toward use of ICU for localisation:
http://qt-project.org/wiki/Qt-5-ICU
The pre-compiled Qt5 binaries all use ICU but you can build Qt5 without ICU using the appropriate configure option. -
[quote author="ChrisW67" date="1375828974"]The pre-compiled Qt5 binaries all use ICU but you can build Qt5 without ICU using the appropriate configure option.[/quote]
Which is: -no-icu.
-
[quote author="philk" date="1375862312"]I just wish, the ICU stuff would be split into several tiny libs and not one huge 20MB runtime, that you have to deploy. Or for the Win32 version of the libs it would just interface with the OS Unicode functions, which should be enough.[/quote]
This is possible and is being discussed on dev mailing list right now. Future Qt versions will likely handle the stuff much better. For now - AFAIK - you can customise ICU installation yourself when you compile it.
-
[quote author="sierdzio" date="1375857372"][quote author="ChrisW67" date="1375828974"]The pre-compiled Qt5 binaries all use ICU but you can build Qt5 without ICU using the appropriate configure option.[/quote]
Which is: -no-icu.[/quote]
What functionality, besides Webkit, do I loose with that configure option?
-
[quote author="sierdzio" date="1375862679"]This is possible and is being discussed on dev mailing list right now. Future Qt versions will likely handle the stuff much better. [/quote]
Good to know, its being discussed. This also hurt me back in the Eclipse Java days, where the IBM ICU stuff was also insanely big. Most apps are not that far i18n that they would need all that from one big ICU package.
-
[quote author="MuldeR" date="1375872597"][quote author="sierdzio" date="1375857372"]Which is: -no-icu.[/quote]
What functionality, besides Webkit, do I loose with that configure option?
[/quote]
AFAIK, you are back to good old Qt4 days then. So if it had worked for you in Qt4, it will continue to work in 5, even without ICU.