17f6ffbefSDamjan Jovanovic#************************************************************** 27f6ffbefSDamjan Jovanovic# 37f6ffbefSDamjan Jovanovic# Licensed to the Apache Software Foundation (ASF) under one 47f6ffbefSDamjan Jovanovic# or more contributor license agreements. See the NOTICE file 57f6ffbefSDamjan Jovanovic# distributed with this work for additional information 67f6ffbefSDamjan Jovanovic# regarding copyright ownership. The ASF licenses this file 77f6ffbefSDamjan Jovanovic# to you under the Apache License, Version 2.0 (the 87f6ffbefSDamjan Jovanovic# "License"); you may not use this file except in compliance 97f6ffbefSDamjan Jovanovic# with the License. You may obtain a copy of the License at 107f6ffbefSDamjan Jovanovic# 117f6ffbefSDamjan Jovanovic# http://www.apache.org/licenses/LICENSE-2.0 127f6ffbefSDamjan Jovanovic# 137f6ffbefSDamjan Jovanovic# Unless required by applicable law or agreed to in writing, 147f6ffbefSDamjan Jovanovic# software distributed under the License is distributed on an 157f6ffbefSDamjan Jovanovic# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 167f6ffbefSDamjan Jovanovic# KIND, either express or implied. See the License for the 177f6ffbefSDamjan Jovanovic# specific language governing permissions and limitations 187f6ffbefSDamjan Jovanovic# under the License. 197f6ffbefSDamjan Jovanovic# 207f6ffbefSDamjan Jovanovic#************************************************************** 217f6ffbefSDamjan Jovanovic 227f6ffbefSDamjan Jovanovic 237f6ffbefSDamjan Jovanovic 247f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_Library,i18npool)) 257f6ffbefSDamjan Jovanovic 267f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_package_headers,i18npool,i18npool_inc)) 277f6ffbefSDamjan Jovanovic 287f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_precompiled_header,i18npool,$(SRCDIR)/i18npool/inc/pch/precompiled_i18npool)) 297f6ffbefSDamjan Jovanovic 307f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_set_componentfile,i18npool,i18npool/util/i18npool)) 317f6ffbefSDamjan Jovanovic 327f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_set_include,i18npool,\ 337f6ffbefSDamjan Jovanovic $$(INCLUDE) \ 347f6ffbefSDamjan Jovanovic -I$(SRCDIR)/i18npool/inc \ 357f6ffbefSDamjan Jovanovic -I$(SRCDIR)/i18npool/inc/pch \ 367f6ffbefSDamjan Jovanovic -I$(WORKDIR)/CustomTarget/i18npool/source/collator \ 377f6ffbefSDamjan Jovanovic -I$(OUTDIR)/inc \ 387f6ffbefSDamjan Jovanovic)) 397f6ffbefSDamjan Jovanovic 407f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_api,i18npool, \ 417f6ffbefSDamjan Jovanovic offapi \ 427f6ffbefSDamjan Jovanovic udkapi \ 437f6ffbefSDamjan Jovanovic)) 447f6ffbefSDamjan Jovanovic 457f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_defs,i18npool,\ 467f6ffbefSDamjan Jovanovic -DI18NPOOL_DLLIMPLEMENTATION \ 477f6ffbefSDamjan Jovanovic)) 487f6ffbefSDamjan Jovanovic 497f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_linked_libs,i18npool,\ 507f6ffbefSDamjan Jovanovic comphelper \ 517f6ffbefSDamjan Jovanovic cppu \ 527f6ffbefSDamjan Jovanovic cppuhelper \ 537f6ffbefSDamjan Jovanovic i18nisolang1 \ 547f6ffbefSDamjan Jovanovic i18nutil \ 557f6ffbefSDamjan Jovanovic sal \ 567f6ffbefSDamjan Jovanovic stl \ 577f6ffbefSDamjan Jovanovic $(gb_STDLIBS) \ 587f6ffbefSDamjan Jovanovic)) 597f6ffbefSDamjan Jovanovic 607f6ffbefSDamjan Jovanovic$(call gb_Library_use_external,i18npool,icui18n) 617f6ffbefSDamjan Jovanovic$(call gb_Library_use_external,i18npool,icudata) 627f6ffbefSDamjan Jovanovic$(call gb_Library_use_external,i18npool,icuuc) 637f6ffbefSDamjan Jovanovic 647f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_exception_objects,i18npool,\ 657f6ffbefSDamjan Jovanovic i18npool/source/registerservices/registerservices \ 667f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiteratorImpl \ 677f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_cjk \ 687f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_ctl \ 697f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_th \ 707f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/breakiterator_unicode \ 717f6ffbefSDamjan Jovanovic i18npool/source/breakiterator/xdictionary \ 727f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/characterclassificationImpl \ 737f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/cclass_unicode \ 747f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/cclass_unicode_parser \ 757f6ffbefSDamjan Jovanovic i18npool/source/characterclassification/scripttypedetector \ 767f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_body \ 777f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_caseignore \ 787f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliterationImpl \ 797f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_commonclass \ 807f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_OneToOne \ 817f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_Ignore \ 827f6ffbefSDamjan Jovanovic i18npool/source/transliteration/transliteration_Numeric \ 837f6ffbefSDamjan Jovanovic i18npool/source/transliteration/hiraganaToKatakana \ 847f6ffbefSDamjan Jovanovic i18npool/source/transliteration/katakanaToHiragana \ 857f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreKana \ 867f6ffbefSDamjan Jovanovic i18npool/source/transliteration/halfwidthToFullwidth \ 877f6ffbefSDamjan Jovanovic i18npool/source/transliteration/fullwidthToHalfwidth \ 887f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreWidth \ 897f6ffbefSDamjan Jovanovic i18npool/source/transliteration/smallToLarge_ja_JP \ 907f6ffbefSDamjan Jovanovic i18npool/source/transliteration/largeToSmall_ja_JP \ 917f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSize_ja_JP \ 927f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreMinusSign_ja_JP \ 937f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreIterationMark_ja_JP \ 947f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreTraditionalKana_ja_JP \ 957f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreTraditionalKanji_ja_JP \ 967f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP \ 977f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreZiZu_ja_JP \ 987f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreBaFa_ja_JP \ 997f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreTiJi_ja_JP \ 1007f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreHyuByu_ja_JP \ 1017f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSeZe_ja_JP \ 1027f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP \ 1037f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP \ 1047f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSeparator_ja_JP \ 1057f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreSpace_ja_JP \ 1067f6ffbefSDamjan Jovanovic i18npool/source/transliteration/ignoreMiddleDot_ja_JP \ 1077f6ffbefSDamjan Jovanovic i18npool/source/transliteration/textToPronounce_zh \ 1087f6ffbefSDamjan Jovanovic i18npool/source/transliteration/numtochar \ 1097f6ffbefSDamjan Jovanovic i18npool/source/transliteration/numtotext_cjk \ 1107f6ffbefSDamjan Jovanovic i18npool/source/transliteration/chartonum \ 1117f6ffbefSDamjan Jovanovic i18npool/source/transliteration/texttonum \ 1127f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendarImpl \ 1137f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendar_gregorian \ 1147f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendar_hijri \ 1157f6ffbefSDamjan Jovanovic i18npool/source/calendar/calendar_jewish \ 1167f6ffbefSDamjan Jovanovic i18npool/source/numberformatcode/numberformatcode \ 1177f6ffbefSDamjan Jovanovic i18npool/source/defaultnumberingprovider/defaultnumberingprovider \ 1187f6ffbefSDamjan Jovanovic i18npool/source/nativenumber/nativenumbersupplier \ 1197f6ffbefSDamjan Jovanovic i18npool/source/inputchecker/inputsequencechecker \ 1207f6ffbefSDamjan Jovanovic i18npool/source/inputchecker/inputsequencechecker_th \ 1217f6ffbefSDamjan Jovanovic i18npool/source/inputchecker/inputsequencechecker_hi \ 1227f6ffbefSDamjan Jovanovic i18npool/source/ordinalsuffix/ordinalsuffix \ 1237f6ffbefSDamjan Jovanovic i18npool/source/localedata/localedata \ 1247f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier \ 1257f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_asian \ 1267f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_ja_phonetic \ 1277f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_default \ 1287f6ffbefSDamjan Jovanovic i18npool/source/indexentry/indexentrysupplier_common \ 1297f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversionImpl \ 1307f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversion \ 1317f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversion_ko \ 1327f6ffbefSDamjan Jovanovic i18npool/source/textconversion/textconversion_zh \ 1337f6ffbefSDamjan Jovanovic i18npool/source/collator/collatorImpl \ 1347f6ffbefSDamjan Jovanovic i18npool/source/collator/chaptercollator \ 1357f6ffbefSDamjan Jovanovic i18npool/source/collator/collator_unicode \ 1367f6ffbefSDamjan Jovanovic)) 1377f6ffbefSDamjan Jovanovic 1387f6ffbefSDamjan Jovanovic$(call gb_Library_get_headers_target,i18npool) : $(WORKDIR)/CustomTarget/i18npool/source/collator/lrl_include.hxx 1397f6ffbefSDamjan Jovanovic 1407f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/collator/lrl_include.hxx : $(wildcard $(SRCDIR)/i18npool/source/collator/data/*.txt) 1417f6ffbefSDamjan Jovanovic mkdir -p $(dir $@) \ 1427f6ffbefSDamjan Jovanovic && LOCAL_RULE_LANGS="$(sort $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/collator/data/*.txt),$(firstword $(subst _, ,$(notdir $(txt))))))" \ 1437f6ffbefSDamjan Jovanovic && echo \#define LOCAL_RULE_LANGS \"$${LOCAL_RULE_LANGS}\" > $@ 1447f6ffbefSDamjan Jovanovic 1457f6ffbefSDamjan Jovanovic 1467f6ffbefSDamjan Jovanovic# fdo#31271 ")" reclassified in more recent ICU/Unicode Standards 147*69cbe00dSDamjan Jovanovic-include $(OUTDIR)/inc/icuversion.mk 1487f6ffbefSDamjan JovanovicICU_RECLASSIFIED_BRACKET := $(shell [ ${ICU_MAJOR} -ge 5 -o \( ${ICU_MAJOR} -eq 4 -a ${ICU_MINOR} -ge 4 \) ] && echo YES) 1497f6ffbefSDamjan Jovanovic 1507f6ffbefSDamjan Jovanovic 1517f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.txt : $(SRCDIR)/i18npool/source/breakiterator/data/%.txt 1527f6ffbefSDamjan Jovanovicifeq ($(ICU_RECLASSIFIED_BRACKET),YES) 1537f6ffbefSDamjan Jovanovic mkdir -p $(dir $@) && \ 1547f6ffbefSDamjan Jovanovic sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#" $< > $@ 1557f6ffbefSDamjan Jovanovicelse 1567f6ffbefSDamjan Jovanovic mkdir -p $(dir $@) && \ 1577f6ffbefSDamjan Jovanovic cp $< $@ 1587f6ffbefSDamjan Jovanovicendif 1597f6ffbefSDamjan Jovanovic 1607f6ffbefSDamjan Jovanovic 1617f6ffbefSDamjan Jovanovicifeq ($(SYSTEM_ICU),YES) 1627f6ffbefSDamjan JovanovicGENCMN := $(SYSTEM_GENCMN) 1637f6ffbefSDamjan JovanovicGENBRK := $(SYSTEM_GENBRK) 1647f6ffbefSDamjan JovanovicGENCCODE := $(SYSTEM_GENCCODE) 1657f6ffbefSDamjan Jovanovicelse 1667f6ffbefSDamjan JovanovicGENCMN := $(gb_Augment_Library_Path) $(OUTDIR)/bin/gencmn$(gb_Executable_EXT) 1677f6ffbefSDamjan JovanovicGENBRK := $(gb_Augment_Library_Path) $(OUTDIR)/bin/genbrk$(gb_Executable_EXT) 1687f6ffbefSDamjan JovanovicGENCCODE := $(gb_Augment_Library_Path) $(OUTDIR)/bin/genccode$(gb_Executable_EXT) 1697f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.brk : $(OUTDIR)/bin/genbrk$(gb_Executable_EXT) 1707f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%_brk.c: $(OUTDIR)/bin/genccode$(gb_Executable_EXT) 1717f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/OpenOffice_dat.c : $(OUTDIR)/bin/gencmn$(gb_Executable_EXT) 1727f6ffbefSDamjan Jovanovicendif 1737f6ffbefSDamjan Jovanovic 1747f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.brk : $(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.txt 1757f6ffbefSDamjan Jovanovic $(GENBRK) -r $(call gb_Helper_convert_native,$<) -o $(call gb_Helper_convert_native,$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/$*.brk) 1767f6ffbefSDamjan Jovanovic 1777f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%_brk.c : $(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/%.brk 1787f6ffbefSDamjan 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) 1797f6ffbefSDamjan Jovanovic 1807f6ffbefSDamjan Jovanovic# 'gencmn', 'genbrk' and 'genccode' are tools generated and delivered by icu project to process icu breakiterator rules. 1817f6ffbefSDamjan Jovanovic# The output of gencmn generates warnings under Windows. We want to minimize the patches to external tools, 1827f6ffbefSDamjan Jovanovic# so the output (OpenOffice_icu_dat.c) is changed here to include a pragma to disable the warnings. 1837f6ffbefSDamjan Jovanovic# Output of gencmn is redirected to OpenOffice_icu_tmp.c with the -t switch. 1847f6ffbefSDamjan Jovanovic$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/OpenOffice_dat.c : $(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt) 1857f6ffbefSDamjan Jovanovic RESPONSEFILE=$(call var2filecr,$(shell $(gb_MKTEMP)),1,$(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt),$(notdir $(basename $(txt))).brk)) \ 1867f6ffbefSDamjan Jovanovic && cat $${RESPONSEFILE} \ 1877f6ffbefSDamjan Jovanovic && $(GENCMN) -n OpenOffice -t tmp -S -d $(call gb_Helper_convert_native,$(dir $@)) O $(call gb_Helper_convert_native,$${RESPONSEFILE}) \ 1887f6ffbefSDamjan Jovanovic && echo "#ifdef _MSC_VER" > $@ \ 1897f6ffbefSDamjan Jovanovic && echo "#pragma warning( disable : 4229 4668 )" >> $@ \ 1907f6ffbefSDamjan Jovanovic && echo "#endif" >> $@ \ 1917f6ffbefSDamjan Jovanovic && cat $(WORKDIR)/CustomTarget/i18npool/source/breakiterator/data/OpenOffice_tmp.c >> $@ \ 1927f6ffbefSDamjan Jovanovic && rm -f $${RESPONSEFILE} 1937f6ffbefSDamjan Jovanovic 1947f6ffbefSDamjan Jovanovic#$(eval $(call gb_Library_add_generated_cobjects,i18npool,\ 1957f6ffbefSDamjan Jovanovic# $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt),CustomTarget/i18npool/source/breakiterator/data/$(notdir $(basename $(txt)))_brk) \ 1967f6ffbefSDamjan Jovanovic#)) 1977f6ffbefSDamjan Jovanovic 1987f6ffbefSDamjan 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))) 1997f6ffbefSDamjan Jovanovic 2007f6ffbefSDamjan Jovanovic$(eval $(call gb_Library_add_generated_cobject,i18npool,CustomTarget/i18npool/source/breakiterator/data/OpenOffice_dat)) 2017f6ffbefSDamjan Jovanovic 2027f6ffbefSDamjan Jovanovic# vim: set noet sw=4 ts=4: 2037f6ffbefSDamjan Jovanovic 204