summaryrefslogtreecommitdiff
path: root/i18npool/meson.build
blob: 0ff1f4e9dbff27b53bc3da196613d0886ba211f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
gendict_bin = executable('gendict',
  'source/breakiterator/gendict.cxx',
  include_directories: [main_inc],
  cpp_args: ['-DLIBO_INTERNAL_ONLY',
             #'-DDICT_JA_ZH_IN_DATAFILE',
             ],
  link_with: sal_lib,
)

saxparser_bin = executable('saxparser',
  'source/localedata/LocaleNode.cxx',
  'source/localedata/filewriter.cxx',
  'source/localedata/saxparser.cxx',
  udk_fake_h, off_fake_h,
  cpp_args: ['-DLIBO_INTERNAL_ONLY'],
  include_directories: [main_inc, udkh_inc, offapi_inc, 'inc'],
  link_with: [cppuhelper_lib, cppu_lib, sal_lib],
  dependencies: [],
  install: true,
)

breakgen = find_program('breakgen.py')

g = generator(breakgen,
              output: '@BASENAME@_brk.c',
              arguments: ['@INPUT@', '@OUTPUT@'])

break_sources = g.process('source/breakiterator/data/char.txt',
                          'source/breakiterator/data/char_in.txt',
                          'source/breakiterator/data/count_word.txt',
                          'source/breakiterator/data/dict_word.txt',
                          'source/breakiterator/data/dict_word_he.txt',
                          'source/breakiterator/data/dict_word_hu.txt',
                          'source/breakiterator/data/dict_word_nodash.txt',
                          'source/breakiterator/data/dict_word_prepostdash.txt',
                          'source/breakiterator/data/edit_word.txt',
                          'source/breakiterator/data/edit_word_he.txt',
                          'source/breakiterator/data/edit_word_hu.txt',
                          'source/breakiterator/data/line.txt',
                          'source/breakiterator/data/sent.txt',
                          )

openoffice_c = custom_target('openoffice.c',
  output: 'OpenOffice_dat.c',
  command: [find_program('oogen.py'),
            '@OUTPUT@',
            '@PRIVATE_DIR@'])

i18npool_lib = shared_library('i18npoollo',
  'source/breakiterator/breakiterator_cjk.cxx',
  'source/breakiterator/breakiteratorImpl.cxx',
  'source/breakiterator/breakiterator_th.cxx',
  'source/breakiterator/breakiterator_unicode.cxx',
  'source/breakiterator/xdictionary.cxx',
  'source/calendar/calendarImpl.cxx',
  'source/calendar/calendar_gregorian.cxx',
  'source/calendar/calendar_hijri.cxx',
  'source/calendar/calendar_jewish.cxx',
  'source/characterclassification/cclass_unicode.cxx',
  'source/characterclassification/cclass_unicode_parser.cxx',
  'source/characterclassification/characterclassificationImpl.cxx',
  'source/characterclassification/unoscripttypedetector.cxx',
  'source/collator/chaptercollator.cxx',
  'source/collator/collatorImpl.cxx',
  'source/collator/collator_unicode.cxx',
  'source/defaultnumberingprovider/defaultnumberingprovider.cxx',
  'source/indexentry/indexentrysupplier.cxx',
  'source/indexentry/indexentrysupplier_asian.cxx',
  'source/indexentry/indexentrysupplier_common.cxx',
  'source/indexentry/indexentrysupplier_default.cxx',
  'source/indexentry/indexentrysupplier_ja_phonetic.cxx',
  'source/inputchecker/inputsequencechecker.cxx',
  'source/inputchecker/inputsequencechecker_hi.cxx',
  'source/inputchecker/inputsequencechecker_th.cxx',
  'source/localedata/localedata.cxx',
  'source/nativenumber/nativenumbersupplier.cxx',
  'source/numberformatcode/numberformatcode.cxx',
  'source/ordinalsuffix/ordinalsuffix.cxx',
  'source/registerservices/registerservices.cxx',
  'source/textconversion/textconversion.cxx',
  'source/textconversion/textconversionImpl.cxx',
  'source/textconversion/textconversion_ko.cxx',
  'source/textconversion/textconversion_zh.cxx',
  'source/transliteration/chartonum.cxx',
  'source/transliteration/fullwidthToHalfwidth.cxx',
  'source/transliteration/halfwidthToFullwidth.cxx',
  'source/transliteration/hiraganaToKatakana.cxx',
  'source/transliteration/ignoreBaFa_ja_JP.cxx',
  'source/transliteration/ignoreHyuByu_ja_JP.cxx',
  'source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx',
  'source/transliteration/ignoreIterationMark_ja_JP.cxx',
  'source/transliteration/ignoreKana.cxx',
  'source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx',
  'source/transliteration/ignoreMiddleDot_ja_JP.cxx',
  'source/transliteration/ignoreMinusSign_ja_JP.cxx',
  'source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx',
  'source/transliteration/ignoreSeparator_ja_JP.cxx',
  'source/transliteration/ignoreSeZe_ja_JP.cxx',
  'source/transliteration/ignoreSize_ja_JP.cxx',
  'source/transliteration/ignoreSpace_ja_JP.cxx',
  'source/transliteration/ignoreTiJi_ja_JP.cxx',
  'source/transliteration/ignoreTraditionalKana_ja_JP.cxx',
  'source/transliteration/ignoreTraditionalKanji_ja_JP.cxx',
  'source/transliteration/ignoreWidth.cxx',
  'source/transliteration/ignoreZiZu_ja_JP.cxx',
  'source/transliteration/ignoreDiacritics_CTL.cxx',
  'source/transliteration/ignoreKashida_CTL.cxx',
  'source/transliteration/katakanaToHiragana.cxx',
  'source/transliteration/largeToSmall_ja_JP.cxx',
  'source/transliteration/numtochar.cxx',
  'source/transliteration/numtotext_cjk.cxx',
  'source/transliteration/smallToLarge_ja_JP.cxx',
  'source/transliteration/texttonum.cxx',
  'source/transliteration/textToPronounce_zh.cxx',
  'source/transliteration/transliteration_body.cxx',
  'source/transliteration/transliteration_caseignore.cxx',
  'source/transliteration/transliteration_commonclass.cxx',
  'source/transliteration/transliteration_Ignore.cxx',
  'source/transliteration/transliterationImpl.cxx',
  'source/transliteration/transliteration_Numeric.cxx',
  'source/transliteration/transliteration_OneToOne.cxx',
  break_sources,
  openoffice_c,
  udk_fake_h, off_fake_h,
  cpp_args: ['-DLIBO_INTERNAL_ONLY'],
  include_directories: [main_inc, udkh_inc, offapi_inc, 'inc'],
  link_with: [comphelper_lib,
    cppu_lib,
    cppuhelper_lib,
    i18nlangtag_lib,
    i18nutil_lib,
    sal_lib,
  ],
  dependencies: [icuuc_dep, icu18_dep],
  gnu_symbol_visibility: 'hidden',
  install: true,
)

localegen = generator(find_program('xmlconvert.py'),
                      output: '@BASENAME@.cxx',
                      arguments: ['@INPUT@', '@OUTPUT@'],
                      depends: [],
                      )

en_locale_sources = localegen.process(
  'source/localedata/data/en_AU.xml',
  'source/localedata/data/en_BW.xml',
  'source/localedata/data/en_BZ.xml',
  'source/localedata/data/en_CA.xml',
  'source/localedata/data/en_GB.xml',
  'source/localedata/data/en_GH.xml',
  'source/localedata/data/en_GM.xml',
  'source/localedata/data/en_IE.xml',
  'source/localedata/data/en_IN.xml',
  'source/localedata/data/en_JM.xml',
  'source/localedata/data/en_LK.xml',
  'source/localedata/data/en_MW.xml',
  'source/localedata/data/en_MY.xml',
  'source/localedata/data/en_NA.xml',
  'source/localedata/data/en_NG.xml',
  'source/localedata/data/en_NZ.xml',
  'source/localedata/data/en_PH.xml',
  'source/localedata/data/en_TT.xml',
  'source/localedata/data/en_US.xml',
  'source/localedata/data/en_ZA.xml',
  'source/localedata/data/en_ZM.xml',
  'source/localedata/data/en_ZW.xml',
)

localedata_en_lib = shared_library('localedata_en',
  en_locale_sources,
  cpp_args: ['-DLIBO_INTERNAL_ONLY'],
  include_directories: [main_inc],
  link_with: [
  ],
  dependencies: [],
  install: true,
)

dict_ja_lib = shared_library('dict_ja',
  custom_target('gen_ja_dict',
    input: ['source/breakiterator/data/ja.dic'],
    output: ['dict_ja.cxx'],
    command: [gendict_bin,
              '@INPUT@',
              '@OUTPUT@',
              'ja'],
  ),
  include_directories: [main_inc],
  gnu_symbol_visibility: 'hidden',
  install: true,
)

dict_zh_lib = shared_library('dict_zh',
  custom_target('gen_zha_dict',
    input: ['source/breakiterator/data/zh.dic'],
    output: ['dict_zh.cxx'],
    command: [gendict_bin,
              '@INPUT@',
              '@OUTPUT@',
              'zh'],
  ),
  include_directories: [main_inc],
  gnu_symbol_visibility: 'hidden',
  install: true,
)

i18nsearch_lib = shared_library('i18nsearchlo',
  'source/search/levdis.cxx',
  'source/search/textsearch.cxx',
  udk_fake_h, off_fake_h,
  cpp_args: ['-DLIBO_INTERNAL_ONLY'],
  include_directories: [main_inc, udkh_inc, offapi_inc, 'inc'],
  link_with: [comphelper_lib,
    cppu_lib,
    cppuhelper_lib,
    sal_lib,
  ],
  dependencies: [icuuc_dep, icu18_dep],
  gnu_symbol_visibility: 'hidden',
  install: true,
)