ICU-8545 urename for milestone:4.8 - fix tool issues, also add svn:ignore to dicttrieperf/Makefile

X-SVN-Rev: 30072
This commit is contained in:
Steven R. Loomis 2011-05-09 23:31:44 +00:00
parent 3de464a1e7
commit f7ff9a609a
8 changed files with 91 additions and 60 deletions

1
.gitignore vendored
View File

@ -498,6 +498,7 @@ icu4c/source/test/perf/convperf/debug
icu4c/source/test/perf/convperf/release
icu4c/source/test/perf/convperf/x64
icu4c/source/test/perf/convperf/x86
icu4c/source/test/perf/dicttrieperf/Makefile
icu4c/source/test/perf/ipch
icu4c/source/test/perf/normperf/*.d
icu4c/source/test/perf/normperf/*.o

View File

@ -321,7 +321,6 @@
#define u_istitle U_ICU_ENTRY_POINT_RENAME(u_istitle)
#define u_isupper U_ICU_ENTRY_POINT_RENAME(u_isupper)
#define u_isxdigit U_ICU_ENTRY_POINT_RENAME(u_isxdigit)
#define u_lengthOfIdenticalLevelRun U_ICU_ENTRY_POINT_RENAME(u_lengthOfIdenticalLevelRun)
#define u_locbund_close U_ICU_ENTRY_POINT_RENAME(u_locbund_close)
#define u_locbund_getNumberFormat U_ICU_ENTRY_POINT_RENAME(u_locbund_getNumberFormat)
#define u_locbund_init U_ICU_ENTRY_POINT_RENAME(u_locbund_init)
@ -474,6 +473,7 @@
#define ubidi_reorderLogical U_ICU_ENTRY_POINT_RENAME(ubidi_reorderLogical)
#define ubidi_reorderVisual U_ICU_ENTRY_POINT_RENAME(ubidi_reorderVisual)
#define ubidi_setClassCallback U_ICU_ENTRY_POINT_RENAME(ubidi_setClassCallback)
#define ubidi_setContext U_ICU_ENTRY_POINT_RENAME(ubidi_setContext)
#define ubidi_setInverse U_ICU_ENTRY_POINT_RENAME(ubidi_setInverse)
#define ubidi_setLine U_ICU_ENTRY_POINT_RENAME(ubidi_setLine)
#define ubidi_setPara U_ICU_ENTRY_POINT_RENAME(ubidi_setPara)
@ -516,6 +516,7 @@
#define ucal_getDSTSavings U_ICU_ENTRY_POINT_RENAME(ucal_getDSTSavings)
#define ucal_getDayOfWeekType U_ICU_ENTRY_POINT_RENAME(ucal_getDayOfWeekType)
#define ucal_getDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getDefaultTimeZone)
#define ucal_getFieldDifference U_ICU_ENTRY_POINT_RENAME(ucal_getFieldDifference)
#define ucal_getGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_getGregorianChange)
#define ucal_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucal_getKeywordValuesForLocale)
#define ucal_getLimit U_ICU_ENTRY_POINT_RENAME(ucal_getLimit)
@ -722,11 +723,13 @@
#define ucol_getContractions U_ICU_ENTRY_POINT_RENAME(ucol_getContractions)
#define ucol_getContractionsAndExpansions U_ICU_ENTRY_POINT_RENAME(ucol_getContractionsAndExpansions)
#define ucol_getDisplayName U_ICU_ENTRY_POINT_RENAME(ucol_getDisplayName)
#define ucol_getEquivalentReorderCodes U_ICU_ENTRY_POINT_RENAME(ucol_getEquivalentReorderCodes)
#define ucol_getFirstCE U_ICU_ENTRY_POINT_RENAME(ucol_getFirstCE)
#define ucol_getFunctionalEquivalent U_ICU_ENTRY_POINT_RENAME(ucol_getFunctionalEquivalent)
#define ucol_getKeywordValues U_ICU_ENTRY_POINT_RENAME(ucol_getKeywordValues)
#define ucol_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucol_getKeywordValuesForLocale)
#define ucol_getKeywords U_ICU_ENTRY_POINT_RENAME(ucol_getKeywords)
#define ucol_getLeadBytesForReorderCode U_ICU_ENTRY_POINT_RENAME(ucol_getLeadBytesForReorderCode)
#define ucol_getLocale U_ICU_ENTRY_POINT_RENAME(ucol_getLocale)
#define ucol_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucol_getLocaleByType)
#define ucol_getMaxExpansion U_ICU_ENTRY_POINT_RENAME(ucol_getMaxExpansion)
@ -734,11 +737,11 @@
#define ucol_getOffset U_ICU_ENTRY_POINT_RENAME(ucol_getOffset)
#define ucol_getPrevCE U_ICU_ENTRY_POINT_RENAME(ucol_getPrevCE)
#define ucol_getReorderCodes U_ICU_ENTRY_POINT_RENAME(ucol_getReorderCodes)
#define ucol_getReorderCodesForLeadByte U_ICU_ENTRY_POINT_RENAME(ucol_getReorderCodesForLeadByte)
#define ucol_getRules U_ICU_ENTRY_POINT_RENAME(ucol_getRules)
#define ucol_getRulesEx U_ICU_ENTRY_POINT_RENAME(ucol_getRulesEx)
#define ucol_getShortDefinitionString U_ICU_ENTRY_POINT_RENAME(ucol_getShortDefinitionString)
#define ucol_getSortKey U_ICU_ENTRY_POINT_RENAME(ucol_getSortKey)
#define ucol_getSortKeySize U_ICU_ENTRY_POINT_RENAME(ucol_getSortKeySize)
#define ucol_getSortKeyWithAllocation U_ICU_ENTRY_POINT_RENAME(ucol_getSortKeyWithAllocation)
#define ucol_getStrength U_ICU_ENTRY_POINT_RENAME(ucol_getStrength)
#define ucol_getTailoredSet U_ICU_ENTRY_POINT_RENAME(ucol_getTailoredSet)
@ -823,6 +826,7 @@
#define ucurr_getName U_ICU_ENTRY_POINT_RENAME(ucurr_getName)
#define ucurr_getPluralName U_ICU_ENTRY_POINT_RENAME(ucurr_getPluralName)
#define ucurr_getRoundingIncrement U_ICU_ENTRY_POINT_RENAME(ucurr_getRoundingIncrement)
#define ucurr_isAvailable U_ICU_ENTRY_POINT_RENAME(ucurr_isAvailable)
#define ucurr_openISOCurrencies U_ICU_ENTRY_POINT_RENAME(ucurr_openISOCurrencies)
#define ucurr_register U_ICU_ENTRY_POINT_RENAME(ucurr_register)
#define ucurr_unregister U_ICU_ENTRY_POINT_RENAME(ucurr_unregister)
@ -895,6 +899,9 @@
#define udatpg_setAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_setAppendItemName)
#define udatpg_setDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setDateTimeFormat)
#define udatpg_setDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_setDecimal)
#define udtitvfmt_close U_ICU_ENTRY_POINT_RENAME(udtitvfmt_close)
#define udtitvfmt_format U_ICU_ENTRY_POINT_RENAME(udtitvfmt_format)
#define udtitvfmt_open U_ICU_ENTRY_POINT_RENAME(udtitvfmt_open)
#define uenum_close U_ICU_ENTRY_POINT_RENAME(uenum_close)
#define uenum_count U_ICU_ENTRY_POINT_RENAME(uenum_count)
#define uenum_next U_ICU_ENTRY_POINT_RENAME(uenum_next)
@ -1141,6 +1148,9 @@
#define unum_setSymbol U_ICU_ENTRY_POINT_RENAME(unum_setSymbol)
#define unum_setTextAttribute U_ICU_ENTRY_POINT_RENAME(unum_setTextAttribute)
#define unum_toPattern U_ICU_ENTRY_POINT_RENAME(unum_toPattern)
#define uplrules_close U_ICU_ENTRY_POINT_RENAME(uplrules_close)
#define uplrules_open U_ICU_ENTRY_POINT_RENAME(uplrules_open)
#define uplrules_select U_ICU_ENTRY_POINT_RENAME(uplrules_select)
#define uplug_closeLibrary U_ICU_ENTRY_POINT_RENAME(uplug_closeLibrary)
#define uplug_findLibrary U_ICU_ENTRY_POINT_RENAME(uplug_findLibrary)
#define uplug_getConfiguration U_ICU_ENTRY_POINT_RENAME(uplug_getConfiguration)
@ -1274,7 +1284,7 @@
#define uprv_delete_collIterate U_ICU_ENTRY_POINT_RENAME(uprv_delete_collIterate)
#define uprv_dl_close U_ICU_ENTRY_POINT_RENAME(uprv_dl_close)
#define uprv_dl_open U_ICU_ENTRY_POINT_RENAME(uprv_dl_open)
#define uprv_dl_sym U_ICU_ENTRY_POINT_RENAME(uprv_dl_sym)
#define uprv_dlsym_func U_ICU_ENTRY_POINT_RENAME(uprv_dlsym_func)
#define uprv_eastrncpy U_ICU_ENTRY_POINT_RENAME(uprv_eastrncpy)
#define uprv_ebcdicFromAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicFromAscii)
#define uprv_ebcdicToLowercaseAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicToLowercaseAscii)
@ -1305,7 +1315,6 @@
#define uprv_isNaN U_ICU_ENTRY_POINT_RENAME(uprv_isNaN)
#define uprv_isNegativeInfinity U_ICU_ENTRY_POINT_RENAME(uprv_isNegativeInfinity)
#define uprv_isPositiveInfinity U_ICU_ENTRY_POINT_RENAME(uprv_isPositiveInfinity)
#define uprv_isRuleWhiteSpace U_ICU_ENTRY_POINT_RENAME(uprv_isRuleWhiteSpace)
#define uprv_itou U_ICU_ENTRY_POINT_RENAME(uprv_itou)
#define uprv_log U_ICU_ENTRY_POINT_RENAME(uprv_log)
#define uprv_malloc U_ICU_ENTRY_POINT_RENAME(uprv_malloc)
@ -1316,7 +1325,7 @@
#define uprv_min U_ICU_ENTRY_POINT_RENAME(uprv_min)
#define uprv_modf U_ICU_ENTRY_POINT_RENAME(uprv_modf)
#define uprv_new_collIterate U_ICU_ENTRY_POINT_RENAME(uprv_new_collIterate)
#define uprv_openRuleWhiteSpaceSet U_ICU_ENTRY_POINT_RENAME(uprv_openRuleWhiteSpaceSet)
#define uprv_openPatternWhiteSpaceSet U_ICU_ENTRY_POINT_RENAME(uprv_openPatternWhiteSpaceSet)
#define uprv_parseCurrency U_ICU_ENTRY_POINT_RENAME(uprv_parseCurrency)
#define uprv_pathIsAbsolute U_ICU_ENTRY_POINT_RENAME(uprv_pathIsAbsolute)
#define uprv_pow U_ICU_ENTRY_POINT_RENAME(uprv_pow)
@ -1911,6 +1920,7 @@
#define DateTimePatternGenerator U_ICU_ENTRY_POINT_RENAME(DateTimePatternGenerator)
#define DateTimeRule U_ICU_ENTRY_POINT_RENAME(DateTimeRule)
#define DecimalFormat U_ICU_ENTRY_POINT_RENAME(DecimalFormat)
#define DecimalFormatStaticSets U_ICU_ENTRY_POINT_RENAME(DecimalFormatStaticSets)
#define DecimalFormatSymbols U_ICU_ENTRY_POINT_RENAME(DecimalFormatSymbols)
#define DecomposeNormalizer2 U_ICU_ENTRY_POINT_RENAME(DecomposeNormalizer2)
#define DefaultCalendarFactory U_ICU_ENTRY_POINT_RENAME(DefaultCalendarFactory)
@ -1946,6 +1956,7 @@
#define FractionalPartSubstitution U_ICU_ENTRY_POINT_RENAME(FractionalPartSubstitution)
#define FunctionReplacer U_ICU_ENTRY_POINT_RENAME(FunctionReplacer)
#define GDEFMarkFilter U_ICU_ENTRY_POINT_RENAME(GDEFMarkFilter)
#define GNameSearchHandler U_ICU_ENTRY_POINT_RENAME(GNameSearchHandler)
#define GXLayoutEngine U_ICU_ENTRY_POINT_RENAME(GXLayoutEngine)
#define GlyphDefinitionTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphDefinitionTableHeader)
#define GlyphIterator U_ICU_ENTRY_POINT_RENAME(GlyphIterator)
@ -1990,6 +2001,7 @@
#define JapaneseCalendar U_ICU_ENTRY_POINT_RENAME(JapaneseCalendar)
#define KernTable U_ICU_ENTRY_POINT_RENAME(KernTable)
#define KeywordEnumeration U_ICU_ENTRY_POINT_RENAME(KeywordEnumeration)
#define KhmerBreakEngine U_ICU_ENTRY_POINT_RENAME(KhmerBreakEngine)
#define KhmerClassTable U_ICU_ENTRY_POINT_RENAME(KhmerClassTable)
#define KhmerOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(KhmerOpenTypeLayoutEngine)
#define KhmerReordering U_ICU_ENTRY_POINT_RENAME(KhmerReordering)
@ -2030,6 +2042,9 @@
#define MeasureUnit U_ICU_ENTRY_POINT_RENAME(MeasureUnit)
#define MessageFormat U_ICU_ENTRY_POINT_RENAME(MessageFormat)
#define MessageFormatAdapter U_ICU_ENTRY_POINT_RENAME(MessageFormatAdapter)
#define MessageImpl U_ICU_ENTRY_POINT_RENAME(MessageImpl)
#define MessagePattern U_ICU_ENTRY_POINT_RENAME(MessagePattern)
#define MetaZoneIDsEnumeration U_ICU_ENTRY_POINT_RENAME(MetaZoneIDsEnumeration)
#define ModulusSubstitution U_ICU_ENTRY_POINT_RENAME(ModulusSubstitution)
#define MoonRiseSetCoordFunc U_ICU_ENTRY_POINT_RENAME(MoonRiseSetCoordFunc)
#define MoonTimeAngleFunc U_ICU_ENTRY_POINT_RENAME(MoonTimeAngleFunc)
@ -2074,6 +2089,7 @@
#define ParsePosition U_ICU_ENTRY_POINT_RENAME(ParsePosition)
#define PatternMap U_ICU_ENTRY_POINT_RENAME(PatternMap)
#define PatternMapIterator U_ICU_ENTRY_POINT_RENAME(PatternMapIterator)
#define PatternProps U_ICU_ENTRY_POINT_RENAME(PatternProps)
#define PersianCalendar U_ICU_ENTRY_POINT_RENAME(PersianCalendar)
#define PluralFormat U_ICU_ENTRY_POINT_RENAME(PluralFormat)
#define PluralKeywordEnumeration U_ICU_ENTRY_POINT_RENAME(PluralKeywordEnumeration)
@ -2117,7 +2133,6 @@
#define RunArray U_ICU_ENTRY_POINT_RENAME(RunArray)
#define SPUString U_ICU_ENTRY_POINT_RENAME(SPUString)
#define SPUStringPool U_ICU_ENTRY_POINT_RENAME(SPUStringPool)
#define SafeZoneStringFormatPtr U_ICU_ENTRY_POINT_RENAME(SafeZoneStringFormatPtr)
#define SameValueSubstitution U_ICU_ENTRY_POINT_RENAME(SameValueSubstitution)
#define ScriptListTable U_ICU_ENTRY_POINT_RENAME(ScriptListTable)
#define ScriptRunIterator U_ICU_ENTRY_POINT_RENAME(ScriptRunIterator)
@ -2131,6 +2146,7 @@
#define ServiceListener U_ICU_ENTRY_POINT_RENAME(ServiceListener)
#define SimpleArrayProcessor U_ICU_ENTRY_POINT_RENAME(SimpleArrayProcessor)
#define SimpleDateFormat U_ICU_ENTRY_POINT_RENAME(SimpleDateFormat)
#define SimpleDateFormatStaticSets U_ICU_ENTRY_POINT_RENAME(SimpleDateFormatStaticSets)
#define SimpleFactory U_ICU_ENTRY_POINT_RENAME(SimpleFactory)
#define SimpleLocaleKeyFactory U_ICU_ENTRY_POINT_RENAME(SimpleLocaleKeyFactory)
#define SimpleNumberFormatFactory U_ICU_ENTRY_POINT_RENAME(SimpleNumberFormatFactory)
@ -2143,6 +2159,7 @@
#define SingleSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(SingleSubstitutionFormat2Subtable)
#define SingleSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(SingleSubstitutionSubtable)
#define SingleTableProcessor U_ICU_ENTRY_POINT_RENAME(SingleTableProcessor)
#define SortKeyByteSink U_ICU_ENTRY_POINT_RENAME(SortKeyByteSink)
#define SpoofData U_ICU_ENTRY_POINT_RENAME(SpoofData)
#define SpoofImpl U_ICU_ENTRY_POINT_RENAME(SpoofImpl)
#define StateTableProcessor U_ICU_ENTRY_POINT_RENAME(StateTableProcessor)
@ -2163,6 +2180,7 @@
#define SunTimeAngleFunc U_ICU_ENTRY_POINT_RENAME(SunTimeAngleFunc)
#define SymbolTable U_ICU_ENTRY_POINT_RENAME(SymbolTable)
#define TZEnumeration U_ICU_ENTRY_POINT_RENAME(TZEnumeration)
#define TZNames U_ICU_ENTRY_POINT_RENAME(TZNames)
#define TaiwanCalendar U_ICU_ENTRY_POINT_RENAME(TaiwanCalendar)
#define Target U_ICU_ENTRY_POINT_RENAME(Target)
#define TernaryNode U_ICU_ENTRY_POINT_RENAME(TernaryNode)
@ -2179,6 +2197,16 @@
#define TimeUnitAmount U_ICU_ENTRY_POINT_RENAME(TimeUnitAmount)
#define TimeUnitFormat U_ICU_ENTRY_POINT_RENAME(TimeUnitFormat)
#define TimeZone U_ICU_ENTRY_POINT_RENAME(TimeZone)
#define TimeZoneFormat U_ICU_ENTRY_POINT_RENAME(TimeZoneFormat)
#define TimeZoneFormatDelegate U_ICU_ENTRY_POINT_RENAME(TimeZoneFormatDelegate)
#define TimeZoneFormatImpl U_ICU_ENTRY_POINT_RENAME(TimeZoneFormatImpl)
#define TimeZoneGenericNameMatchInfo U_ICU_ENTRY_POINT_RENAME(TimeZoneGenericNameMatchInfo)
#define TimeZoneGenericNames U_ICU_ENTRY_POINT_RENAME(TimeZoneGenericNames)
#define TimeZoneNameMatchInfo U_ICU_ENTRY_POINT_RENAME(TimeZoneNameMatchInfo)
#define TimeZoneNameMatchInfoImpl U_ICU_ENTRY_POINT_RENAME(TimeZoneNameMatchInfoImpl)
#define TimeZoneNames U_ICU_ENTRY_POINT_RENAME(TimeZoneNames)
#define TimeZoneNamesDelegate U_ICU_ENTRY_POINT_RENAME(TimeZoneNamesDelegate)
#define TimeZoneNamesImpl U_ICU_ENTRY_POINT_RENAME(TimeZoneNamesImpl)
#define TimeZoneRule U_ICU_ENTRY_POINT_RENAME(TimeZoneRule)
#define TimeZoneTransition U_ICU_ENTRY_POINT_RENAME(TimeZoneTransition)
#define TitlecaseTransliterator U_ICU_ENTRY_POINT_RENAME(TitlecaseTransliterator)
@ -2230,15 +2258,11 @@
#define VTimeZone U_ICU_ENTRY_POINT_RENAME(VTimeZone)
#define ValueRecord U_ICU_ENTRY_POINT_RENAME(ValueRecord)
#define ValueRuns U_ICU_ENTRY_POINT_RENAME(ValueRuns)
#define ZSFCache U_ICU_ENTRY_POINT_RENAME(ZSFCache)
#define ZSFCacheEntry U_ICU_ENTRY_POINT_RENAME(ZSFCacheEntry)
#define ZSFStringPool U_ICU_ENTRY_POINT_RENAME(ZSFStringPool)
#define ZSFStringPoolChunk U_ICU_ENTRY_POINT_RENAME(ZSFStringPoolChunk)
#define ZNStringPool U_ICU_ENTRY_POINT_RENAME(ZNStringPool)
#define ZNStringPoolChunk U_ICU_ENTRY_POINT_RENAME(ZNStringPoolChunk)
#define ZNameSearchHandler U_ICU_ENTRY_POINT_RENAME(ZNameSearchHandler)
#define ZNames U_ICU_ENTRY_POINT_RENAME(ZNames)
#define ZoneMeta U_ICU_ENTRY_POINT_RENAME(ZoneMeta)
#define ZoneStringFormat U_ICU_ENTRY_POINT_RENAME(ZoneStringFormat)
#define ZoneStringInfo U_ICU_ENTRY_POINT_RENAME(ZoneStringInfo)
#define ZoneStringSearchResultHandler U_ICU_ENTRY_POINT_RENAME(ZoneStringSearchResultHandler)
#define ZoneStrings U_ICU_ENTRY_POINT_RENAME(ZoneStrings)
#define collIterate U_ICU_ENTRY_POINT_RENAME(collIterate)
#define locale_set_default_internal U_ICU_ENTRY_POINT_RENAME(locale_set_default_internal)
#define util64_fromDouble U_ICU_ENTRY_POINT_RENAME(util64_fromDouble)

View File

@ -1417,27 +1417,6 @@ TimeZoneNamesImpl::find(const UnicodeString& text, int32_t start, uint32_t types
return matchInfo;
}
UnicodeString& getTZCanonicalID(const TimeZone& tz, UnicodeString& canonicalID) {
if (dynamic_cast<const OlsonTimeZone *>(&tz) != NULL) {
// short cut for OlsonTimeZone
const OlsonTimeZone *otz = (const OlsonTimeZone*)&tz;
const UChar* uID = otz->getCanonicalID();
if (uID != NULL) {
canonicalID.setTo(TRUE, uID, -1);
} else {
canonicalID.setToBogus();
}
} else {
UErrorCode status = U_ZERO_ERROR;
UnicodeString tzID;
ZoneMeta::getCanonicalCLDRID(tz.getID(tzID), canonicalID, status);
if (U_FAILURE(status)) {
canonicalID.setToBogus();
}
}
return canonicalID;
}
U_NAMESPACE_END

View File

@ -4265,6 +4265,8 @@ ucol_mergeSortkeys(const uint8_t *src1, int32_t src1Length,
return destLength;
}
U_NAMESPACE_BEGIN
class SortKeyByteSink : public ByteSink {
public:
static const uint32_t FILL_ORIGINAL_BUFFER = 1;
@ -4463,6 +4465,8 @@ SortKeyByteSink::OrphanUnsignedBuffer(int32_t &orphanedCapacity) {
return newBuffer;
}
U_NAMESPACE_END
/* sortkey API */
U_CAPI int32_t U_EXPORT2
ucol_getSortKey(const UCollator *coll,

View File

@ -550,8 +550,12 @@ void *ucol_getABuffer(const UCollator *coll, uint32_t size);
#ifdef XP_CPLUSPLUS
U_NAMESPACE_BEGIN
class SortKeyByteSink;
U_NAMESPACE_END
/* function used by C++ getCollationKey to prevent restarting the calculation */
U_CFUNC int32_t
ucol_getSortKeyWithAllocation(const UCollator *coll,

View File

@ -1,19 +1,34 @@
#******************************************************************************
#
# Copyright (C) 2002-2009, International Business Machines
# Copyright (C) 2002-2011, International Business Machines
# Corporation and others. All Rights Reserved.
#
#******************************************************************************
TOP=../..
srcdir = .
top_srcdir = $(TOP)
top_builddir = $(TOP)
include $(TOP)/icudefs.mk
# override if you have an out-of-source build (not yet working.)
BUILDDIR = $(top_builddir)
ICUDIR=ICUunrenamed
#SO=so
# Extra flags to prevent internal API from being hidden.
# This is important because ELF (Linux) based platforms that don't hide internal
# API will allow a duplicate internal name to resolve to an external library.
# See the gcc manual on the "visibility" attribute for details.
FLAG_OVERRIDE= LIBCFLAGS= LIBCXXFLAGS= $(EXTRA_MAKE_OPTIONS)
## any local overrides
-include Makefile.local
# load definition of .SO, etc (but not if we are doing 'make clean')
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
include $(BUILDDIR)/icudefs.mk
endif
COM=$(ICUDIR)/lib/libicuuc.$(SO)
I18=$(ICUDIR)/lib/libicui18n.$(SO)
@ -24,11 +39,8 @@ UIO=$(ICUDIR)/lib/libicuio.$(SO)
LIBS=$(COM) $(I18) $(LAY) $(LEX) $(UIO)
# Extra flags to prevent internal API from being hidden.
# This is important because ELF (Linux) based platforms that don't hide internal
# API will allow a duplicate internal name to resolve to an external library.
# See the gcc manual on the "visibility" attribute for details.
FLAG_OVERRIDE= LIBCFLAGS= LIBCXXFLAGS= $(EXTRA_MAKE_OPTIONS)
## Targets.
all:
@cat README
@ -42,7 +54,7 @@ $(ICUDIR)/config.status:
-mv $(ICUDIR) $(ICUDIR)old
-(rm -rf $(ICUDIR)old &)
mkdir $(ICUDIR)
( cd $(ICUDIR) ; CPPFLAGS=-DURENAME_H $(TOP)/../configure --with-data-packaging=archive --enable-tests=no --prefix=`pwd` $(GENREN_CONFIGURE_OPTS) )
( cd $(ICUDIR) ; CPPFLAGS=-DU_DISABLE_RENAMING=1 $(GENREN_CONFIGURE_ENV) $(top_srcdir)/../configure --with-data-packaging=archive --enable-tests=no --prefix=`pwd` $(GENREN_CONFIGURE_OPTS) )
# cause lib and bin to be created, and any other general sanity
$(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) clean
$(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) all-local
@ -71,6 +83,7 @@ urename.h: $(LIBS) genren.pl
-cp urename.h urename.h.old
perl ./genren.pl $(GENREN_PL_OPTS) $(LIBS)
# This is still here, but less useful with the "new" macro-based rename. Just use 'svn diff'.
sorts: urename.sort urename.old.sort
@echo "*** Please check urename.h manually before committing it."
@echo "Try 'diff --side-by-side urename.old.sort urename.sort'"
@ -78,12 +91,10 @@ sorts: urename.sort urename.old.sort
urename.sort: urename.h
sort urename.h > $@
urename.old.sort: $(TOP)/common/unicode/urename.h
sort $(TOP)/common/unicode/urename.h > $@
urename.old.sort: $(top_srcdir)/common/unicode/urename.h
sort $(top_srcdir)/common/unicode/urename.h > $@
install-header: urename.h sorts
cp $(TOP)/common/unicode/urename.h $(TOP)/common/unicode/urename.h.old
cp urename.h $(TOP)/common/unicode/
-include Makefile.local
install-header: urename.h
cp urename.h $(top_srcdir)/common/unicode/
@echo "*** Please check urename.h manually before committing it."

View File

@ -1,8 +1,10 @@
Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved.
Copyright (c) 2002-2011, International Business Machines Corporation and others. All Rights Reserved.
The genren.pl script is used to generate source/common/unicode/urename.h header file, which is needed for renaming the ICU exported names.
This script is intended to be used on Linux, although it should work on any platform that has Perl and nm command. Makefile may need to be updated, it's not 100% portable.
It also does not currently work well in an out-of-source situation.
The following instructions are for Linux version.
- urename.h file should be generated after implementation is complete for a release.
- the version number for a release should be set according to the list in source/common/unicode/uvernum.h
@ -11,10 +13,7 @@ The following instructions are for Linux version.
"make install-header"
- urename.h will be updated in icu/source/common/unicode/urename.h **in your original source directory**
- Eyeball the new file for errors - you can compare it to icu/source/common/unicode/urename.h.old
- Another good way to check the file is a side by side diff. After the above 'make install-header':
diff --side-by-side urename.sort urename.old.sort | more
- Eyeball the new file for errors
- Other make targets here

View File

@ -1,7 +1,7 @@
#!/usr/bin/perl
#*
#*******************************************************************************
#* Copyright (C) 2001-2010, International Business Machines
#* Copyright (C) 2001-2011, International Business Machines
#* Corporation and others. All Rights Reserved.
#*******************************************************************************
#*
@ -139,7 +139,9 @@ for(;@ARGV; shift(@ARGV)) {
foreach (@NMRESULT) { # Process every line of result and stuff it in $_
$itemCount++;
if($mode =~ /POSIX/) {
&verbose(" $_");
($_, $address, $type) = split(/\|/);
chop $qtype;
} elsif ($mode =~ /Mach-O/) {
if(/^(?:[0-9a-fA-F]){8} ([A-Z]) (?:_)?(.*)$/) {
($_, $type) = ($2, $1);
@ -156,10 +158,17 @@ for(;@ARGV; shift(@ARGV)) {
&verbose( "C++ method: $_\n");
} elsif (/^[^\(]*::/) { # C++ methods, stuff class name in associative array
## DON'T match ... ( foo::bar ... want :: to be to the left of paren
## icu_2_0::CharString::~CharString(void) -> CharString
## icu::CharString::~CharString(void) -> CharString
@CppName = split(/::/); ## remove scope stuff
if(@CppName>1) {
## MessageFormat virtual table -> MessageFormat
if(! ($CppName[0] =~ /icu/ )) {
# *** WARNING Bad namespace (not 'icu') on ShoeSize::ShoeSize()
warn "*** WARNING Bad namespace (not 'icu') on $_\n";
next;
}
&verbose ( "(Chopping scope $CppName[0] )");
@CppName = split(/ /, $CppName[1]); ## remove debug stuff
}
## ures_getUnicodeStringByIndex(UResourceBundle -> ures_getUnicodeStringByIndex
@ -187,7 +196,7 @@ for(;@ARGV; shift(@ARGV)) {
print STDERR "$ARGV[0]: Skipped strange mangled function $_\n";
} elsif ( /^vtable for /) {
print STDERR "$ARGV[0]: Skipped vtable $_\n";
} elsif ( /^typeinfo for /) {
} elsif ( /^typeinfo/) {
print STDERR "$ARGV[0]: Skipped typeinfo $_\n";
} elsif ( /operator\+/ ) {
print STDERR "$ARGV[0]: Skipped ignored function $_\n";