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
+16 -2
View File
@@ -104,8 +104,22 @@ if [ IsPackageAvailable icu_devel ] {
$(developLibDir)/libicudata.so
$(developLibDir)/libicui18n.so
$(developLibDir)/libicuio.so
$(developLibDir)/libicule.so
$(developLibDir)/libiculx.so
$(developLibDir)/libicutu.so
$(developLibDir)/libicuuc.so
headers: $(developHeadersDir)
;
EnableBuildFeatures icu ;
} else if [ IsPackageAvailable icu66_devel ] {
ExtractBuildFeatureArchives icu :
file: base icu66
runtime: lib
file: devel icu66_devel
depends: base
libraries:
$(developLibDir)/libicudata.so
$(developLibDir)/libicui18n.so
$(developLibDir)/libicuio.so
$(developLibDir)/libicutu.so
$(developLibDir)/libicuuc.so
headers: $(developHeadersDir)
@@ -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)
-2
View File
@@ -66,8 +66,6 @@ requires {
lib:libicudata
lib:libicui18n
lib:libicuio
lib:libicule
lib:libiculx
lib:libicutest
lib:libicutu
lib:libicuuc
-2
View File
@@ -66,8 +66,6 @@ requires {
lib:libicudata
lib:libicui18n
lib:libicuio
lib:libicule
lib:libiculx
lib:libicutest
lib:libicutu
lib:libicuuc
-2
View File
@@ -66,8 +66,6 @@ requires {
lib:libicudata >= 57
lib:libicui18n >= 57
lib:libicuio >= 57
lib:libicule >= 57
lib:libiculx >= 57
lib:libicutest >= 57
lib:libicutu >= 57
lib:libicuuc >= 57
-2
View File
@@ -66,8 +66,6 @@ requires {
lib:libicudata >= 57
lib:libicui18n >= 57
lib:libicuio >= 57
lib:libicule >= 57
lib:libiculx >= 57
lib:libicutest >= 57
lib:libicutu >= 57
lib:libicuuc >= 57
-2
View File
@@ -67,8 +67,6 @@ requires {
lib:libicudata >= 57
lib:libicui18n >= 57
lib:libicuio >= 57
lib:libicule >= 57
lib:libiculx >= 57
lib:libicutest >= 57
lib:libicutu >= 57
lib:libicuuc >= 57
@@ -27,8 +27,6 @@ requires {
lib:libicudata_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicui18n_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicuio_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicule_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libiculx_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicutest_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicutu_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicuuc_%HAIKU_SECONDARY_PACKAGING_ARCH%
-2
View File
@@ -67,8 +67,6 @@ requires {
lib:libicudata >= 57
lib:libicui18n >= 57
lib:libicuio >= 57
lib:libicule >= 57
lib:libiculx >= 57
lib:libicutest >= 57
lib:libicutu >= 57
lib:libicuuc >= 57
@@ -28,8 +28,6 @@ requires {
lib:libicudata_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicui18n_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicuio_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicule_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libiculx_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicutest_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicutu_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicuuc_%HAIKU_SECONDARY_PACKAGING_ARCH%
-2
View File
@@ -67,8 +67,6 @@ requires {
lib:libicudata >= 57
lib:libicui18n >= 57
lib:libicuio >= 57
lib:libicule >= 57
lib:libiculx >= 57
lib:libicutest >= 57
lib:libicutu >= 57
lib:libicuuc >= 57
@@ -27,8 +27,6 @@ requires {
lib:libicudata_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicui18n_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicuio_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicule_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libiculx_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicutest_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicutu_%HAIKU_SECONDARY_PACKAGING_ARCH%
lib:libicuuc_%HAIKU_SECONDARY_PACKAGING_ARCH%
+3
View File
@@ -22,6 +22,9 @@
#include <unicode/tblcoll.h>
U_NAMESPACE_USE
BCollator::BCollator()
:
fIgnorePunctuation(true)
+3
View File
@@ -28,6 +28,9 @@
#include <stdlib.h>
U_NAMESPACE_USE
BCountry::BCountry(const char* countryCode)
:
fICULocale(NULL)
+3
View File
@@ -27,6 +27,9 @@
#include <vector>
U_NAMESPACE_USE
static const DateFormatSymbols::DtWidthType kDateFormatStyleToWidth[] = {
DateFormatSymbols::WIDE,
DateFormatSymbols::ABBREVIATED,
+3
View File
@@ -22,6 +22,9 @@
#include <unicode/smpdtfmt.h>
U_NAMESPACE_USE
BDateTimeFormat::BDateTimeFormat(const BLocale* locale)
: BFormat(locale)
{
+3
View File
@@ -22,6 +22,9 @@
#include <TimeZonePrivate.h>
U_NAMESPACE_USE
// maps our unit element to the corresponding ICU unit
static const UCalendarDateFields skUnitMap[] = {
UCAL_YEAR,
@@ -33,6 +33,9 @@
#include <stdlib.h>
U_NAMESPACE_USE
// #pragma mark - helpers
+3
View File
@@ -26,6 +26,9 @@
#include <unicode/locid.h>
U_NAMESPACE_USE
BLanguage::BLanguage()
:
fDirection(B_LEFT_TO_RIGHT),
+1
View File
@@ -43,6 +43,7 @@
using BPrivate::CatalogAddOnInfo;
using BPrivate::MutableLocaleRoster;
U_NAMESPACE_USE
/*
+3
View File
@@ -36,6 +36,9 @@
#include <unicode/timezone.h>
U_NAMESPACE_USE
namespace BPrivate {
+3
View File
@@ -21,6 +21,9 @@
#include <unicode/numfmt.h>
U_NAMESPACE_USE
class BNumberFormatImpl {
public:
BNumberFormatImpl();
@@ -25,6 +25,9 @@
#include <TimeUnitFormat.h>
U_NAMESPACE_USE
static const URelativeDateTimeUnit kTimeUnitToRelativeDateTime[] = {
UDAT_REL_UNIT_YEAR,
UDAT_REL_UNIT_MONTH,
+3
View File
@@ -19,6 +19,9 @@
#include <unicode/msgfmt.h>
U_NAMESPACE_USE
BStringFormat::BStringFormat(const BLanguage& language, const BString pattern)
: BFormat(language, BFormattingConventions())
{
+3
View File
@@ -24,6 +24,9 @@
#include <vector>
U_NAMESPACE_USE
BTimeFormat::BTimeFormat()
: BFormat()
{
+4
View File
@@ -23,6 +23,10 @@
#include <Locale.h>
#include <LocaleRoster.h>
U_NAMESPACE_USE
// maps our unit element to the corresponding ICU unit
static const TimeUnit::UTimeUnitFields skUnitMap[] = {
TimeUnit::UTIMEUNIT_YEAR,
+3
View File
@@ -20,6 +20,9 @@
#include <Language.h>
U_NAMESPACE_USE
const char* BTimeZone::kNameOfGmtZone = "GMT";
@@ -11,6 +11,9 @@
#include <unicode/uchar.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -15,6 +15,9 @@
#include <AutoDeleter.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -27,6 +27,9 @@
#endif
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -16,6 +16,9 @@
#include <ErrnoMaintainer.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -9,6 +9,9 @@
#include <string.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -10,6 +10,9 @@
#include <string.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -12,6 +12,9 @@
#include <strings.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -12,6 +12,9 @@
#include <strings.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -13,6 +13,9 @@
#include <unicode/gregocal.h>
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {
@@ -18,6 +18,10 @@
#include "ICUMessagesData.h"
U_NAMESPACE_USE
namespace BPrivate {
namespace Libroot {