1
2PACKAGE=	locales
3FILESGROUPS=	FILES ALWAYS
4ALWAYSPACKAGE=	runtime
5LOCALEDIR=	${SHAREDIR}/locale
6FILESNAME=	LC_CTYPE
7ALWAYSNAME=	LC_CTYPE
8.SUFFIXES:	.src .LC_CTYPE
9MAPLOC=		${.CURDIR}/../../tools/tools/locale/etc/final-maps
10
11.include <bsd.endian.mk>
12.include <src.opts.mk>
13
14.src.LC_CTYPE:
15	localedef ${LOCALEDEF_ENDIAN} -D -U -c -w ${MAPLOC}/widths.txt \
16	-f ${MAPLOC}/map.${.IMPSRC:T:R:E} \
17	-i ${.IMPSRC} ${.OBJDIR}/${.IMPSRC:T:R}  || true
18
19LOCALES+=	C.UTF-8
20.if ${MK_LOCALES} != no
21LOCALES+=	be_BY.CP1131
22LOCALES+=	ca_IT.ISO8859-1
23LOCALES+=	ca_IT.ISO8859-15
24LOCALES+=	el_GR.ISO8859-7
25LOCALES+=	en_US.ISO8859-1
26LOCALES+=	en_US.ISO8859-15
27LOCALES+=	en_US.US-ASCII
28LOCALES+=	hi_IN.ISCII-DEV
29LOCALES+=	hy_AM.ARMSCII-8
30LOCALES+=	ja_JP.SJIS
31LOCALES+=	ja_JP.eucJP
32LOCALES+=	ko_KR.eucKR
33LOCALES+=	lv_LV.ISO8859-13
34LOCALES+=	ru_RU.CP1251
35LOCALES+=	ru_RU.CP866
36LOCALES+=	ru_RU.ISO8859-5
37LOCALES+=	ru_RU.KOI8-R
38LOCALES+=	sr_RS.ISO8859-2
39LOCALES+=	tr_TR.ISO8859-9
40LOCALES+=	uk_UA.CP1251
41LOCALES+=	uk_UA.ISO8859-5
42LOCALES+=	uk_UA.KOI8-U
43LOCALES+=	zh_CN.GB18030
44LOCALES+=	zh_CN.GB2312
45LOCALES+=	zh_CN.GBK
46LOCALES+=	zh_CN.eucCN
47LOCALES+=	zh_TW.Big5
48
49SAME+=		C.UTF-8 en_US.UTF-8
50SAME+=		C.UTF-8 ru_RU.UTF-8
51SAME+=		C.UTF-8 zh_TW.UTF-8
52SAME+=		C.UTF-8 zh_HK.UTF-8
53SAME+=		C.UTF-8 zh_CN.UTF-8
54SAME+=		C.UTF-8 uk_UA.UTF-8
55SAME+=		C.UTF-8 tr_TR.UTF-8
56SAME+=		C.UTF-8 sv_SE.UTF-8
57SAME+=		C.UTF-8 sv_FI.UTF-8
58SAME+=		C.UTF-8 sr_RS.UTF-8@latin
59SAME+=		C.UTF-8 sr_RS.UTF-8
60SAME+=		C.UTF-8 sl_SI.UTF-8
61SAME+=		C.UTF-8 sk_SK.UTF-8
62SAME+=		C.UTF-8 se_NO.UTF-8
63SAME+=		C.UTF-8 se_FI.UTF-8
64SAME+=		C.UTF-8 ro_RO.UTF-8
65SAME+=		C.UTF-8 pt_PT.UTF-8
66SAME+=		C.UTF-8 pt_BR.UTF-8
67SAME+=		C.UTF-8 pl_PL.UTF-8
68SAME+=		C.UTF-8 nn_NO.UTF-8
69SAME+=		C.UTF-8 nl_NL.UTF-8
70SAME+=		C.UTF-8 nl_BE.UTF-8
71SAME+=		C.UTF-8 nb_NO.UTF-8
72SAME+=		C.UTF-8 mn_MN.UTF-8
73SAME+=		C.UTF-8 lv_LV.UTF-8
74SAME+=		C.UTF-8 lt_LT.UTF-8
75SAME+=		C.UTF-8 ko_KR.UTF-8
76SAME+=		C.UTF-8 kk_KZ.UTF-8
77SAME+=		C.UTF-8 ja_JP.UTF-8
78SAME+=		C.UTF-8 it_IT.UTF-8
79SAME+=		C.UTF-8 it_CH.UTF-8
80SAME+=		C.UTF-8 is_IS.UTF-8
81SAME+=		C.UTF-8 hy_AM.UTF-8
82SAME+=		C.UTF-8 hu_HU.UTF-8
83SAME+=		C.UTF-8 hr_HR.UTF-8
84SAME+=		C.UTF-8 hi_IN.UTF-8
85SAME+=		C.UTF-8 he_IL.UTF-8
86SAME+=		C.UTF-8 ga_IE.UTF-8
87SAME+=		C.UTF-8 fa_AF.UTF-8
88SAME+=		C.UTF-8 fa_IR.UTF-8
89SAME+=		C.UTF-8 fr_FR.UTF-8
90SAME+=		C.UTF-8 fr_CH.UTF-8
91SAME+=		C.UTF-8 fr_CA.UTF-8
92SAME+=		C.UTF-8 fr_BE.UTF-8
93SAME+=		C.UTF-8 fi_FI.UTF-8
94SAME+=		C.UTF-8 eu_ES.UTF-8
95SAME+=		C.UTF-8 et_EE.UTF-8
96SAME+=		C.UTF-8 es_MX.UTF-8
97SAME+=		C.UTF-8 es_ES.UTF-8
98SAME+=		C.UTF-8 es_CR.UTF-8
99SAME+=		C.UTF-8 es_AR.UTF-8
100SAME+=		C.UTF-8 en_ZA.UTF-8
101SAME+=		C.UTF-8 en_SG.UTF-8
102SAME+=		C.UTF-8 en_PH.UTF-8
103SAME+=		C.UTF-8 en_NZ.UTF-8
104SAME+=		C.UTF-8 en_IE.UTF-8
105SAME+=		C.UTF-8 en_HK.UTF-8
106SAME+=		C.UTF-8 en_GB.UTF-8
107SAME+=		C.UTF-8 en_CA.UTF-8
108SAME+=		C.UTF-8 en_AU.UTF-8
109SAME+=		C.UTF-8 el_GR.UTF-8
110SAME+=		C.UTF-8 de_DE.UTF-8
111SAME+=		C.UTF-8 de_CH.UTF-8
112SAME+=		C.UTF-8 de_AT.UTF-8
113SAME+=		C.UTF-8 da_DK.UTF-8
114SAME+=		C.UTF-8 cs_CZ.UTF-8
115SAME+=		C.UTF-8 ca_IT.UTF-8
116SAME+=		C.UTF-8 ca_FR.UTF-8
117SAME+=		C.UTF-8 ca_ES.UTF-8
118SAME+=		C.UTF-8 ca_AD.UTF-8
119SAME+=		C.UTF-8 bg_BG.UTF-8
120SAME+=		C.UTF-8 be_BY.UTF-8
121SAME+=		C.UTF-8 ar_SA.UTF-8
122SAME+=		C.UTF-8 ar_QA.UTF-8
123SAME+=		C.UTF-8 ar_MA.UTF-8
124SAME+=		C.UTF-8 ar_JO.UTF-8
125SAME+=		C.UTF-8 ar_EG.UTF-8
126SAME+=		C.UTF-8 ar_AE.UTF-8
127SAME+=		C.UTF-8 am_ET.UTF-8
128SAME+=		C.UTF-8 af_ZA.UTF-8
129SAME+=		en_US.ISO8859-1 sv_SE.ISO8859-1
130SAME+=		en_US.ISO8859-1 sv_FI.ISO8859-1
131SAME+=		en_US.ISO8859-1 pt_PT.ISO8859-1
132SAME+=		en_US.ISO8859-1 pt_BR.ISO8859-1
133SAME+=		en_US.ISO8859-1 nn_NO.ISO8859-1
134SAME+=		en_US.ISO8859-1 nl_NL.ISO8859-1
135SAME+=		en_US.ISO8859-1 nl_BE.ISO8859-1
136SAME+=		en_US.ISO8859-1 nb_NO.ISO8859-1
137SAME+=		en_US.ISO8859-1 it_IT.ISO8859-1
138SAME+=		en_US.ISO8859-1 it_CH.ISO8859-1
139SAME+=		en_US.ISO8859-1 is_IS.ISO8859-1
140SAME+=		en_US.ISO8859-1 fr_FR.ISO8859-1
141SAME+=		en_US.ISO8859-1 fr_CH.ISO8859-1
142SAME+=		en_US.ISO8859-1 fr_CA.ISO8859-1
143SAME+=		en_US.ISO8859-1 fr_BE.ISO8859-1
144SAME+=		en_US.ISO8859-1 fi_FI.ISO8859-1
145SAME+=		en_US.ISO8859-1 eu_ES.ISO8859-1
146SAME+=		en_US.ISO8859-1 et_EE.ISO8859-1
147SAME+=		en_US.ISO8859-1 es_MX.ISO8859-1
148SAME+=		en_US.ISO8859-1 es_ES.ISO8859-1
149SAME+=		en_US.ISO8859-1 es_AR.ISO8859-1
150SAME+=		en_US.ISO8859-1 en_ZA.ISO8859-1
151SAME+=		en_US.ISO8859-1 en_SG.ISO8859-1
152SAME+=		en_US.ISO8859-1 en_NZ.ISO8859-1
153SAME+=		en_US.ISO8859-1 en_IE.ISO8859-1
154SAME+=		en_US.ISO8859-1 en_HK.ISO8859-1
155SAME+=		en_US.ISO8859-1 en_GB.ISO8859-1
156SAME+=		en_US.ISO8859-1 en_CA.ISO8859-1
157SAME+=		en_US.ISO8859-1 en_AU.ISO8859-1
158SAME+=		en_US.ISO8859-1 de_DE.ISO8859-1
159SAME+=		en_US.ISO8859-1 de_CH.ISO8859-1
160SAME+=		en_US.ISO8859-1 de_AT.ISO8859-1
161SAME+=		en_US.ISO8859-1 da_DK.ISO8859-1
162SAME+=		en_US.ISO8859-1 af_ZA.ISO8859-1
163SAME+=		en_US.ISO8859-15 en_GB.ISO8859-15
164SAME+=		en_US.ISO8859-15 sv_SE.ISO8859-15
165SAME+=		en_US.ISO8859-15 sv_FI.ISO8859-15
166SAME+=		en_US.ISO8859-15 pt_PT.ISO8859-15
167SAME+=		en_US.ISO8859-15 nn_NO.ISO8859-15
168SAME+=		en_US.ISO8859-15 nl_NL.ISO8859-15
169SAME+=		en_US.ISO8859-15 nl_BE.ISO8859-15
170SAME+=		en_US.ISO8859-15 nb_NO.ISO8859-15
171SAME+=		en_US.ISO8859-15 it_IT.ISO8859-15
172SAME+=		en_US.ISO8859-15 it_CH.ISO8859-15
173SAME+=		en_US.ISO8859-15 is_IS.ISO8859-15
174SAME+=		en_US.ISO8859-15 fr_FR.ISO8859-15
175SAME+=		en_US.ISO8859-15 fr_CH.ISO8859-15
176SAME+=		en_US.ISO8859-15 fr_CA.ISO8859-15
177SAME+=		en_US.ISO8859-15 fr_BE.ISO8859-15
178SAME+=		en_US.ISO8859-15 fi_FI.ISO8859-15
179SAME+=		en_US.ISO8859-15 eu_ES.ISO8859-15
180SAME+=		en_US.ISO8859-15 et_EE.ISO8859-15
181SAME+=		en_US.ISO8859-15 es_ES.ISO8859-15
182SAME+=		en_US.ISO8859-15 en_ZA.ISO8859-15
183SAME+=		en_US.ISO8859-15 en_NZ.ISO8859-15
184SAME+=		en_US.ISO8859-15 en_IE.ISO8859-15
185SAME+=		en_US.ISO8859-15 en_CA.ISO8859-15
186SAME+=		en_US.ISO8859-15 en_AU.ISO8859-15
187SAME+=		en_US.ISO8859-15 de_DE.ISO8859-15
188SAME+=		en_US.ISO8859-15 de_CH.ISO8859-15
189SAME+=		en_US.ISO8859-15 de_AT.ISO8859-15
190SAME+=		en_US.ISO8859-15 da_DK.ISO8859-15
191SAME+=		en_US.ISO8859-15 af_ZA.ISO8859-15
192SAME+=		ru_RU.CP1251 bg_BG.CP1251
193SAME+=		ru_RU.CP1251 be_BY.CP1251
194SAME+=		ru_RU.ISO8859-5 sr_RS.ISO8859-5
195SAME+=		ru_RU.ISO8859-5 be_BY.ISO8859-5
196SAME+=		ca_IT.ISO8859-1 ca_FR.ISO8859-1
197SAME+=		ca_IT.ISO8859-1 ca_ES.ISO8859-1
198SAME+=		ca_IT.ISO8859-1 ca_AD.ISO8859-1
199SAME+=		ca_IT.ISO8859-15 ca_FR.ISO8859-15
200SAME+=		ca_IT.ISO8859-15 ca_ES.ISO8859-15
201SAME+=		ca_IT.ISO8859-15 ca_AD.ISO8859-15
202SAME+=		sr_RS.ISO8859-2 sl_SI.ISO8859-2
203SAME+=		sr_RS.ISO8859-2 sk_SK.ISO8859-2
204SAME+=		sr_RS.ISO8859-2 ro_RO.ISO8859-2
205SAME+=		sr_RS.ISO8859-2 pl_PL.ISO8859-2
206SAME+=		sr_RS.ISO8859-2 hu_HU.ISO8859-2
207SAME+=		sr_RS.ISO8859-2 hr_HR.ISO8859-2
208SAME+=		sr_RS.ISO8859-2 cs_CZ.ISO8859-2
209SAME+=		en_US.US-ASCII en_ZA.US-ASCII
210SAME+=		en_US.US-ASCII en_NZ.US-ASCII
211SAME+=		en_US.US-ASCII en_GB.US-ASCII
212SAME+=		en_US.US-ASCII en_CA.US-ASCII
213SAME+=		en_US.US-ASCII en_AU.US-ASCII
214SAME+=		lv_LV.ISO8859-13 lt_LT.ISO8859-13
215SAME+=		ko_KR.eucKR ko_KR.CP949	# legacy (same charset)
216.endif
217
218# C.UTF-8 is the default locale, so it should always been installed.
219ALWAYS=		C.UTF-8.LC_CTYPE
220FILES=		${LOCALES:NC.UTF-8:C/.+$/&.LC_CTYPE/}
221CLEANFILES=	${FILES}
222
223.for f t in ${SAME}
224DIRS+=	LOCALEDIR_$t
225LOCALEDIR_$t=	${LOCALEDIR}/$t
226LOCALEDIR_$tPACKAGE=	locales
227SYMLINKS+=	../$f/${FILESNAME} \
228    ${LOCALEDIR}/$t/${FILESNAME}
229.endfor
230
231.for f in ${LOCALES}
232FILESDIR_${f}.LC_CTYPE= ${LOCALEDIR}/${f}
233FILESDIR_${f}.LC_CTYPEPACKAGE=	locales
234.endfor
235ALWAYSDIR_C.UTF-8.LC_CTYPE= ${LOCALEDIR}/C.UTF-8
236
237SYMPAIRS+=	zh_CN.eucCN.src zh_CN.GB18030.src
238SYMPAIRS+=	zh_CN.eucCN.src zh_CN.GB2312.src
239SYMPAIRS+=	zh_CN.eucCN.src zh_CN.GBK.src
240SYMPAIRS+=	en_US.ISO8859-1.src en_US.ISO8859-15.src
241SYMPAIRS+=	en_US.ISO8859-1.src en_US.US-ASCII.src
242SYMPAIRS+=	en_US.ISO8859-1.src lv_LV.ISO8859-13.src
243SYMPAIRS+=	en_US.ISO8859-1.src sr_RS.ISO8859-2.src
244SYMPAIRS+=	en_US.ISO8859-1.src tr_TR.ISO8859-9.src
245SYMPAIRS+=	ca_IT.ISO8859-1.src ca_IT.ISO8859-15.src
246SYMPAIRS+=	uk_UA.CP1251.src uk_UA.ISO8859-5.src
247SYMPAIRS+=	uk_UA.CP1251.src uk_UA.KOI8-U.src
248SYMPAIRS+=	ja_JP.eucJP.src ja_JP.SJIS.src
249SYMPAIRS+=	be_BY.CP1131.src ru_RU.CP1251.src
250SYMPAIRS+=	be_BY.CP1131.src ru_RU.CP866.src
251SYMPAIRS+=	be_BY.CP1131.src ru_RU.ISO8859-5.src
252SYMPAIRS+=	be_BY.CP1131.src ru_RU.KOI8-R.src
253
254.for s t in ${SYMPAIRS}
255${t:S/src$/LC_CTYPE/}: $s
256	localedef ${LOCALEDEF_ENDIAN} -D -U -c -w ${MAPLOC}/widths.txt \
257	-f ${MAPLOC}/map.${.TARGET:T:R:C/^.*\.//} \
258	-i ${.ALLSRC} ${.OBJDIR}/${.TARGET:T:R}  || true
259.endfor
260
261.include <bsd.prog.mk>
262