2018-01-19 12:54 GMT+03:00 Vlad Khorsun via Firebird-devel
<firebird-devel@lists.sourceforge.net>:
> 19.01.2018 11:41, Adriano dos Santos Fernandes wrote:
>>
>> On 19/01/2018 07:14, Roman Simakov wrote:
> it search for ICU library using versions numbers such as 5.19 ... 5.0, 4.19
> ... 4.0 etc.
>
>   But, IIRC, current ICU versions is 51.x, 52.x, 60.x etc. I.e. they changed
> version
> numbering from N.xy to Nx.y. Is it correct ?

Also take a look into formatFilename (unicode_util.cpp:346)

static void formatFilename(PathName& filename, const char* templateName,
int majorVersion, int minorVersion)
{
  string s;
  if (majorVersion >= ICU_NEW_VERSION_MEANING)
    s.printf("%d", majorVersion);
  else
    s.printf("%d%d", majorVersion, minorVersion);

  filename.printf(templateName, s.c_str());
}

I see two ways to fix:
1) enumerate additional suffix as well
2) implement direct mapping both module and function names via config
and every Linux packages could provide its own specific format. Maybe
even implement template with variables in config. Something like this:
For Suse: libicuuc = " libicuuc.so.${Major}{$Minor}.{$Release}"
For Ubuntu: libicuuc = " libicuuc.so.${Major}{$Minor}"
Some other: libicuuc = " libicuuc.so.${Major}.{$Minor}"

For functions can do the same.

I loading code we will try Majoir in {5,4,3,6,0}, Minor in {1..20},
Release in {1..3} on like that.

-- 
Roman Simakov

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to