From 599561386bfd325fb5dcedeffa7a31bd564610ae Mon Sep 17 00:00:00 2001 From: "Steven R. Loomis" Date: Fri, 24 Sep 2010 00:45:01 +0000 Subject: [PATCH] ICU-7583 builds OK on mac. Ready to try clean build. X-SVN-Rev: 28692 --- tools/multi/proj/provider/Makefile | 55 ++++-- tools/multi/proj/provider/coldiff.cpp | 17 +- tools/multi/proj/provider/export.txt | 2 + tools/multi/proj/provider/glue/coll_fe.cpp | 216 ++++++++------------- tools/multi/proj/provider/glue/export.txt | 2 + tools/multi/proj/provider/test/Makefile | 15 -- tools/multi/proj/provider/test/coldiff.cpp | 111 ----------- 7 files changed, 135 insertions(+), 283 deletions(-) create mode 100644 tools/multi/proj/provider/export.txt create mode 100644 tools/multi/proj/provider/glue/export.txt delete mode 100644 tools/multi/proj/provider/test/Makefile delete mode 100644 tools/multi/proj/provider/test/coldiff.cpp diff --git a/tools/multi/proj/provider/Makefile b/tools/multi/proj/provider/Makefile index 44f200de88..fc0ffa26b2 100644 --- a/tools/multi/proj/provider/Makefile +++ b/tools/multi/proj/provider/Makefile @@ -120,31 +120,59 @@ $(GLOUT)/%/$(OK): $(GLOUT)/%/obj-$(OK) PROVIDER=provider LIBPROVIDER=lib$(PROVIDER).a -libs: $(ICU_TARBALLS_VERS:%=$(OUT)/%/lib/$(LIBPROVIDER)) -PLUGVERS=4_4_1 +#libs: $(ICU_TARBALLS_VERS:%=$(OUT)/%/lib/$(LIBPROVIDER)) + +PLUGLIB=4_4_1 +PLUGLIB_MAJ=44 +PLUGLIB_ICU_CONFIG=$(C_INS)/r$(PLUGLIB)/bin/icu-config +PLUGLIB_SO=$(shell $(PLUGLIB_ICU_CONFIG) --so) +PLUGLIB_NAME=libicuprov.$(PLUGLIB_MAJ).$(PLUGLIB_SO) +#PLUGLIB_MAJ=$(echo $(PLUGLIB) | cut -d_ -f-1 | tr -d _ ) #GLOUT_ICU=$(ICU_TARBALLS_VERS:%=$(GLOUT)/%/$(OK)) +PLUGLIB_TARGETS=3_8_1 4_2_0_1 +PLUGLIB_TARGET_DATA=$(PLUGLIB_TARGETS:%=$(BUILD)/%/data/out/tmp/*.o) +PLUGLIB_TARGET_STATICS=$(PLUGLIB_TARGETS:%=$(BUILD)/%/[ci]*/*.ao) +PLUGLIB_OUTLIBS=$(PLUGLIB:%=$(OUT)/%/lib/$(PLUGLIB_NAME)) -aplug: - echo $(OUT)/$(PLUGVERS)/lib/plug.dylib: -plugs: $(PLUGVERS:%=$(OUT)/%/lib/plug.dylib) + +plugs: $(PLUGLIB_OUTLIBS) $(OUT)/$(PLUGLIB_MAJ:%=icuplugins%.txt) + +install-plugs: $(C_INS)/r$(PLUGLIB)/lib/$(PLUGLIB_NAME) $(C_INS)/r$(PLUGLIB)/lib/icu/icuplugins$(PLUGLIB_MAJ).txt + echo "Plugins installed for testing." + +#TODO: should be 'install' not 'cp' +$(C_INS)/r$(PLUGLIB)/lib/$(PLUGLIB_NAME) $(C_INS)/r$(PLUGLIB)/lib/icu/icuplugins$(PLUGLIB_MAJ).txt: $(PLUGLIB_OUTLIBS) + cp $(PLUGLIB_OUTLIBS) $(C_INS)/r$(PLUGLIB)/lib + echo "$(PLUGLIB_NAME) coll_provider_plugin" > $(C_INS)/r$(PLUGLIB)/lib/icu/icuplugins$(PLUGLIB_MAJ).txt + +$(OUT)/icuplugins$(PLUGLIB_MAJ).txt: $(PLUGLIB_OUTLIBS) + echo "$^ coll_provider_plugin" > $@ TESTPROG=coldiff -testprog: $(PLUGVERS:%=$(OUT)/%/bin/$(TESTPROG)) +testprog: $(PLUGLIB:%=$(OUT)/%/bin/$(TESTPROG)) -test-check: testprog - ICU_PLUGINS=. DYLD_LIBRARY_PATH=$(C_INS)/r4_4_1/lib out/4_4_1/bin/coldiff +check: testprog $(OUT)/icuplugins$(PLUGLIB_MAJ).txt + ICU_PLUGINS=$(OUT) DYLD_LIBRARY_PATH=$(C_INS)/r$(PLUGLIB)/lib $(C_INS)/r$(PLUGLIB)/bin/icuinfo || ( echo "ICU broken." ; /bin/false ) + ICU_PLUGINS=$(OUT) DYLD_LIBRARY_PATH=$(C_INS)/r$(PLUGLIB)/lib $(C_INS)/r$(PLUGLIB)/bin/icuinfo -L || ( echo "Plugin broken." ; /bin/false ) + ICU_PLUGINS=$(OUT) DYLD_LIBRARY_PATH=$(C_INS)/r$(PLUGLIB)/lib out/$(PLUGLIB)/bin/coldiff || ( echo "coldiff failed." ; /bin/false ) + +install-check: install-plugs + DYLD_LIBRARY_PATH=$(C_INS)/r$(PLUGLIB)/lib $(C_INS)/r$(PLUGLIB)/bin/icuinfo -L || ( echo "Plugin broken." ; /bin/false ) + DYLD_LIBRARY_PATH=$(C_INS)/r$(PLUGLIB)/lib out/$(PLUGLIB)/bin/coldiff || ( echo "coldiff failed." ; /bin/false ) # $(shell $(BUILD)/$*/config/$(ICU_CONFIG) $(ICU_CONFIG_CXX)) $(OUT)/%/bin/$(TESTPROG): $(TESTPROG).cpp - -mkdir $(OUT)/$*/bin - g++ -I$(C_INS)/r$*/include -o $@ $^ -L$(C_INS)/r$*/lib -licuuc -licui18n -licudata + -mkdir -p $(OUT)/$*/bin + $(shell $(PLUGLIB_ICU_CONFIG) --cxx --cxxflags --cppflags --ldflags) -o $@ $^ #$(GLOUT)/$%/obj-$(OK) -$(OUT)/%/lib/plug.dylib: - g++ -dynamiclib -exported_symbols_list export.txt -dynamic -o $@ $(GLOUT)/$*/*.o $(BUILD)/3_8_1/[ci]*/*.ao $(BUILD)/3_8_1/data/out/tmp/*.o $(BUILD)/4_2_0_1/[ci]*/*.ao $(BUILD)/4_2_0_1/data/out/tmp/*.o -L$(C_INS)/r$*/lib -licuuc -licui18n -licudata +$(OUT)/%/lib/$(PLUGLIB_NAME): + -mkdir -p $(OUT)/$*/lib + $(shell $(PLUGLIB_ICU_CONFIG) --cxx --cxxflags --cppflags --ldflags) -dynamiclib -exported_symbols_list glue/export.txt -dynamic -o $@ $(GLOUT)/$*/*.o $(PLUGLIB_TARGET_DATA) $(PLUGLIB_TARGET_STATICS) + cp $@ $(C_INS)/r$*/lib/ $(OUT)/%/lib/$(LIBPROVIDER): $(GLOUT)/%/obj-$(OK) -mkdir -p $(OUT)/$*/lib @@ -197,7 +225,8 @@ $(BUILD)/%/config.status: $(SRC)/%/ok @echo "Configging" $* -[ -d $(BUILD)/$* ] && rm -rf $(BUILD)/$* mkdir -p $(BUILD)/$* - ( cd $(BUILD)/$* && $(shell $(SUPERCONF) $(TOP)/$(SRC)/$*/$(SOURCE) $*) $(CONFIGURE_OPTS) --srcdir=$(TOP)/$(SRC)/$*/$(SOURCE) --prefix=$(TOP)/$(INST)/$* ) + ( cd $(BUILD)/$* && $(shell $(SUPERCONF) $(TOP)/$(SRC)/$*/$(SOURCE) $*) $(CONFIGURE_OPTS) -- +srcdir=$(TOP)/$(SRC)/$*/$(SOURCE) --prefix=$(TOP)/$(INST)/$* ) # build $(BUILD)/%/ok: $(BUILD)/%/config.status diff --git a/tools/multi/proj/provider/coldiff.cpp b/tools/multi/proj/provider/coldiff.cpp index ee4033f019..7db2de4751 100644 --- a/tools/multi/proj/provider/coldiff.cpp +++ b/tools/multi/proj/provider/coldiff.cpp @@ -35,8 +35,9 @@ void setup(UErrorCode &status) { fprintf(stderr, "# Collators now available: %d,\t%s\n", count, u_errorName(status)); } -int main(int argc, const char *argv[]) { +int main(int /* argc*/ , const char * /*argv*/ []) { UErrorCode status = U_ZERO_ERROR; + int diffs = 0; setup(status); if(U_FAILURE(status)) return 1; for(int l=0;l0&&i #include @@ -61,43 +62,44 @@ static UCollationStrength _getUCollationStrength( */ #define GLUE_VER(x) class GLUE_SYM_V( Collator, x ) : public Collator { \ \ - public: static Collator *create(const Locale &loc, const char *ver); \ - private: UCollator *_this; GLUE_SYM_V( Collator, x ) ( UCollator* tn ) : _this(tn){} \ - virtual ~ GLUE_SYM_V ( Collator, x) (); \ - public: \ - virtual void* getDynamicClassID() const; \ - static void* getStaticClassID() ; \ - virtual Collator* clone() const; \ - virtual UCollationResult compare(const UnicodeString&, const UnicodeString&, UErrorCode&) const; \ - virtual UCollationResult compare(const UnicodeString&, const UnicodeString&, int32_t, UErrorCode&) const; \ - virtual UCollationResult compare(const UChar*, int32_t, const UChar*, int32_t, UErrorCode&) const; \ - virtual CollationKey& getCollationKey(const UnicodeString&, CollationKey&, UErrorCode&) const; \ - virtual CollationKey& getCollationKey(const UChar*, int32_t, CollationKey&, UErrorCode&) const; \ - virtual int32_t hashCode() const; \ - virtual const Locale getLocale(ULocDataLocaleType, UErrorCode&) const; \ - virtual ECollationStrength getStrength() const; \ - virtual void setStrength(ECollationStrength); \ - virtual void getVersion(uint8_t*) const; \ - virtual void setAttribute(UColAttribute, UColAttributeValue, UErrorCode&); \ - virtual UColAttributeValue getAttribute(UColAttribute, UErrorCode&); \ - virtual uint32_t setVariableTop(const UChar*, int32_t, UErrorCode&); \ - virtual uint32_t setVariableTop(UnicodeString, UErrorCode&); \ - virtual void setVariableTop(uint32_t, UErrorCode&); \ - virtual uint32_t getVariableTop(UErrorCode&) const; \ - virtual Collator* safeClone(); \ - virtual int32_t getSortKey(const UnicodeString&, uint8_t*, int32_t) const; \ - virtual int32_t getSortKey(const UChar*, int32_t, uint8_t*, int32_t) const; \ - public: static int32_t countAvailable(); \ + public: static Collator *create(const Locale &loc, const char *ver); \ + private: UCollator *_this; GLUE_SYM_V( Collator, x ) ( UCollator* tn ) : _this(tn){} \ + virtual ~ GLUE_SYM_V ( Collator, x) (); \ + public: \ + virtual void* getDynamicClassID() const; \ + static void* getStaticClassID() ; \ + virtual Collator* clone() const; \ + virtual UCollationResult compare(const UnicodeString&, const UnicodeString&, UErrorCode&) const; \ + virtual UCollationResult compare(const UnicodeString&, const UnicodeString&, int32_t, UErrorCode&) const; \ + virtual UCollationResult compare(const UChar*, int32_t, const UChar*, int32_t, UErrorCode&) const; \ + virtual CollationKey& getCollationKey(const UnicodeString&, CollationKey&, UErrorCode&) const; \ + virtual CollationKey& getCollationKey(const UChar*, int32_t, CollationKey&, UErrorCode&) const; \ + virtual int32_t hashCode() const; \ + virtual const Locale getLocale(ULocDataLocaleType, UErrorCode&) const; \ + virtual ECollationStrength getStrength() const; \ + virtual void setStrength(ECollationStrength); \ + virtual void getVersion(uint8_t*) const; \ + virtual void setAttribute(UColAttribute, UColAttributeValue, UErrorCode&); \ + virtual UColAttributeValue getAttribute(UColAttribute, UErrorCode&); \ + virtual uint32_t setVariableTop(const UChar*, int32_t, UErrorCode&); \ + virtual uint32_t setVariableTop(UnicodeString, UErrorCode&); \ + virtual void setVariableTop(uint32_t, UErrorCode&); \ + virtual uint32_t getVariableTop(UErrorCode&) const; \ + virtual Collator* safeClone(); \ + virtual int32_t getSortKey(const UnicodeString&, uint8_t*, int32_t) const; \ + virtual int32_t getSortKey(const UChar*, int32_t, uint8_t*, int32_t) const; \ + public: static int32_t countAvailable(); \ public: static int32_t appendAvailable(UnicodeString* strs, int32_t i, int32_t count); \ -}; + }; +/** ==================================== The following code runs inside the 'target' version (i.e. old ICU) ========== **/ #if defined ( ICUGLUE_VER ) /* code for some version */ #include /** - uclean.h + uclean.h */ U_STABLE void U_EXPORT2 OICU_u_init(UErrorCode *status); @@ -195,18 +197,19 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION( GLUE_SYM( Collator ) ) Collator* GLUE_SYM ( Collator ) :: clone() const { UErrorCode status = U_ZERO_ERROR; +#if COLL_FE_DEBUG fprintf(stderr, "VCF " ICUGLUE_VER_STR " clone %p -> " , this); +#endif UCollator *clc = OICU_ucol_safeClone( _this, NULL, 0, &status); +#if COLL_FE_DEBUG fprintf(stderr, "VCF " ICUGLUE_VER_STR " .. safeclone %s _this %p-> %p " , u_errorName(status), _this, clc); +#endif if(U_FAILURE(status)||clc==NULL) return NULL; Collator *c = new GLUE_SYM( Collator ) ( clc ); +#if COLL_FE_DEBUG fprintf(stderr, "VCF " ICUGLUE_VER_STR " .. wrap(%p) -> %p\n", clc, c); -// c->setLocales(getLocale(ULOC_REQUESTED_LOCALE,status),getLocale(ULOC_VALID_LOCALE,status),getLocale(ULOC_ACTUAL_LOCALE,status)); +#endif -// if(U_FAILURE(status)) { -// delete c; -// c = NULL; -// } return c; } @@ -230,13 +233,15 @@ UCollationResult GLUE_SYM ( Collator ) :: compare(const UChar* s, int32_t sl, co static CollationKey kk; CollationKey& GLUE_SYM ( Collator ) :: getCollationKey(const UnicodeString&, CollationKey&, UErrorCode&) const { - fprintf(stderr, "VCF " ICUGLUE_VER_STR " GCK"); + //#if COLL_FE_DEBUG + fprintf(stderr, "VCF " ICUGLUE_VER_STR " GCK - notimp"); + //#endif return kk; } CollationKey& GLUE_SYM ( Collator ) :: getCollationKey(const UChar*, int32_t, CollationKey&, UErrorCode&) const { - fprintf(stderr, "VCF " ICUGLUE_VER_STR " GKK2"); + fprintf(stderr, "VCF " ICUGLUE_VER_STR " GKK2 - notimp"); return kk; } @@ -300,7 +305,9 @@ Collator* GLUE_SYM ( Collator ) :: safeClone() { int32_t GLUE_SYM ( Collator ) :: getSortKey(const UnicodeString& s, uint8_t*buf, int32_t len) const { -// fprintf(stderr, "VCF " ICUGLUE_VER_STR " GSK"); +#if COLL_FE_DEBUG + fprintf(stderr, "VCF " ICUGLUE_VER_STR " GSK"); +#endif return getSortKey(s.getBuffer(),s.length(), buf, len); } @@ -308,7 +315,9 @@ int32_t GLUE_SYM ( Collator ) :: getSortKey(const UnicodeString& s, uint8_t*buf, int32_t GLUE_SYM ( Collator ) :: getSortKey(const UChar*s, int32_t l, uint8_t*d, int32_t b) const { +#if COLL_FE_DEBUG fprintf(stderr, "VCF " ICUGLUE_VER_STR " GKS"); +#endif return OICU_ucol_getSortKey(_this, s,l,d,b); } @@ -326,9 +335,8 @@ int32_t GLUE_SYM ( Collator ) :: getSortKey(const UChar*s, int32_t l, uint8_t*d, fprintf(stderr, "VCF " ICUGLUE_VER_STR " avail %d - init %s\n", avail, u_errorName(status)); #endif for(int j=0;j %p\n", loc.getName(), c); return c; } +#define GLUE_VER(x) /*printf("%c/%c|%c/%c\n", icuver[0],(#x)[0],icuver[1],(#x)[2]);*/ if(icuver[0]== (#x)[0] && icuver[1]==(#x)[2]) { Collator *c = glue ## Collator ## x :: create(loc, icuver); /*fprintf(stderr, "VCF::CC %s -> %p\n", loc.getName(), c);*/ return c; } #include "icuglue/glver.h" -#if 1 +#if COLL_FE_DEBUG fprintf(stderr, "VCF:CC %s failed\n", loc.getName()); #endif @@ -405,7 +414,7 @@ static int32_t gLocCount = 0; const UnicodeString *VersionCollatorFactory::getSupportedIDs(int32_t &count, UErrorCode &status) { - if(gLocales==NULL) { + if(gLocales==NULL) { count = 0; @@ -416,14 +425,11 @@ const UnicodeString #define GLUE_VER(x) count += glue ## Collator ## x :: countAvailable(); #include "icuglue/glver.h" -printf("VCF: count=%d\n", count); -UnicodeString *strs = new UnicodeString[count]; -int32_t i = 0; - -// #if (U_ICU_VERSION_MAJOR_NUM==4) && (U_ICU_VERSION_MINOR_NUM==4) -// glueCollator38::appendAvailable(strs,i,count); -// glueCollator42::appendAvailable(strs,i,count); -// #endif +#if COLL_FE_DEBUG + printf("VCF: count=%d\n", count); +#endif + UnicodeString *strs = new UnicodeString[count]; + int32_t i = 0; #if defined(GLUE_VER) #undef GLUE_VER @@ -431,34 +437,35 @@ int32_t i = 0; #define GLUE_VER(x) i += glue ## Collator ## x :: appendAvailable(strs, i, count); #include "icuglue/glver.h" -printf("VCF: appended count=%d\n", count); +#if COLL_FE_DEBUG + printf("VCF: appended count=%d\n", count); +#endif gLocCount = count; gLocales = strs; -} -count = gLocCount; -return gLocales; + } + count = gLocCount; + return gLocales; } -/* test main */ -#if 1 +/* Plugin Code */ + #include - #include static URegistryKey rk = NULL; void coll_provider_register(UErrorCode &status) { - rk = Collator::registerFactory(new VersionCollatorFactory(), status); + rk = Collator::registerFactory(new VersionCollatorFactory(), status); } void coll_provider_unregister(UErrorCode &status) { Collator::unregister(rk, status); } +/* Plugin- only ICU 4.4+ */ #if (U_ICU_VERSION_MAJOR_NUM > 4) || ((U_ICU_VERSION_MAJOR_NUM==4)&&(U_ICU_VERSION_MINOR_NUM>3)) -/* Plugin */ #include "unicode/icuplug.h" U_CAPI UPlugTokenReturn U_EXPORT2 coll_provider_plugin (UPlugData *data, UPlugReason reason, UErrorCode *status); @@ -481,83 +488,12 @@ U_CAPI UPlugTokenReturn U_EXPORT2 coll_provider_plugin (UPlugData *data, UPlugRe } return UPLUG_TOKEN; } -#endif - - -#if 0 -void main(int argc, const char *argv[]) { - puts("hello"); - { - int32_t count; - UErrorCode status = U_ZERO_ERROR; - Collator::getAvailableLocales(count); - fprintf(stderr, "Old avail: %d\n", count); - StringEnumeration *se = Collator::getAvailableLocales(); - count = se->count(status); - fprintf(stderr, "Old count avail: %d, %s\n", count, u_errorName(status)); - } - - UErrorCode status = U_ZERO_ERROR; - coll_provider_register(status); - fprintf(stderr, "Registered VCF: %p, er %s\n", rk, u_errorName(status)); - { - int32_t count; - Collator::getAvailableLocales(count); - fprintf(stderr, "New avail: %d\n", count); - StringEnumeration *se = Collator::getAvailableLocales(); - count = se->count(status); - fprintf(stderr, "New count avail: %d, %s\n", count, u_errorName(status)); -#if 0 - const char *str; - for(;(str=se->next(NULL,status))!=NULL;) { - fprintf(stderr, "\t%s", str); - } -#endif -#if 1 - const UnicodeString *str; - for(;(str=se->snext(status))!=NULL;) { - { - char foo[999]; - UnicodeString id2 = UnicodeString(*(str)); - u_austrcpy(foo, id2.getTerminatedBuffer()); - fprintf(stderr, "\t%s", foo); - } -// fprintf(stderr, "\t%s", str); - } -#endif - puts("\n"); - - } - { - UErrorCode status = U_ZERO_ERROR; - UCollator *a; - UCollator *b; - UCollator *c; - UCollator *d; - - a = ucol_open("th", &status); - fprintf(stderr, "opena %s\n", u_errorName(status)); - b = ucol_open("ar_SA@provider=ICU40", &status); - fprintf(stderr, "opena %s\n", u_errorName(status)); - c = ucol_open("nn_NO@provider=ICU38", &status); - fprintf(stderr, "opena %s\n", u_errorName(status)); - d = ucol_open("de@provider=ICU38;collation=phonebook", &status); - fprintf(stderr, "opena %s\n", u_errorName(status)); - - - ucol_close(a); - ucol_close(b); - ucol_close(c); - ucol_close(d); - } -} - -#endif - -#endif - -#endif - +#else +/* + Note: this ICU version must explicitly call 'coll_provider_plugin' +*/ +#endif /* plugin */ +#endif /* provider side (vs target) */ diff --git a/tools/multi/proj/provider/glue/export.txt b/tools/multi/proj/provider/glue/export.txt new file mode 100644 index 0000000000..07ab78402e --- /dev/null +++ b/tools/multi/proj/provider/glue/export.txt @@ -0,0 +1,2 @@ +# Copyright (C) 2010 International Business Machines Corporation and Others. All Rights Reserved. +_coll_provider_plugin diff --git a/tools/multi/proj/provider/test/Makefile b/tools/multi/proj/provider/test/Makefile deleted file mode 100644 index 03dd897897..0000000000 --- a/tools/multi/proj/provider/test/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2008-2009 IBM Corp. and Others. All Rights Reserved - -# use version 4.2.0.1 -TESTER_VER=4_2_0_1 -TESTER=coldiff -TESTERS=$(TESTER)_$(TESTER_VER) -testers: $(TESTERS) - -$(TESTER)_$(TESTER_VER).o: $(TESTER).cpp - $(shell $(BUILD)/$(TESTER_VER)/config/icu-config $(ICU_CONFIG_CXX)) -c -I$(TOP)/$(BUILD)/$(TESTER_VER)/gluren/include -DICUGLUE_VER=$$ver -o $@ $< - -$(TESTER)_$(TESTER_VER): $(TESTER)_$(TESTER_VER).o glout/$(TESTER_VER)/*.o build/3_8_1/*/*.ao build/4_0_1/*/*.ao build/4_0_1/data/out/tmp/icudt40l_dat.o build/3_8_1/data/out/tmp/icudt38l_dat.o - g++ -g -dead_strip -o $@ $(TESTER)_$(TESTER_VER).o glout/$(TESTER_VER)/*.o -Linst/$(TESTER_VER)/lib/ -Lbuild/$(TESTER_VER)/data/out/ -lsicuuc -lsicui18n -licudt42l build/3_8_1/*/*.ao build/4_0_1/*/*.ao build/4_0_1/data/out/tmp/icudt40l_dat.o build/3_8_1/data/out/tmp/icudt38l_dat.o build/4_3_1/*/*.ao - - diff --git a/tools/multi/proj/provider/test/coldiff.cpp b/tools/multi/proj/provider/test/coldiff.cpp deleted file mode 100644 index e926d262cd..0000000000 --- a/tools/multi/proj/provider/test/coldiff.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* -******************************************************************************* -* -* Copyright (C) 2009, International Business Machines -* Corporation and others. All Rights Reserved. -* -******************************************************************************* -*/ - -#include -#include -#include - -extern void coll_provider_register(UErrorCode &status); - -/* String to use. */ -const UChar stuff[] = { 0x30BB, 0x0d4c, 0x53, 0x74, 0x75, 0x66, 0x66, 0x00 }; /* Stuff */ - -#define VERS_COUNT 3 -const char *vers[VERS_COUNT] = { NULL, "40", "38" }; - -#define LOCALE_COUNT 4 -const char *locale[LOCALE_COUNT] = { "fi", "en_US", "ja", "ml" }; - -/** - * Set up the registered collators. - */ -void setup(UErrorCode &status) { - fprintf(stderr, "# ICU %s\n", U_ICU_VERSION); - { - int32_t count; - StringEnumeration *se = Collator::getAvailableLocales(); - count = se->count(status); - fprintf(stderr, "# Collators available: %d,\t%s\n", count, u_errorName(status)); - } - coll_provider_register(status); - fprintf(stderr, "# Registered providers: \t%s\n", u_errorName(status)); - { - int32_t count; - StringEnumeration *se = Collator::getAvailableLocales(); - count = se->count(status); - fprintf(stderr, "# Collators now available: %d,\t%s\n", count, u_errorName(status)); - } -} - -int main(int argc, const char *argv[]) { - UErrorCode status = U_ZERO_ERROR; - setup(status); - if(U_FAILURE(status)) return 1; - for(int l=0;lgetSortKey(stuff, -1, bytes, 200); -#endif - for(int i=0;i0&&i