2 # See https://wiki.freebsd.org/LocaleNewApproach
3 # Taken from FreeBSD svn [base]/user/edwin/locale/cldr
8 # Modified by John Marino to suit DragonFly needs
12 CLDRDIR!= grep ^cldr etc/unicode.conf | cut -f 2 -d " "
14 .if !defined(UNIDATADIR)
15 UNIDATADIR!= grep ^unidata etc/unicode.conf | cut -f 2 -d " "
17 PASSON= CLDRDIR="${CLDRDIR}" UNIDATADIR="${UNIDATADIR}"
19 ETCDIR= ${.CURDIR}/etc
21 KNOWN= monetdef numericdef msgdef colldef ctypedef # timedef
23 LOCALE_DESTDIR?= /tmp/generated-locales/
34 sr_Latn_RS ISO8859-2 \
35 sr_Cyrl_RS ISO8859-5 \
45 .for area enc in ${COLLATION_SPECIAL}
46 COLLATIONS_SPECIAL_ENV+= ${area}.${enc}
48 PASSON+= COLLATIONS_SPECIAL="${COLLATIONS_SPECIAL_ENV}"
55 cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_US.UTF-8.src
58 test -d ${t} || mkdir ${t}
69 rm -rf ${.CURDIR}/${t}.draft
70 rm -rf ${.CURDIR}/../../../share/${t}
71 mv ${.CURDIR}/${t} ${.CURDIR}/../../../share/${t}
78 (cd ${.CURDIR}/../../../share/${t} && \
79 make && make install && make clean)
85 mkdir -p ${t} ${t}.draft
86 perl -I tools tools/cldr2def.pl \
87 --cldr=$$(realpath ${CLDRDIR}) \
88 --unidata=$$(realpath ${UNIDATADIR}) \
89 --etc=$$(realpath ${ETCDIR}) \
93 env ${PASSON} tools/finalize ${t}
96 gen-ctypedef: transfer-rollup
97 static-colldef: gen-colldef
98 build-colldef: static-colldef
101 .for area enc in ${COLLATION_SPECIAL}
102 awk -f tools/extract-colldef.awk ${CLDRDIR}/posix/${area}.${enc}.src > colldef.draft/${area}.${enc}.src
106 cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_US.UTF-8.src
109 perl -I tools tools/utf8-rollup.pl \
110 --cldr=$$(realpath ${CLDRDIR}) \
111 --etc=$$(realpath ${ETCDIR})
115 rm -rf ${t} ${t}.draft
118 BASE_LOCALES_OF_INTEREST?= \
119 af_ZA am_ET ar_AE ar_EG ar_JO ar_MA ar_QA ar_SA \
120 be_BY bg_BG ca_AD ca_ES ca_FR ca_IT \
121 cs_CZ da_DK de_AT de_CH de_DE el_GR en_AU en_CA \
122 en_GB en_HK en_IE en_NZ en_PH en_SG en_US en_ZA \
123 es_AR es_CR es_ES es_MX et_EE eu_ES fi_FI fr_BE \
124 fr_CA fr_CH fr_FR he_IL hi_IN hr_HR hu_HU hy_AM \
125 is_IS it_CH it_IT ja_JP ko_KR lt_LT lv_LV \
126 nb_NO nl_BE nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO \
127 ru_RU se_FI se_NO sk_SK sl_SI sv_FI sv_SE tr_TR \
129 kk_KZ mn_MN sr_Cyrl_RS sr_Latn_RS \
130 zh_Hans_CN zh_Hant_HK zh_Hant_TW \
131 bn_IN gu_IN or_IN ta_IN te_IN kn_IN ml_IN si_LK \
132 th_TH lo_LA bo_IN my_MM pa_Guru_IN ka_GE chr_US \
133 km_KH shi_Tfng_MA ii_CN vai_Vaii_LR vi_VN
160 .if exists (${CLDRDIR}/tools/java/cldr.jar)
161 mkdir -p ${CLDRDIR}/posix
162 . for area in ${BASE_LOCALES_OF_INTEREST}
163 . if !exists(${CLDRDIR}/posix/${area}.UTF-8.src)
164 java -DCLDR_DIR=${CLDRDIR:Q} -jar ${CLDRDIR}/tools/java/cldr.jar \
165 org.unicode.cldr.posix.GeneratePOSIX \
166 -d ${CLDRDIR}/posix -m ${area} -c UTF-8
169 . for area encoding in ${COLLATION_SPECIAL}
170 . if !exists(${CLDRDIR}/posix/${area}.${encoding}.src)
171 java -DCLDR_DIR=${CLDRDIR:Q} -jar ${CLDRDIR}/tools/java/cldr.jar \
172 org.unicode.cldr.posix.GeneratePOSIX \
173 -d ${CLDRDIR}/posix -m ${area} -c ${encoding}
176 . for enc in ${ENCODINGS}
177 . if !exists(${CLDRDIR}/posix/${enc}.cm)
178 java -DCLDR_DIR=${CLDRDIR:Q} -jar ${CLDRDIR}/tools/java/cldr.jar \
179 org.unicode.cldr.posix.GenerateCharmap \
180 -d ${CLDRDIR}/posix -c ${enc}
184 @echo "Please install CLDR toolset for the desired release"
185 @echo "It should go at ${CLDRDIR}/tools"
189 rm -f ${CLDRDIR}/posix/*