[Tarantool-patches] [PATCH] Add missed icu symbols

Alexandr Barulev huston.mavr at gmail.com
Wed Sep 23 01:20:53 MSK 2020


Hello, thank you for the review!

I took into account the comments and soon i will send new version
of the patch.

About additional macroses like EXPORT_ICU and others, as Timur
mentioned, seems there is no need to create them, because as I
noted in commentary at src/exports_icu.h - unicode/urename.h
file do this work (maps exported symbols to symbols with version
suffix, if library is build with option --enable-renaming). Also we
can't rely on U_ICU_ENTRY_POINT_RENAME macros, because old versions
of libicu don't contain this macros and unicode/urename.h has a
simple symbols mapping:
#define symbol symbol_suffix
So, I think, include <unicode/urename.h> is enough.

Regards,
Alexandr

вт, 22 сент. 2020 г. в 00:05, Timur Safin <tsafin at tarantool.org>:

> : From: Vladislav Shpilevoy <v.shpilevoy at tarantool.org>
> : Subject: Re: [PATCH] Add missed icu symbols
> :
> ...
> : > +EXPORT(u_strlen)
> : > +EXPORT(u_uastrcpy)
> : > +EXPORT(u_austrcpy)
> : > +EXPORT(u_errorName)
> : > +EXPORT(u_getVersion)
> : > +EXPORT(udat_open)
> : > +EXPORT(udat_setLenient)
> : > +EXPORT(udat_close)
> : > +EXPORT(udat_parseCalendar)
> : > +#if U_ICU_VERSION_MAJOR_NUM >= 55
> : > +    EXPORT(udat_formatCalendar)
> : > +#endif
> : > +EXPORT(ucal_open)
> : > +EXPORT(ucal_close)
> : > +EXPORT(ucal_get)
> : > +EXPORT(ucal_set)
> : > +EXPORT(ucal_add)
> : > +EXPORT(ucal_clear)
> : > +EXPORT(ucal_clearField)
> : > +EXPORT(ucal_getMillis)
> : > +EXPORT(ucal_setMillis)
> : > +EXPORT(ucal_getAttribute)
> : > +EXPORT(ucal_setAttribute)
> : > +#if U_ICU_VERSION_MAJOR_NUM >= 51
> : > +    EXPORT(ucal_getTimeZoneID)
> : > +#endif
> : > +EXPORT(ucal_setTimeZone)
> : > +EXPORT(ucal_getNow)
> :
> : 3. Lets better store everything in exports.h. You can add a new
> : section in this file separated by a comment, that these symbols are
> : from ICU, to not scatter them among other exports. Also please sort
> : the exports in the alphabetical order, as it is asked in exports.h
> : comment.
>
> Agreed with Vlad here - keeping all inside of single exports.h would make
> this code much, much easier to maintain. I'd recommend you to return back
> to the original idea with using special EXPORT_ICU(name) macros which
> would
> expand to EXPORT(U_ICU_ENTRY_POINT_RENAME(name)) _iff_ not
> U_DISABLE_RENAMING
> and to EXPORT(name) otherwise.
>
> And for +#if U_ICU_VERSION_MAJOR_NUM >= 51 I'd suggest (but not insist) to
> create yet another wrapper EXPORT_ICU_51UP(name). This would make it looks
> very consistent with others. Though with 1 usage case it might be overkill.
>
> Regards,
> Timur
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20200923/46fb5177/attachment.html>


More information about the Tarantool-patches mailing list