~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to m4/character_sets.m4

  • Committer: Monty Taylor
  • Date: 2008-09-13 20:24:20 UTC
  • mfrom: (383.1.35 drizzle)
  • Revision ID: monty@inaugust.com-20080913202420-lkj76ewbabl8ljvp
MergedĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
   [default_collation="$withval"],
27
27
   [default_collation="default"])
28
28
 
29
 
 
30
 
AC_ARG_WITH(extra-charsets,
31
 
  [  --with-extra-charsets=CHARSET[,CHARSET,...]
32
 
                          Use charsets in addition to default (none, complex,
33
 
                          all, or a list selected from the above sets)],
34
 
  [extra_charsets="$withval"],
35
 
  [extra_charsets="none"])
36
 
 
37
 
 
38
29
AC_MSG_CHECKING("character sets")
39
30
 
40
 
CHARSETS="$default_charset latin1 utf8 utf8mb3"
41
 
 
42
 
if test "$extra_charsets" = no; then
43
 
  CHARSETS="$CHARSETS"
44
 
elif test "$extra_charsets" = none; then
45
 
  CHARSETS="$CHARSETS"
46
 
elif test "$extra_charsets" = complex; then
47
 
  CHARSETS="$CHARSETS $CHARSETS_COMPLEX"
48
 
  AC_DEFINE([DEFINE_ALL_CHARACTER_SETS],1,[all charsets are available])
49
 
elif test "$extra_charsets" = all; then
50
 
  CHARSETS="$CHARSETS $CHARSETS_AVAILABLE"
51
 
  AC_DEFINE([DEFINE_ALL_CHARACTER_SETS],1,[all charsets are available])
52
 
else
53
 
  EXTRA_CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'`
54
 
  CHARSETS="$CHARSETS $EXTRA_CHARSETS"
55
 
fi
 
31
CHARSETS="$default_charset utf8 utf8mb3"
56
32
 
57
33
for cs in $CHARSETS
58
34
do
59
35
  case $cs in 
60
 
    armscii8)
61
 
      AC_DEFINE(HAVE_CHARSET_armscii8, 1,
62
 
                [Define to enable charset armscii8])
63
 
      ;;
64
 
    ascii)
65
 
      AC_DEFINE(HAVE_CHARSET_ascii, 1,
66
 
                [Define to enable ascii character set])
67
 
      ;;
68
 
    big5)
69
 
      AC_DEFINE(HAVE_CHARSET_big5, 1, [Define to enable charset big5])
70
 
      AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
 
36
    binary)
 
37
      ;;
 
38
    utf8)
 
39
      AC_DEFINE(HAVE_CHARSET_utf8mb4, 1, [Define to enable ut8])
 
40
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
71
41
      AC_DEFINE(USE_MB_IDENT, [1], [ ])
72
42
      ;;
73
 
    binary)
74
 
      ;;
75
 
    cp1250)
76
 
      AC_DEFINE(HAVE_CHARSET_cp1250, 1, [Define to enable cp1250])
77
 
      ;;
78
 
    cp1251)
79
 
      AC_DEFINE(HAVE_CHARSET_cp1251, 1, [Define to enable charset cp1251])
80
 
      ;;
81
 
    cp1256)
82
 
      AC_DEFINE(HAVE_CHARSET_cp1256, 1, [Define to enable charset cp1256])
83
 
      ;;
84
 
    cp1257)
85
 
      AC_DEFINE(HAVE_CHARSET_cp1257, 1, [Define to enable charset cp1257])
86
 
      ;;
87
 
    cp850)
88
 
      AC_DEFINE(HAVE_CHARSET_cp850, 1, [Define to enable charset cp850])
89
 
      ;;
90
 
    cp852)
91
 
      AC_DEFINE(HAVE_CHARSET_cp852, 1, [Define to enable charset cp852])
92
 
      ;;
93
 
    cp866)
94
 
      AC_DEFINE(HAVE_CHARSET_cp866, 1, [Define to enable charset cp866])
95
 
      ;;
96
 
    cp932)
97
 
      AC_DEFINE(HAVE_CHARSET_cp932, 1, [Define to enable charset cp932])
98
 
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
99
 
      AC_DEFINE(USE_MB_IDENT, 1)
100
 
      ;;
101
 
    dec8)
102
 
      AC_DEFINE(HAVE_CHARSET_dec8, 1, [Define to enable charset dec8])
103
 
      ;;
104
 
    eucjpms)
105
 
      AC_DEFINE(HAVE_CHARSET_eucjpms, 1, [Define to enable charset eucjpms])
106
 
      AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
107
 
      AC_DEFINE(USE_MB_IDENT, 1)
108
 
      ;;
109
 
    euckr)
110
 
      AC_DEFINE(HAVE_CHARSET_euckr, 1, [Define to enable charset euckr])
111
 
      AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
112
 
      AC_DEFINE(USE_MB_IDENT, 1)
113
 
      ;;
114
 
    gb2312)
115
 
      AC_DEFINE(HAVE_CHARSET_gb2312, 1, [Define to enable charset gb2312])
116
 
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
117
 
      AC_DEFINE(USE_MB_IDENT, 1)
118
 
      ;;
119
 
    gbk)
120
 
      AC_DEFINE(HAVE_CHARSET_gbk, 1, [Define to enable charset gbk])
121
 
      AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
122
 
      AC_DEFINE(USE_MB_IDENT, 1)
123
 
      ;;
124
 
    geostd8)
125
 
      AC_DEFINE(HAVE_CHARSET_geostd8, 1, [Define to enable charset geostd8])
126
 
      ;;
127
 
    greek)
128
 
      AC_DEFINE(HAVE_CHARSET_greek, 1, [Define to enable charset greek])
129
 
      ;;
130
 
    hebrew)
131
 
      AC_DEFINE(HAVE_CHARSET_hebrew, 1, [Define to enable charset hebrew])
132
 
      ;;
133
 
    hp8)
134
 
      AC_DEFINE(HAVE_CHARSET_hp8, 1, [Define to enable charset hp8])
135
 
      ;;
136
 
    keybcs2)
137
 
      AC_DEFINE(HAVE_CHARSET_keybcs2, 1, [Define to enable charset keybcs2])
138
 
      ;;
139
 
    koi8r)
140
 
      AC_DEFINE(HAVE_CHARSET_koi8r, 1, [Define to enable charset koi8r])
141
 
      ;;
142
 
    koi8u)
143
 
      AC_DEFINE(HAVE_CHARSET_koi8u, 1, [Define to enable charset koi8u])
144
 
      ;;
145
 
    latin1)
146
 
      AC_DEFINE(HAVE_CHARSET_latin1, 1, [Define to enable charset latin1])
147
 
      ;;
148
 
    latin2)
149
 
      AC_DEFINE(HAVE_CHARSET_latin2, 1, [Define to enable charset latin2])
150
 
      ;;
151
 
    latin5)
152
 
      AC_DEFINE(HAVE_CHARSET_latin5, 1, [Define to enable charset latin5])
153
 
      ;;
154
 
    latin7)
155
 
      AC_DEFINE(HAVE_CHARSET_latin7, 1, [Define to enable charset latin7])
156
 
      ;;
157
 
    macce)
158
 
      AC_DEFINE(HAVE_CHARSET_macce, 1, [Define to enable charset macce])
159
 
      ;;
160
 
    macroman)
161
 
      AC_DEFINE(HAVE_CHARSET_macroman, 1,
162
 
                [Define to enable charset macroman])
163
 
      ;;
164
 
    sjis)
165
 
      AC_DEFINE(HAVE_CHARSET_sjis, 1, [Define to enable charset sjis])
166
 
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
167
 
      AC_DEFINE(USE_MB_IDENT, 1)
168
 
      ;;
169
 
    swe7)
170
 
      AC_DEFINE(HAVE_CHARSET_swe7, 1, [Define to enable charset swe7])
171
 
      ;;
172
 
    tis620)
173
 
      AC_DEFINE(HAVE_CHARSET_tis620, 1, [Define to enable charset tis620])
174
 
      ;;
175
 
    ucs2)
176
 
      AC_DEFINE(HAVE_CHARSET_ucs2, 1, [Define to enable charset ucs2])
177
 
      AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
178
 
      AC_DEFINE(USE_MB_IDENT, 1)
179
 
      ;;
180
 
    ujis)
181
 
      AC_DEFINE(HAVE_CHARSET_ujis, 1, [Define to enable charset ujis])
182
 
      AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
183
 
      AC_DEFINE(USE_MB_IDENT, 1)
184
 
      ;;
185
 
    utf8)
186
 
      AC_DEFINE(HAVE_CHARSET_utf8mb4, 1, [Define to enable ut8])
187
 
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
188
 
      AC_DEFINE(USE_MB_IDENT, 1)
189
 
      ;;
190
43
    utf8mb3)
191
44
      AC_DEFINE(HAVE_CHARSET_utf8mb3, 1, [Define to enable ut8])
192
45
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
193
46
      AC_DEFINE(USE_MB_IDENT, 1)
194
47
      ;;
195
 
    utf16)
196
 
      AC_DEFINE(HAVE_CHARSET_utf16, 1, [Define to enable utf16])
197
 
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
198
 
      AC_DEFINE(USE_MB_IDENT, 1)
199
 
      ;;
200
 
    utf32)
201
 
      AC_DEFINE(HAVE_CHARSET_utf32, 1, [Define to enable utf32])
202
 
      AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
203
 
      AC_DEFINE(USE_MB_IDENT, 1)
204
 
      ;;
205
48
    *)
206
49
      AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE).
207
50
      See the Installation chapter in the Reference Manual.])
212
55
      default_charset_collations=""
213
56
 
214
57
case $default_charset in 
215
 
    armscii8)
216
 
      default_charset_default_collation="armscii8_general_ci"
217
 
      default_charset_collations="armscii8_general_ci armscii8_bin"
218
 
      ;;
219
 
    ascii)
220
 
      default_charset_default_collation="ascii_general_ci"
221
 
      default_charset_collations="ascii_general_ci ascii_bin"
222
 
      ;;
223
 
    big5)
224
 
      default_charset_default_collation="big5_chinese_ci"
225
 
      default_charset_collations="big5_chinese_ci big5_bin"
226
 
      ;;
227
 
    binary)
228
 
      default_charset_default_collation="binary"
229
 
      default_charset_collations="binary"
230
 
      ;;
231
 
    cp1250)
232
 
      default_charset_default_collation="cp1250_general_ci"
233
 
      default_charset_collations="cp1250_general_ci cp1250_czech_cs cp1250_bin"
234
 
      ;;
235
 
    cp1251)
236
 
      default_charset_default_collation="cp1251_general_ci"
237
 
      default_charset_collations="cp1251_general_ci cp1251_general_cs cp1251_bin cp1251_bulgarian_ci cp1251_ukrainian_ci"
238
 
      ;;
239
 
    cp1256)
240
 
      default_charset_default_collation="cp1256_general_ci"
241
 
      default_charset_collations="cp1256_general_ci cp1256_bin"
242
 
      ;;
243
 
    cp1257)
244
 
      default_charset_default_collation="cp1257_general_ci"
245
 
      default_charset_collations="cp1257_general_ci cp1257_lithuanian_ci cp1257_bin"
246
 
      ;;
247
 
    cp850)
248
 
      default_charset_default_collation="cp850_general_ci"
249
 
      default_charset_collations="cp850_general_ci cp850_bin"
250
 
      ;;
251
 
    cp852)
252
 
      default_charset_default_collation="cp852_general_ci"
253
 
      default_charset_collations="cp852_general_ci cp852_bin"
254
 
      ;;
255
 
    cp866)
256
 
      default_charset_default_collation="cp866_general_ci"
257
 
      default_charset_collations="cp866_general_ci cp866_bin"
258
 
      ;;
259
 
    cp932)
260
 
      default_charset_default_collation="cp932_japanese_ci"
261
 
      default_charset_collations="cp932_japanese_ci cp932_bin"
262
 
      ;;
263
 
    dec8)
264
 
      default_charset_default_collation="dec8_swedish_ci"
265
 
      default_charset_collations="dec8_swedish_ci dec8_bin"
266
 
      ;;
267
 
    eucjpms)
268
 
      default_charset_default_collation="eucjpms_japanese_ci"
269
 
      default_charset_collations="eucjpms_japanese_ci ujis_bin"
270
 
      ;;
271
 
    euckr)
272
 
      default_charset_default_collation="euckr_korean_ci"
273
 
      default_charset_collations="euckr_korean_ci euckr_bin"
274
 
      ;;
275
 
    gb2312)
276
 
      default_charset_default_collation="gb2312_chinese_ci"
277
 
      default_charset_collations="gb2312_chinese_ci gb2312_bin"
278
 
      ;;
279
 
    gbk)
280
 
      default_charset_default_collation="gbk_chinese_ci"
281
 
      default_charset_collations="gbk_chinese_ci gbk_bin"
282
 
      ;;
283
 
    geostd8)
284
 
      default_charset_default_collation="geostd8_general_ci"
285
 
      default_charset_collations="geostd8_general_ci geostd8_bin"
286
 
      ;;
287
 
    greek)
288
 
      default_charset_default_collation="greek_general_ci"
289
 
      default_charset_collations="greek_general_ci greek_bin"
290
 
      ;;
291
 
    hebrew)
292
 
      default_charset_default_collation="hebrew_general_ci"
293
 
      default_charset_collations="hebrew_general_ci hebrew_bin"
294
 
      ;;
295
 
    hp8)
296
 
      default_charset_default_collation="hp8_english_ci"
297
 
      default_charset_collations="hp8_english_ci hp8_bin"
298
 
      ;;
299
 
    keybcs2)
300
 
      default_charset_default_collation="keybcs2_general_ci"
301
 
      default_charset_collations="keybcs2_general_ci keybcs2_bin"
302
 
      ;;
303
 
    koi8r)
304
 
      default_charset_default_collation="koi8r_general_ci"
305
 
      default_charset_collations="koi8r_general_ci koi8r_bin"
306
 
      ;;
307
 
    koi8u)
308
 
      default_charset_default_collation="koi8u_general_ci"
309
 
      default_charset_collations="koi8u_general_ci koi8u_bin"
310
 
      ;;
311
 
    latin1)
312
 
      default_charset_default_collation="latin1_swedish_ci"
313
 
      default_charset_collations="latin1_general_ci latin1_general_cs latin1_bin latin1_german1_ci latin1_german2_ci latin1_danish_ci latin1_spanish_ci latin1_swedish_ci"
314
 
      ;;
315
 
    latin2)
316
 
      default_charset_default_collation="latin2_general_ci"
317
 
      default_charset_collations="latin2_general_ci latin2_bin latin2_czech_cs latin2_hungarian_ci latin2_croatian_ci"
318
 
      ;;
319
 
    latin5)
320
 
      default_charset_default_collation="latin5_turkish_ci"
321
 
      default_charset_collations="latin5_turkish_ci latin5_bin"
322
 
      ;;
323
 
    latin7)
324
 
      default_charset_default_collation="latin7_general_ci"
325
 
      default_charset_collations="latin7_general_ci latin7_general_cs latin7_bin latin7_estonian_cs"
326
 
      ;;
327
 
    macce)
328
 
      default_charset_default_collation="macce_general_ci"
329
 
      default_charset_collations="macce_general_ci macce_bin"
330
 
      ;;
331
 
    macroman)
332
 
      default_charset_default_collation="macroman_general_ci"
333
 
      default_charset_collations="macroman_general_ci macroman_bin"
334
 
      ;;
335
 
    sjis)
336
 
      default_charset_default_collation="sjis_japanese_ci"
337
 
      default_charset_collations="sjis_japanese_ci sjis_bin"
338
 
      ;;
339
 
    swe7)
340
 
      default_charset_default_collation="swe7_swedish_ci"
341
 
      default_charset_collations="swe7_swedish_ci swe7_bin"
342
 
      ;;
343
 
    tis620)
344
 
      default_charset_default_collation="tis620_thai_ci"
345
 
      default_charset_collations="tis620_thai_ci tis620_bin"
346
 
      ;;
347
 
    ucs2)
348
 
      default_charset_default_collation="ucs2_general_ci"
349
 
      define(UCSC1, ucs2_general_ci ucs2_bin)
350
 
      define(UCSC2, ucs2_czech_ci ucs2_danish_ci)
351
 
      define(UCSC3, ucs2_esperanto_ci ucs2_estonian_ci ucs2_icelandic_ci)
352
 
      define(UCSC4, ucs2_latvian_ci ucs2_lithuanian_ci)
353
 
      define(UCSC5, ucs2_persian_ci ucs2_polish_ci ucs2_romanian_ci)
354
 
      define(UCSC6, ucs2_sinhala_ci ucs2_slovak_ci ucs2_slovenian_ci)
355
 
      define(UCSC7, ucs2_spanish2_ci ucs2_spanish_ci)
356
 
      define(UCSC8, ucs2_swedish_ci ucs2_turkish_ci)
357
 
      define(UCSC9, ucs2_unicode_ci)
358
 
      UCSC="UCSC1 UCSC2 UCSC3 UCSC4 UCSC5 UCSC6 UCSC7 UCSC8 UCSC9"
359
 
      default_charset_collations="$UCSC"
360
 
      ;;
361
 
    ujis)
362
 
      default_charset_default_collation="ujis_japanese_ci"
363
 
      default_charset_collations="ujis_japanese_ci ujis_bin"
364
 
      ;;
365
58
    utf8)
366
59
      default_charset_default_collation="utf8_general_ci"
367
60
      define(UTFC1, utf8_general_ci utf8_bin)
397
90
      fi
398
91
      default_charset_collations="$UTFC"
399
92
      ;;
400
 
    utf16)
401
 
      default_charset_default_collation="utf16_general_ci"
402
 
      define(UTFC1, utf16_general_ci utf16_bin)
403
 
      define(UTFC2, utf16_czech_ci utf16_danish_ci)
404
 
      define(UTFC3, utf16_esperanto_ci utf16_estonian_ci utf16_icelandic_ci)
405
 
      define(UTFC4, utf16_latvian_ci utf16_lithuanian_ci)
406
 
      define(UTFC5, utf16_persian_ci utf16_polish_ci utf16_romanian_ci)
407
 
      define(UTFC6, utf16_sinhala_ci utf16_slovak_ci utf16_slovenian_ci)
408
 
      define(UTFC7, utf16_spanish2_ci utf16_spanish_ci)
409
 
      define(UTFC8, utf16_swedish_ci utf16_turkish_ci)
410
 
      define(UTFC9, utf16_unicode_ci)
411
 
      UTFC="UTFC1 UTFC2 UTFC3 UTFC4 UTFC5 UTFC6 UTFC7 UTFC8 UTFC9"
412
 
      default_charset_collations="$UTFC"
413
 
      ;;
414
 
    utf32)
415
 
      default_charset_default_collation="utf32_general_ci"
416
 
      define(UTFC1, utf32_general_ci utf32_bin)
417
 
      define(UTFC2, utf32_czech_ci utf32_danish_ci)
418
 
      define(UTFC3, utf32_esperanto_ci utf32_estonian_ci utf32_icelandic_ci)
419
 
      define(UTFC4, utf32_latvian_ci utf32_lithuanian_ci)
420
 
      define(UTFC5, utf32_persian_ci utf32_polish_ci utf32_romanian_ci)
421
 
      define(UTFC6, utf32_sinhala_ci utf32_slovak_ci utf32_slovenian_ci)
422
 
      define(UTFC7, utf32_spanish2_ci utf32_spanish_ci)
423
 
      define(UTFC8, utf32_swedish_ci utf32_turkish_ci)
424
 
      define(UTFC9, utf32_unicode_ci)
425
 
      UTFC="UTFC1 UTFC2 UTFC3 UTFC4 UTFC5 UTFC6 UTFC7 UTFC8 UTFC9"
426
 
      default_charset_collations="$UTFC"
427
 
      ;;
428
93
    *)
429
94
      AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE).
430
95
      See the Installation chapter in the Reference Manual.])
459
124
                   [Define the default charset name])
460
125
AC_DEFINE_UNQUOTED([DRIZZLE_DEFAULT_COLLATION_NAME], ["$default_collation"],
461
126
                   [Define the default charset name])
462
 
 
463
 
# Shall we build the UCA-based Unicode collations
464
 
AC_ARG_WITH(uca,
465
 
    [  --without-uca           Skip building of the national Unicode collations.],
466
 
    [with_uca=$withval],
467
 
    [with_uca=yes]
468
 
)
469
 
 
470
 
AC_MSG_CHECKING([whether to compile national Unicode collations])
471
 
 
472
 
if test "$with_uca" = "yes"
473
 
then
474
 
  AC_MSG_RESULT(yes)
475
 
  AC_DEFINE([HAVE_UCA_COLLATIONS], [1], [national Unicode collations])
476
 
else
477
 
  AC_MSG_RESULT(no)
478
 
fi
479
 
 
480
 
 
481
 
# Shall we build experimental collations
482
 
AC_ARG_WITH(experimental-collations,
483
 
    [],
484
 
    [with_exp_coll=$withval],
485
 
    [with_exp_coll=no]
486
 
)
487
 
 
488
 
if test "$with_exp_coll" = "yes"
489
 
then
490
 
  AC_DEFINE([HAVE_UTF8_GENERAL_CS], [1], [certain Japanese customer])
491
 
fi