1*7f6ffbefSDamjan Jovanovic#************************************************************** 2*7f6ffbefSDamjan Jovanovic# 3*7f6ffbefSDamjan Jovanovic# Licensed to the Apache Software Foundation (ASF) under one 4*7f6ffbefSDamjan Jovanovic# or more contributor license agreements. See the NOTICE file 5*7f6ffbefSDamjan Jovanovic# distributed with this work for additional information 6*7f6ffbefSDamjan Jovanovic# regarding copyright ownership. The ASF licenses this file 7*7f6ffbefSDamjan Jovanovic# to you under the Apache License, Version 2.0 (the 8*7f6ffbefSDamjan Jovanovic# "License"); you may not use this file except in compliance 9*7f6ffbefSDamjan Jovanovic# with the License. You may obtain a copy of the License at 10*7f6ffbefSDamjan Jovanovic# 11*7f6ffbefSDamjan Jovanovic# http://www.apache.org/licenses/LICENSE-2.0 12*7f6ffbefSDamjan Jovanovic# 13*7f6ffbefSDamjan Jovanovic# Unless required by applicable law or agreed to in writing, 14*7f6ffbefSDamjan Jovanovic# software distributed under the License is distributed on an 15*7f6ffbefSDamjan Jovanovic# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*7f6ffbefSDamjan Jovanovic# KIND, either express or implied. See the License for the 17*7f6ffbefSDamjan Jovanovic# specific language governing permissions and limitations 18*7f6ffbefSDamjan Jovanovic# under the License. 19*7f6ffbefSDamjan Jovanovic# 20*7f6ffbefSDamjan Jovanovic#************************************************************** 21*7f6ffbefSDamjan Jovanovic 22*7f6ffbefSDamjan Jovanovic 23*7f6ffbefSDamjan Jovanovic 24*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_Library,i18npool)) 25*7f6ffbefSDamjan Jovanovic 26*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_package_headers,i18npool,i18npool_inc)) 27*7f6ffbefSDamjan Jovanovic 28*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_precompiled_header,i18npool,$(SRCDIR)/i18npool/inc/pch/precompiled_i18npool)) 29*7f6ffbefSDamjan Jovanovic 30*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_set_componentfile,i18npool,i18npool/util/i18npool)) 31*7f6ffbefSDamjan Jovanovic 32*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_set_include,i18npool,\ 33*7f6ffbefSDamjan Jovanovic $$(INCLUDE) \ 34*7f6ffbefSDamjan Jovanovic -I$(SRCDIR)/i18npool/inc \ 35*7f6ffbefSDamjan Jovanovic -I$(SRCDIR)/i18npool/inc/pch \ 36*7f6ffbefSDamjan Jovanovic -I$(WORKDIR)/CustomTarget/i18npool/source/collator \ 37*7f6ffbefSDamjan Jovanovic -I$(OUTDIR)/inc \ 38*7f6ffbefSDamjan Jovanovic)) 39*7f6ffbefSDamjan Jovanovic 40*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_api,i18npool, \ 41*7f6ffbefSDamjan Jovanovic offapi \ 42*7f6ffbefSDamjan Jovanovic udkapi \ 43*7f6ffbefSDamjan Jovanovic)) 44*7f6ffbefSDamjan Jovanovic 45*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_defs,i18npool,\ 46*7f6ffbefSDamjan Jovanovic -DI18NPOOL_DLLIMPLEMENTATION \ 47*7f6ffbefSDamjan Jovanovic)) 48*7f6ffbefSDamjan Jovanovic 49*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_linked_libs,i18npool,\ 50*7f6ffbefSDamjan Jovanovic comphelper \ 51*7f6ffbefSDamjan Jovanovic cppu \ 52*7f6ffbefSDamjan Jovanovic cppuhelper \ 53*7f6ffbefSDamjan Jovanovic i18nisolang1 \ 54*7f6ffbefSDamjan Jovanovic i18nutil \ 55*7f6ffbefSDamjan Jovanovic sal \ 56*7f6ffbefSDamjan Jovanovic stl \ 57*7f6ffbefSDamjan Jovanovic $(gb_STDLIBS) \ 58*7f6ffbefSDamjan Jovanovic)) 59*7f6ffbefSDamjan Jovanovic 60*7f6ffbefSDamjan Jovanovic$(call gb_Library_use_external,i18npool,icui18n) 61*7f6ffbefSDamjan Jovanovic$(call gb_Library_use_external,i18npool,icudata) 62*7f6ffbefSDamjan Jovanovic$(call gb_Library_use_external,i18npool,icuuc) 63*7f6ffbefSDamjan Jovanovic 64*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_exception_objects,i18npool,\ 65*7f6ffbefSDamjan Jovanovic i18npool/source/registerservices/registerservices \ 66*7f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiteratorImpl \ 67*7f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_cjk \ 68*7f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_ctl \ 69*7f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_th \ 70*7f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_unicode \ 71*7f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/xdictionary \ 72*7f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/characterclassificationImpl \ 73*7f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/cclass_unicode \ 74*7f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/cclass_unicode_parser \ 75*7f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/scripttypedetector \ 76*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_body \ 77*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_caseignore \ 78*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliterationImpl \ 79*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_commonclass \ 80*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_OneToOne \ 81*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_Ignore \ 82*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_Numeric \ 83*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/hiraganaToKatakana \ 84*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/katakanaToHiragana \ 85*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreKana \ 86*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/halfwidthToFullwidth \ 87*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/fullwidthToHalfwidth \ 88*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreWidth \ 89*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/smallToLarge_ja_JP \ 90*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/largeToSmall_ja_JP \ 91*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSize_ja_JP \ 92*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreMinusSign_ja_JP \ 93*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreIterationMark_ja_JP \ 94*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreTraditionalKana_ja_JP \ 95*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreTraditionalKanji_ja_JP \ 96*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP \ 97*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreZiZu_ja_JP \ 98*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreBaFa_ja_JP \ 99*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreTiJi_ja_JP \ 100*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreHyuByu_ja_JP \ 101*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSeZe_ja_JP \ 102*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP \ 103*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP \ 104*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSeparator_ja_JP \ 105*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSpace_ja_JP \ 106*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreMiddleDot_ja_JP \ 107*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/textToPronounce_zh \ 108*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/numtochar \ 109*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/numtotext_cjk \ 110*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/chartonum \ 111*7f6ffbefSDamjan Jovanovic i18npool/source/transliteration/texttonum \ 112*7f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendarImpl \ 113*7f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendar_gregorian \ 114*7f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendar_hijri \ 115*7f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendar_jewish \ 116*7f6ffbefSDamjan Jovanovic i18npool/source/numberformatcode/numberformatcode \ 117*7f6ffbefSDamjan Jovanovic i18npool/source/defaultnumberingprovider/defaultnumberingprovider \ 118*7f6ffbefSDamjan Jovanovic i18npool/source/nativenumber/nativenumbersupplier \ 119*7f6ffbefSDamjan Jovanovic i18npool/source/inputchecker/inputsequencechecker \ 120*7f6ffbefSDamjan Jovanovic i18npool/source/inputchecker/inputsequencechecker_th \ 121*7f6ffbefSDamjan Jovanovic i18npool/source/inputchecker/inputsequencechecker_hi \ 122*7f6ffbefSDamjan Jovanovic i18npool/source/ordinalsuffix/ordinalsuffix \ 123*7f6ffbefSDamjan Jovanovic i18npool/source/localedata/localedata \ 124*7f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier \ 125*7f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_asian \ 126*7f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_ja_phonetic \ 127*7f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_default \ 128*7f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_common \ 129*7f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversionImpl \ 130*7f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversion \ 131*7f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversion_ko \ 132*7f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversion_zh \ 133*7f6ffbefSDamjan Jovanovic i18npool/source/collator/collatorImpl \ 134*7f6ffbefSDamjan Jovanovic i18npool/source/collator/chaptercollator \ 135*7f6ffbefSDamjan Jovanovic i18npool/source/collator/collator_unicode \ 136*7f6ffbefSDamjan Jovanovic)) 137*7f6ffbefSDamjan Jovanovic 138*7f6ffbefSDamjan Jovanovic$(call gb_Library_get_headers_target,i18npool) : $(WORKDIR)/CustomTarget/i18npool/source/collator/lrl_include.hxx 139*7f6ffbefSDamjan Jovanovic 140*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/collator/lrl_include.hxx : $(wildcard $(SRCDIR)/i18npool/source/collator/data/*.txt) 141*7f6ffbefSDamjan Jovanovic mkdir -p $(dir $@) \ 142*7f6ffbefSDamjan Jovanovic && LOCAL_RULE_LANGS="$(sort $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/collator/data/*.txt),$(firstword $(subst _, ,$(notdir $(txt))))))" \ 143*7f6ffbefSDamjan Jovanovic && echo \#define LOCAL_RULE_LANGS \"$${LOCAL_RULE_LANGS}\" > $@ 144*7f6ffbefSDamjan Jovanovic 145*7f6ffbefSDamjan Jovanovic 146*7f6ffbefSDamjan Jovanovic# fdo#31271 ")" reclassified in more recent ICU/Unicode Standards 147*7f6ffbefSDamjan Jovanovicinclude $(OUTDIR)/inc/icuversion.mk 148*7f6ffbefSDamjan JovanovicICU_RECLASSIFIED_BRACKET := $(shell [ ${ICU_MAJOR} -ge 5 -o \( ${ICU_MAJOR} -eq 4 -a ${ICU_MINOR} -ge 4 \) ] && echo YES) 149*7f6ffbefSDamjan Jovanovic 150*7f6ffbefSDamjan Jovanovic 151*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.txt : $(SRCDIR)/i18npool/source/breakiterator/data/%.txt 152*7f6ffbefSDamjan Jovanovicifeq ($(ICU_RECLASSIFIED_BRACKET),YES) 153*7f6ffbefSDamjan Jovanovic mkdir -p $(dir $@) && \ 154*7f6ffbefSDamjan Jovanovic sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#" $< > $@ 155*7f6ffbefSDamjan Jovanovicelse 156*7f6ffbefSDamjan Jovanovic mkdir -p $(dir $@) && \ 157*7f6ffbefSDamjan Jovanovic cp $< $@ 158*7f6ffbefSDamjan Jovanovicendif 159*7f6ffbefSDamjan Jovanovic 160*7f6ffbefSDamjan Jovanovic 161*7f6ffbefSDamjan Jovanovicifeq ($(SYSTEM_ICU),YES) 162*7f6ffbefSDamjan JovanovicGENCMN := $(SYSTEM_GENCMN) 163*7f6ffbefSDamjan JovanovicGENBRK := $(SYSTEM_GENBRK) 164*7f6ffbefSDamjan JovanovicGENCCODE := $(SYSTEM_GENCCODE) 165*7f6ffbefSDamjan Jovanovicelse 166*7f6ffbefSDamjan JovanovicGENCMN := $(gb_Augment_Library_Path) $(OUTDIR)/bin/gencmn$(gb_Executable_EXT) 167*7f6ffbefSDamjan JovanovicGENBRK := $(gb_Augment_Library_Path) $(OUTDIR)/bin/genbrk$(gb_Executable_EXT) 168*7f6ffbefSDamjan JovanovicGENCCODE := $(gb_Augment_Library_Path) $(OUTDIR)/bin/genccode$(gb_Executable_EXT) 169*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.brk : $(OUTDIR)/bin/genbrk$(gb_Executable_EXT) 170*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%_brk.c: $(OUTDIR)/bin/genccode$(gb_Executable_EXT) 171*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/OpenOffice_dat.c : $(OUTDIR)/bin/gencmn$(gb_Executable_EXT) 172*7f6ffbefSDamjan Jovanovicendif 173*7f6ffbefSDamjan Jovanovic 174*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.brk : $(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.txt 175*7f6ffbefSDamjan Jovanovic $(GENBRK) -r $(call gb_Helper_convert_native,$<) -o $(call gb_Helper_convert_native,$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/$*.brk) 176*7f6ffbefSDamjan Jovanovic 177*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%_brk.c : $(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.brk 178*7f6ffbefSDamjan Jovanovic $(GENCCODE) -n OpenOffice -d $(call gb_Helper_convert_native,$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data) $(call gb_Helper_convert_native,$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/$*.brk) 179*7f6ffbefSDamjan Jovanovic 180*7f6ffbefSDamjan Jovanovic# 'gencmn', 'genbrk' and 'genccode' are tools generated and delivered by icu project to process icu breakiterator rules. 181*7f6ffbefSDamjan Jovanovic# The output of gencmn generates warnings under Windows. We want to minimize the patches to external tools, 182*7f6ffbefSDamjan Jovanovic# so the output (OpenOffice_icu_dat.c) is changed here to include a pragma to disable the warnings. 183*7f6ffbefSDamjan Jovanovic# Output of gencmn is redirected to OpenOffice_icu_tmp.c with the -t switch. 184*7f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/OpenOffice_dat.c : $(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt) 185*7f6ffbefSDamjan Jovanovic RESPONSEFILE=$(call var2filecr,$(shell $(gb_MKTEMP)),1,$(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt),$(notdir $(basename $(txt))).brk)) \ 186*7f6ffbefSDamjan Jovanovic && cat $${RESPONSEFILE} \ 187*7f6ffbefSDamjan Jovanovic && $(GENCMN) -n OpenOffice -t tmp -S -d $(call gb_Helper_convert_native,$(dir $@)) O $(call gb_Helper_convert_native,$${RESPONSEFILE}) \ 188*7f6ffbefSDamjan Jovanovic && echo "#ifdef _MSC_VER" > $@ \ 189*7f6ffbefSDamjan Jovanovic && echo "#pragma warning( disable : 4229 4668 )" >> $@ \ 190*7f6ffbefSDamjan Jovanovic && echo "#endif" >> $@ \ 191*7f6ffbefSDamjan Jovanovic && cat $(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/OpenOffice_tmp.c >> $@ \ 192*7f6ffbefSDamjan Jovanovic && rm -f $${RESPONSEFILE} 193*7f6ffbefSDamjan Jovanovic 194*7f6ffbefSDamjan Jovanovic#$(eval $(call gb_Library_add_generated_cobjects,i18npool,\ 195*7f6ffbefSDamjan Jovanovic# $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt),CustomTarget/i18npool/source/breakiterator/data/$(notdir $(basename $(txt)))_brk) \ 196*7f6ffbefSDamjan Jovanovic#)) 197*7f6ffbefSDamjan Jovanovic 198*7f6ffbefSDamjan Jovanovic$(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt),$(eval $(call gb_Library_add_generated_cobject,i18npool,CustomTarget/i18npool/source/breakiterator/data/$(notdir $(basename $(txt)))_brk))) 199*7f6ffbefSDamjan Jovanovic 200*7f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_generated_cobject,i18npool,CustomTarget/i18npool/source/breakiterator/data/OpenOffice_dat)) 201*7f6ffbefSDamjan Jovanovic 202*7f6ffbefSDamjan Jovanovic# vim: set noet sw=4 ts=4: 203*7f6ffbefSDamjan Jovanovic 204