summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Michael Chaten2025-09-13 07:11:50 -0700
committerGravatar Michael Chaten2025-09-13 07:11:50 -0700
commit16df10181dab7834370823efc7cce4a55db570c5 (patch)
treee0f5265d263b34a8e63a96b43e7153bea825886d
parentMerge branch 'develop-next' (diff)
downloadzg-16df10181dab7834370823efc7cce4a55db570c5.tar.gz
zg-16df10181dab7834370823efc7cce4a55db570c5.tar.xz
zg-16df10181dab7834370823efc7cce4a55db570c5.zip
Update build to 0.15.0
-rw-r--r--build.zig176
1 files changed, 90 insertions, 86 deletions
diff --git a/build.zig b/build.zig
index ca0eeef..67a009a 100644
--- a/build.zig
+++ b/build.zig
@@ -42,27 +42,33 @@ pub fn build(b: *std.Build) void {
42 // Grapheme break 42 // Grapheme break
43 const gbp_gen_exe = b.addExecutable(.{ 43 const gbp_gen_exe = b.addExecutable(.{
44 .name = "gbp", 44 .name = "gbp",
45 .root_source_file = b.path("codegen/gbp.zig"), 45 .root_module = b.createModule(.{
46 .target = b.graph.host, 46 .root_source_file = b.path("codegen/gbp.zig"),
47 .optimize = .Debug, 47 .target = b.graph.host,
48 .optimize = .Debug,
49 }),
48 }); 50 });
49 const run_gbp_gen_exe = b.addRunArtifact(gbp_gen_exe); 51 const run_gbp_gen_exe = b.addRunArtifact(gbp_gen_exe);
50 const gbp_gen_out = run_gbp_gen_exe.addOutputFileArg("gbp.bin.z"); 52 const gbp_gen_out = run_gbp_gen_exe.addOutputFileArg("gbp.bin.z");
51 53
52 const wbp_gen_exe = b.addExecutable(.{ 54 const wbp_gen_exe = b.addExecutable(.{
53 .name = "wbp", 55 .name = "wbp",
54 .root_source_file = b.path("codegen/wbp.zig"), 56 .root_module = b.createModule(.{
55 .target = b.graph.host, 57 .root_source_file = b.path("codegen/wbp.zig"),
56 .optimize = .Debug, 58 .target = b.graph.host,
59 .optimize = .Debug,
60 }),
57 }); 61 });
58 const run_wbp_gen_exe = b.addRunArtifact(wbp_gen_exe); 62 const run_wbp_gen_exe = b.addRunArtifact(wbp_gen_exe);
59 const wbp_gen_out = run_wbp_gen_exe.addOutputFileArg("wbp.bin.z"); 63 const wbp_gen_out = run_wbp_gen_exe.addOutputFileArg("wbp.bin.z");
60 64
61 const dwp_gen_exe = b.addExecutable(.{ 65 const dwp_gen_exe = b.addExecutable(.{
62 .name = "dwp", 66 .name = "dwp",
63 .root_source_file = b.path("codegen/dwp.zig"), 67 .root_module = b.createModule(.{
64 .target = b.graph.host, 68 .root_source_file = b.path("codegen/dwp.zig"),
65 .optimize = .Debug, 69 .target = b.graph.host,
70 .optimize = .Debug,
71 }),
66 }); 72 });
67 dwp_gen_exe.root_module.addOptions("options", dwp_options); 73 dwp_gen_exe.root_module.addOptions("options", dwp_options);
68 const run_dwp_gen_exe = b.addRunArtifact(dwp_gen_exe); 74 const run_dwp_gen_exe = b.addRunArtifact(dwp_gen_exe);
@@ -71,63 +77,77 @@ pub fn build(b: *std.Build) void {
71 // Normalization properties 77 // Normalization properties
72 const canon_gen_exe = b.addExecutable(.{ 78 const canon_gen_exe = b.addExecutable(.{
73 .name = "canon", 79 .name = "canon",
74 .root_source_file = b.path("codegen/canon.zig"), 80 .root_module = b.createModule(.{
75 .target = b.graph.host, 81 .root_source_file = b.path("codegen/canon.zig"),
76 .optimize = .Debug, 82 .target = b.graph.host,
83 .optimize = .Debug,
84 }),
77 }); 85 });
78 const run_canon_gen_exe = b.addRunArtifact(canon_gen_exe); 86 const run_canon_gen_exe = b.addRunArtifact(canon_gen_exe);
79 const canon_gen_out = run_canon_gen_exe.addOutputFileArg("canon.bin.z"); 87 const canon_gen_out = run_canon_gen_exe.addOutputFileArg("canon.bin.z");
80 88
81 const compat_gen_exe = b.addExecutable(.{ 89 const compat_gen_exe = b.addExecutable(.{
82 .name = "compat", 90 .name = "compat",
83 .root_source_file = b.path("codegen/compat.zig"), 91 .root_module = b.createModule(.{
84 .target = b.graph.host, 92 .root_source_file = b.path("codegen/compat.zig"),
85 .optimize = .Debug, 93 .target = b.graph.host,
94 .optimize = .Debug,
95 }),
86 }); 96 });
87 const run_compat_gen_exe = b.addRunArtifact(compat_gen_exe); 97 const run_compat_gen_exe = b.addRunArtifact(compat_gen_exe);
88 const compat_gen_out = run_compat_gen_exe.addOutputFileArg("compat.bin.z"); 98 const compat_gen_out = run_compat_gen_exe.addOutputFileArg("compat.bin.z");
89 99
90 const hangul_gen_exe = b.addExecutable(.{ 100 const hangul_gen_exe = b.addExecutable(.{
91 .name = "hangul", 101 .name = "hangul",
92 .root_source_file = b.path("codegen/hangul.zig"), 102 .root_module = b.createModule(.{
93 .target = b.graph.host, 103 .root_source_file = b.path("codegen/hangul.zig"),
94 .optimize = .Debug, 104 .target = b.graph.host,
105 .optimize = .Debug,
106 }),
95 }); 107 });
96 const run_hangul_gen_exe = b.addRunArtifact(hangul_gen_exe); 108 const run_hangul_gen_exe = b.addRunArtifact(hangul_gen_exe);
97 const hangul_gen_out = run_hangul_gen_exe.addOutputFileArg("hangul.bin.z"); 109 const hangul_gen_out = run_hangul_gen_exe.addOutputFileArg("hangul.bin.z");
98 110
99 const normp_gen_exe = b.addExecutable(.{ 111 const normp_gen_exe = b.addExecutable(.{
100 .name = "normp", 112 .name = "normp",
101 .root_source_file = b.path("codegen/normp.zig"), 113 .root_module = b.createModule(.{
102 .target = b.graph.host, 114 .root_source_file = b.path("codegen/normp.zig"),
103 .optimize = .Debug, 115 .target = b.graph.host,
116 .optimize = .Debug,
117 }),
104 }); 118 });
105 const run_normp_gen_exe = b.addRunArtifact(normp_gen_exe); 119 const run_normp_gen_exe = b.addRunArtifact(normp_gen_exe);
106 const normp_gen_out = run_normp_gen_exe.addOutputFileArg("normp.bin.z"); 120 const normp_gen_out = run_normp_gen_exe.addOutputFileArg("normp.bin.z");
107 121
108 const ccc_gen_exe = b.addExecutable(.{ 122 const ccc_gen_exe = b.addExecutable(.{
109 .name = "ccc", 123 .name = "ccc",
110 .root_source_file = b.path("codegen/ccc.zig"), 124 .root_module = b.createModule(.{
111 .target = b.graph.host, 125 .root_source_file = b.path("codegen/ccc.zig"),
112 .optimize = .Debug, 126 .target = b.graph.host,
127 .optimize = .Debug,
128 }),
113 }); 129 });
114 const run_ccc_gen_exe = b.addRunArtifact(ccc_gen_exe); 130 const run_ccc_gen_exe = b.addRunArtifact(ccc_gen_exe);
115 const ccc_gen_out = run_ccc_gen_exe.addOutputFileArg("ccc.bin.z"); 131 const ccc_gen_out = run_ccc_gen_exe.addOutputFileArg("ccc.bin.z");
116 132
117 const gencat_gen_exe = b.addExecutable(.{ 133 const gencat_gen_exe = b.addExecutable(.{
118 .name = "gencat", 134 .name = "gencat",
119 .root_source_file = b.path("codegen/gencat.zig"), 135 .root_module = b.createModule(.{
120 .target = b.graph.host, 136 .root_source_file = b.path("codegen/gencat.zig"),
121 .optimize = .Debug, 137 .target = b.graph.host,
138 .optimize = .Debug,
139 }),
122 }); 140 });
123 const run_gencat_gen_exe = b.addRunArtifact(gencat_gen_exe); 141 const run_gencat_gen_exe = b.addRunArtifact(gencat_gen_exe);
124 const gencat_gen_out = run_gencat_gen_exe.addOutputFileArg("gencat.bin.z"); 142 const gencat_gen_out = run_gencat_gen_exe.addOutputFileArg("gencat.bin.z");
125 143
126 const fold_gen_exe = b.addExecutable(.{ 144 const fold_gen_exe = b.addExecutable(.{
127 .name = "fold", 145 .name = "fold",
128 .root_source_file = b.path("codegen/fold.zig"), 146 .root_module = b.createModule(.{
129 .target = b.graph.host, 147 .root_source_file = b.path("codegen/fold.zig"),
130 .optimize = .Debug, 148 .target = b.graph.host,
149 .optimize = .Debug,
150 }),
131 }); 151 });
132 const run_fold_gen_exe = b.addRunArtifact(fold_gen_exe); 152 const run_fold_gen_exe = b.addRunArtifact(fold_gen_exe);
133 const fold_gen_out = run_fold_gen_exe.addOutputFileArg("fold.bin.z"); 153 const fold_gen_out = run_fold_gen_exe.addOutputFileArg("fold.bin.z");
@@ -135,9 +155,11 @@ pub fn build(b: *std.Build) void {
135 // Numeric types 155 // Numeric types
136 const num_gen_exe = b.addExecutable(.{ 156 const num_gen_exe = b.addExecutable(.{
137 .name = "numeric", 157 .name = "numeric",
138 .root_source_file = b.path("codegen/numeric.zig"), 158 .root_module = b.createModule(.{
139 .target = b.graph.host, 159 .root_source_file = b.path("codegen/numeric.zig"),
140 .optimize = .Debug, 160 .target = b.graph.host,
161 .optimize = .Debug,
162 }),
141 }); 163 });
142 const run_num_gen_exe = b.addRunArtifact(num_gen_exe); 164 const run_num_gen_exe = b.addRunArtifact(num_gen_exe);
143 const num_gen_out = run_num_gen_exe.addOutputFileArg("numeric.bin.z"); 165 const num_gen_out = run_num_gen_exe.addOutputFileArg("numeric.bin.z");
@@ -145,9 +167,11 @@ pub fn build(b: *std.Build) void {
145 // Letter case properties 167 // Letter case properties
146 const case_prop_gen_exe = b.addExecutable(.{ 168 const case_prop_gen_exe = b.addExecutable(.{
147 .name = "case_prop", 169 .name = "case_prop",
148 .root_source_file = b.path("codegen/case_prop.zig"), 170 .root_module = b.createModule(.{
149 .target = b.graph.host, 171 .root_source_file = b.path("codegen/case_prop.zig"),
150 .optimize = .Debug, 172 .target = b.graph.host,
173 .optimize = .Debug,
174 }),
151 }); 175 });
152 const run_case_prop_gen_exe = b.addRunArtifact(case_prop_gen_exe); 176 const run_case_prop_gen_exe = b.addRunArtifact(case_prop_gen_exe);
153 const case_prop_gen_out = run_case_prop_gen_exe.addOutputFileArg("case_prop.bin.z"); 177 const case_prop_gen_out = run_case_prop_gen_exe.addOutputFileArg("case_prop.bin.z");
@@ -155,9 +179,11 @@ pub fn build(b: *std.Build) void {
155 // Uppercase mappings 179 // Uppercase mappings
156 const upper_gen_exe = b.addExecutable(.{ 180 const upper_gen_exe = b.addExecutable(.{
157 .name = "upper", 181 .name = "upper",
158 .root_source_file = b.path("codegen/upper.zig"), 182 .root_module = b.createModule(.{
159 .target = b.graph.host, 183 .root_source_file = b.path("codegen/upper.zig"),
160 .optimize = .Debug, 184 .target = b.graph.host,
185 .optimize = .Debug,
186 }),
161 }); 187 });
162 const run_upper_gen_exe = b.addRunArtifact(upper_gen_exe); 188 const run_upper_gen_exe = b.addRunArtifact(upper_gen_exe);
163 const upper_gen_out = run_upper_gen_exe.addOutputFileArg("upper.bin.z"); 189 const upper_gen_out = run_upper_gen_exe.addOutputFileArg("upper.bin.z");
@@ -165,36 +191,44 @@ pub fn build(b: *std.Build) void {
165 // Lowercase mappings 191 // Lowercase mappings
166 const lower_gen_exe = b.addExecutable(.{ 192 const lower_gen_exe = b.addExecutable(.{
167 .name = "lower", 193 .name = "lower",
168 .root_source_file = b.path("codegen/lower.zig"), 194 .root_module = b.createModule(.{
169 .target = b.graph.host, 195 .root_source_file = b.path("codegen/lower.zig"),
170 .optimize = .Debug, 196 .target = b.graph.host,
197 .optimize = .Debug,
198 }),
171 }); 199 });
172 const run_lower_gen_exe = b.addRunArtifact(lower_gen_exe); 200 const run_lower_gen_exe = b.addRunArtifact(lower_gen_exe);
173 const lower_gen_out = run_lower_gen_exe.addOutputFileArg("lower.bin.z"); 201 const lower_gen_out = run_lower_gen_exe.addOutputFileArg("lower.bin.z");
174 202
175 const scripts_gen_exe = b.addExecutable(.{ 203 const scripts_gen_exe = b.addExecutable(.{
176 .name = "scripts", 204 .name = "scripts",
177 .root_source_file = b.path("codegen/scripts.zig"), 205 .root_module = b.createModule(.{
178 .target = b.graph.host, 206 .root_source_file = b.path("codegen/scripts.zig"),
179 .optimize = .Debug, 207 .target = b.graph.host,
208 .optimize = .Debug,
209 }),
180 }); 210 });
181 const run_scripts_gen_exe = b.addRunArtifact(scripts_gen_exe); 211 const run_scripts_gen_exe = b.addRunArtifact(scripts_gen_exe);
182 const scripts_gen_out = run_scripts_gen_exe.addOutputFileArg("scripts.bin.z"); 212 const scripts_gen_out = run_scripts_gen_exe.addOutputFileArg("scripts.bin.z");
183 213
184 const core_gen_exe = b.addExecutable(.{ 214 const core_gen_exe = b.addExecutable(.{
185 .name = "core", 215 .name = "core",
186 .root_source_file = b.path("codegen/core_props.zig"), 216 .root_module = b.createModule(.{
187 .target = b.graph.host, 217 .root_source_file = b.path("codegen/core_props.zig"),
188 .optimize = .Debug, 218 .target = b.graph.host,
219 .optimize = .Debug,
220 }),
189 }); 221 });
190 const run_core_gen_exe = b.addRunArtifact(core_gen_exe); 222 const run_core_gen_exe = b.addRunArtifact(core_gen_exe);
191 const core_gen_out = run_core_gen_exe.addOutputFileArg("core_props.bin.z"); 223 const core_gen_out = run_core_gen_exe.addOutputFileArg("core_props.bin.z");
192 224
193 const props_gen_exe = b.addExecutable(.{ 225 const props_gen_exe = b.addExecutable(.{
194 .name = "props", 226 .name = "props",
195 .root_source_file = b.path("codegen/props.zig"), 227 .root_module = b.createModule(.{
196 .target = b.graph.host, 228 .root_source_file = b.path("codegen/props.zig"),
197 .optimize = .Debug, 229 .target = b.graph.host,
230 .optimize = .Debug,
231 }),
198 }); 232 });
199 const run_props_gen_exe = b.addRunArtifact(props_gen_exe); 233 const run_props_gen_exe = b.addRunArtifact(props_gen_exe);
200 const props_gen_out = run_props_gen_exe.addOutputFileArg("props.bin.z"); 234 const props_gen_out = run_props_gen_exe.addOutputFileArg("props.bin.z");
@@ -212,8 +246,6 @@ pub fn build(b: *std.Build) void {
212 const code_point_t = b.addTest(.{ 246 const code_point_t = b.addTest(.{
213 .name = "code_point", 247 .name = "code_point",
214 .root_module = code_point, 248 .root_module = code_point,
215 .target = target,
216 .optimize = optimize,
217 }); 249 });
218 const code_point_tr = b.addRunArtifact(code_point_t); 250 const code_point_tr = b.addRunArtifact(code_point_t);
219 251
@@ -230,8 +262,6 @@ pub fn build(b: *std.Build) void {
230 const grapheme_t = b.addTest(.{ 262 const grapheme_t = b.addTest(.{
231 .name = "Graphemes", 263 .name = "Graphemes",
232 .root_module = graphemes, 264 .root_module = graphemes,
233 .target = target,
234 .optimize = optimize,
235 }); 265 });
236 const grapheme_tr = b.addRunArtifact(grapheme_t); 266 const grapheme_tr = b.addRunArtifact(grapheme_t);
237 267
@@ -247,8 +277,6 @@ pub fn build(b: *std.Build) void {
247 const words_t = b.addTest(.{ 277 const words_t = b.addTest(.{
248 .name = "WordBreak", 278 .name = "WordBreak",
249 .root_module = words, 279 .root_module = words,
250 .target = target,
251 .optimize = optimize,
252 }); 280 });
253 const words_tr = b.addRunArtifact(words_t); 281 const words_tr = b.addRunArtifact(words_t);
254 282
@@ -262,8 +290,6 @@ pub fn build(b: *std.Build) void {
262 const ascii_t = b.addTest(.{ 290 const ascii_t = b.addTest(.{
263 .name = "ascii", 291 .name = "ascii",
264 .root_module = ascii, 292 .root_module = ascii,
265 .target = target,
266 .optimize = optimize,
267 }); 293 });
268 const ascii_tr = b.addRunArtifact(ascii_t); 294 const ascii_tr = b.addRunArtifact(ascii_t);
269 295
@@ -282,8 +308,6 @@ pub fn build(b: *std.Build) void {
282 const display_width_t = b.addTest(.{ 308 const display_width_t = b.addTest(.{
283 .name = "display_width", 309 .name = "display_width",
284 .root_module = display_width, 310 .root_module = display_width,
285 .target = target,
286 .optimize = optimize,
287 }); 311 });
288 const display_width_tr = b.addRunArtifact(display_width_t); 312 const display_width_tr = b.addRunArtifact(display_width_t);
289 313
@@ -298,8 +322,6 @@ pub fn build(b: *std.Build) void {
298 const ccc_data_t = b.addTest(.{ 322 const ccc_data_t = b.addTest(.{
299 .name = "ccc_data", 323 .name = "ccc_data",
300 .root_module = ccc_data, 324 .root_module = ccc_data,
301 .target = target,
302 .optimize = optimize,
303 }); 325 });
304 const ccc_data_tr = b.addRunArtifact(ccc_data_t); 326 const ccc_data_tr = b.addRunArtifact(ccc_data_t);
305 327
@@ -314,8 +336,6 @@ pub fn build(b: *std.Build) void {
314 const canon_data_t = b.addTest(.{ 336 const canon_data_t = b.addTest(.{
315 .name = "canon_data", 337 .name = "canon_data",
316 .root_module = canon_data, 338 .root_module = canon_data,
317 .target = target,
318 .optimize = optimize,
319 }); 339 });
320 const canon_data_tr = b.addRunArtifact(canon_data_t); 340 const canon_data_tr = b.addRunArtifact(canon_data_t);
321 341
@@ -330,8 +350,6 @@ pub fn build(b: *std.Build) void {
330 const compat_data_t = b.addTest(.{ 350 const compat_data_t = b.addTest(.{
331 .name = "compat_data", 351 .name = "compat_data",
332 .root_module = compat_data, 352 .root_module = compat_data,
333 .target = target,
334 .optimize = optimize,
335 }); 353 });
336 const compat_data_tr = b.addRunArtifact(compat_data_t); 354 const compat_data_tr = b.addRunArtifact(compat_data_t);
337 355
@@ -345,8 +363,6 @@ pub fn build(b: *std.Build) void {
345 const hangul_data_t = b.addTest(.{ 363 const hangul_data_t = b.addTest(.{
346 .name = "hangul_data", 364 .name = "hangul_data",
347 .root_module = hangul_data, 365 .root_module = hangul_data,
348 .target = target,
349 .optimize = optimize,
350 }); 366 });
351 const hangul_data_tr = b.addRunArtifact(hangul_data_t); 367 const hangul_data_tr = b.addRunArtifact(hangul_data_t);
352 368
@@ -360,8 +376,6 @@ pub fn build(b: *std.Build) void {
360 const normp_data_t = b.addTest(.{ 376 const normp_data_t = b.addTest(.{
361 .name = "normp_data", 377 .name = "normp_data",
362 .root_module = normp_data, 378 .root_module = normp_data,
363 .target = target,
364 .optimize = optimize,
365 }); 379 });
366 const normp_data_tr = b.addRunArtifact(normp_data_t); 380 const normp_data_tr = b.addRunArtifact(normp_data_t);
367 381
@@ -381,8 +395,6 @@ pub fn build(b: *std.Build) void {
381 const norm_t = b.addTest(.{ 395 const norm_t = b.addTest(.{
382 .name = "norm", 396 .name = "norm",
383 .root_module = norm, 397 .root_module = norm,
384 .target = target,
385 .optimize = optimize,
386 }); 398 });
387 const norm_tr = b.addRunArtifact(norm_t); 399 const norm_tr = b.addRunArtifact(norm_t);
388 400
@@ -397,8 +409,6 @@ pub fn build(b: *std.Build) void {
397 const gencat_t = b.addTest(.{ 409 const gencat_t = b.addTest(.{
398 .name = "gencat", 410 .name = "gencat",
399 .root_module = gencat, 411 .root_module = gencat,
400 .target = target,
401 .optimize = optimize,
402 }); 412 });
403 const gencat_tr = b.addRunArtifact(gencat_t); 413 const gencat_tr = b.addRunArtifact(gencat_t);
404 414
@@ -415,8 +425,6 @@ pub fn build(b: *std.Build) void {
415 const case_fold_t = b.addTest(.{ 425 const case_fold_t = b.addTest(.{
416 .name = "case_fold", 426 .name = "case_fold",
417 .root_module = case_fold, 427 .root_module = case_fold,
418 .target = target,
419 .optimize = optimize,
420 }); 428 });
421 const case_fold_tr = b.addRunArtifact(case_fold_t); 429 const case_fold_tr = b.addRunArtifact(case_fold_t);
422 430
@@ -434,8 +442,6 @@ pub fn build(b: *std.Build) void {
434 const letter_case_t = b.addTest(.{ 442 const letter_case_t = b.addTest(.{
435 .name = "lettercase", 443 .name = "lettercase",
436 .root_module = letter_case, 444 .root_module = letter_case,
437 .target = target,
438 .optimize = optimize,
439 }); 445 });
440 const letter_case_tr = b.addRunArtifact(letter_case_t); 446 const letter_case_tr = b.addRunArtifact(letter_case_t);
441 447
@@ -450,8 +456,6 @@ pub fn build(b: *std.Build) void {
450 const scripts_t = b.addTest(.{ 456 const scripts_t = b.addTest(.{
451 .name = "scripts", 457 .name = "scripts",
452 .root_module = scripts, 458 .root_module = scripts,
453 .target = target,
454 .optimize = optimize,
455 }); 459 });
456 const scripts_tr = b.addRunArtifact(scripts_t); 460 const scripts_tr = b.addRunArtifact(scripts_t);
457 461
@@ -468,16 +472,16 @@ pub fn build(b: *std.Build) void {
468 const properties_t = b.addTest(.{ 472 const properties_t = b.addTest(.{
469 .name = "properties", 473 .name = "properties",
470 .root_module = properties, 474 .root_module = properties,
471 .target = target,
472 .optimize = optimize,
473 }); 475 });
474 const properties_tr = b.addRunArtifact(properties_t); 476 const properties_tr = b.addRunArtifact(properties_t);
475 477
476 // Unicode Tests 478 // Unicode Tests
477 const unicode_tests = b.addTest(.{ 479 const unicode_tests = b.addTest(.{
478 .root_source_file = b.path("src/unicode_tests.zig"), 480 .root_module = b.createModule(.{
479 .target = target, 481 .root_source_file = b.path("src/unicode_tests.zig"),
480 .optimize = optimize, 482 .target = target,
483 .optimize = optimize,
484 }),
481 }); 485 });
482 unicode_tests.root_module.addImport("Graphemes", graphemes); 486 unicode_tests.root_module.addImport("Graphemes", graphemes);
483 unicode_tests.root_module.addImport("Normalize", norm); 487 unicode_tests.root_module.addImport("Normalize", norm);