Prepare for ICU update

- libicule and libiculx do not exist anymore in newer ICU versions
  (harfbuzz replaces them), but we didn't actually use them, so remove
  them from the build feature and from the package dependencies
- Add namespace usage marcos since the newer ICU packages put ICU things
  in a namespace, making it easier to have multiple versions of ICU used
  side by side.

No functional change intended, but this makes it possible to build the
code with either ICU 57 (for gcc2) or 66 (for other architectures).
This commit is contained in:
Adrien Destugues
2020-08-02 11:58:14 +02:00
parent b3aed2adb5
commit 1bad1ff34a
46 changed files with 142 additions and 52 deletions
@@ -24,18 +24,20 @@ public:
ICUCategoryData(pthread_key_t tlsKey);
virtual ~ICUCategoryData();
virtual status_t SetTo(const Locale& locale,
virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale&
locale,
const char* posixLocaleName);
virtual status_t SetToPosix();
const char* PosixLocaleName()
{ return fPosixLocaleName; }
const Locale& ICULocale() const;
const U_NAMESPACE_QUALIFIER Locale& ICULocale() const;
protected:
status_t _ConvertUnicodeStringToLocaleconvEntry(
const UnicodeString& string,
const U_NAMESPACE_QUALIFIER UnicodeString&
string,
char* destination, int destinationSize,
const char* defaultValue = "");
@@ -45,7 +47,7 @@ protected:
static const size_t skLCBufSize = 16;
pthread_key_t fThreadLocalStorageKey;
Locale fLocale;
U_NAMESPACE_QUALIFIER Locale fLocale;
char fPosixLocaleName[skMaxPosixLocaleNameLen];
char fGivenCharset[UCNV_MAX_CONVERTER_NAME_LENGTH];
@@ -55,7 +57,7 @@ private:
inline
const Locale&
const U_NAMESPACE_QUALIFIER Locale&
ICUCategoryData::ICULocale() const
{
return fLocale;
@@ -22,8 +22,9 @@ public:
ICUCollateData(pthread_key_t tlsKey);
virtual ~ICUCollateData();
virtual status_t SetTo(const Locale& locale,
const char* posixLocaleName);
virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale&
locale,
const char* posixLocaleName);
virtual status_t SetToPosix();
status_t Strcoll(const char* a, const char* b, int& out);
@@ -36,9 +37,9 @@ public:
private:
status_t _ToUnicodeString(const char* in,
UnicodeString& out);
U_NAMESPACE_QUALIFIER UnicodeString& out);
Collator* fCollator;
U_NAMESPACE_QUALIFIER Collator* fCollator;
};
@@ -22,7 +22,8 @@ public:
void Initialize(LocaleCtypeDataBridge* dataBridge);
virtual status_t SetTo(const Locale& locale,
virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale&
locale,
const char* posixLocaleName);
virtual status_t SetToPosix();
@@ -15,7 +15,8 @@ namespace BPrivate {
namespace Libroot {
typedef DecimalFormatSymbols::ENumberFormatSymbol FormatSymbol;
typedef U_NAMESPACE_QUALIFIER DecimalFormatSymbols::ENumberFormatSymbol
FormatSymbol;
class ICULocaleconvData : public ICUCategoryData {
typedef ICUCategoryData inherited;
@@ -24,7 +25,8 @@ protected:
ICULocaleconvData(pthread_key_t tlsKey);
status_t _SetLocaleconvEntry(
const DecimalFormatSymbols* formatSymbols,
const U_NAMESPACE_QUALIFIER
DecimalFormatSymbols* formatSymbols,
char* destination, FormatSymbol symbol,
const char* defaultValue = "");
};
@@ -20,7 +20,8 @@ class ICUMessagesData : public ICUCategoryData {
public:
ICUMessagesData(pthread_key_t tlsKey);
virtual status_t SetTo(const Locale& locale,
virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale&
locale,
const char* posixLocaleName);
virtual status_t SetToPosix();
@@ -32,7 +32,8 @@ public:
void Initialize(
LocaleMonetaryDataBridge* dataBridge);
virtual status_t SetTo(const Locale& locale,
virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale&
locale,
const char* posixLocaleName);
virtual status_t SetToPosix();
@@ -43,15 +44,23 @@ private:
static const int32 kSepBySpaceFlag = 1 << 1;
int32 _DetermineCurrencyPosAndSeparator(
const UnicodeString& prefix,
const UnicodeString& suffix,
const UnicodeString& signSymbol,
const UnicodeString& currencySymbol,
const U_NAMESPACE_QUALIFIER
UnicodeString& prefix,
const U_NAMESPACE_QUALIFIER
UnicodeString& suffix,
const U_NAMESPACE_QUALIFIER
UnicodeString& signSymbol,
const U_NAMESPACE_QUALIFIER
UnicodeString& currencySymbol,
UChar& currencySeparatorChar);
int32 _DetermineSignPos(const UnicodeString& prefix,
const UnicodeString& suffix,
const UnicodeString& signSymbol,
const UnicodeString& currencySymbol);
int32 _DetermineSignPos(const U_NAMESPACE_QUALIFIER
UnicodeString& prefix,
const U_NAMESPACE_QUALIFIER
UnicodeString& suffix,
const U_NAMESPACE_QUALIFIER
UnicodeString& signSymbol,
const U_NAMESPACE_QUALIFIER
UnicodeString& currencySymbol);
char fDecimalPoint[skLCBufSize];
char fThousandsSep[skLCBufSize];
@@ -23,7 +23,8 @@ public:
void Initialize(LocaleNumericDataBridge* dataBridge);
virtual status_t SetTo(const Locale& locale,
virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale&
locale,
const char* posixLocaleName);
virtual status_t SetToPosix();
@@ -35,14 +35,15 @@ public:
status_t Mktime(struct tm* inOutTm, time_t& timeOut);
private:
status_t _FillTmValues(const TimeZone* icuTimeZone,
status_t _FillTmValues(const U_NAMESPACE_QUALIFIER
TimeZone* icuTimeZone,
const time_t* inTime, struct tm* tmOut);
const ICUTimeData& fTimeData;
TimeConversionDataBridge* fDataBridge;
TimeZone* fTimeZone;
U_NAMESPACE_QUALIFIER TimeZone* fTimeZone;
char fTimeZoneID[B_FILE_NAME_LENGTH];
};
+7 -4
View File
@@ -31,19 +31,22 @@ public:
void Initialize(LocaleTimeDataBridge* dataBridge);
virtual status_t SetTo(const Locale& locale,
virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale&
locale,
const char* posixLocaleName);
virtual status_t SetToPosix();
const char* GetLanginfo(int index);
const Locale& ICULocaleForStrings() const;
const U_NAMESPACE_QUALIFIER Locale& ICULocaleForStrings() const;
private:
status_t _SetLCTimeEntries(const UnicodeString* strings,
status_t _SetLCTimeEntries(const U_NAMESPACE_QUALIFIER
UnicodeString* strings,
char* destination, int entrySize,
int count, int maxCount);
status_t _SetLCTimePattern(DateFormat* format,
status_t _SetLCTimePattern(U_NAMESPACE_QUALIFIER
DateFormat* format,
char* destination, int destinationSize);
char fMon[12][24];
+1 -1
View File
@@ -16,7 +16,7 @@
/* Convert UnicodeString to BString needs an ICU ByteSink to do the work */
class BStringByteSink : public ByteSink {
class BStringByteSink : public U_NAMESPACE_QUALIFIER ByteSink {
public:
BStringByteSink(BString* dest)
: fDest(dest)