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.


  • Moderators

    [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.



  • 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.


  • Moderators

    [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.


  • Moderators

    [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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.