| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |  | 
| 2 # Use of this source code is governed by a BSD-style license that can be |  | 
| 3 # found in the LICENSE file. |  | 
| 4 |  | 
| 5 # Variables to control what does or doesn't get built here: |  | 
| 6 # |  | 
| 7 # CombinedLib |  | 
| 8 #       When True, builds a combined libicu.a (or icu.lib) containing |  | 
| 9 #       the common, i18n, stubdata and toolutil parts of ICU.  When |  | 
| 10 #       False, builds those as separate libraries. |  | 
| 11 # |  | 
| 12 # GeneratedDataLib |  | 
| 13 #       When True, specifies that we want to build a libicudata.a |  | 
| 14 #       (or icudata.lib) library containing the data.  When False, |  | 
| 15 #       we copy out the icudt38l.dat file or the Chromium icudt38.dll |  | 
| 16 #       file. |  | 
| 17 # |  | 
| 18 # Note that we've only verified the behavior that each platform |  | 
| 19 # needs to build the way it currently wants, so don't expect that |  | 
| 20 # you can just change the way a given platform builds without maybe |  | 
| 21 # having to fix things.  For example, attempts to set GenerateDataLib |  | 
| 22 # on Windows will need to fix problems executing the utilities that |  | 
| 23 # handle the generation. |  | 
| 24 |  | 
| 25 CombinedLib = True |  | 
| 26 GenerateDataLib = False |  | 
| 27 |  | 
| 28 Import('env') |  | 
| 29 |  | 
| 30 env = env.Clone( |  | 
| 31     GENERATED_DIR = env.Dir('$ICU38_DIR/generated'), |  | 
| 32     GENCCODE = env.File('$ICU38_DIR/generated/genccode$PROGSUFFIX'), |  | 
| 33     ICUPKG = env.File('$ICU38_DIR/generated/icupkg$PROGSUFFIX'), |  | 
| 34 ) |  | 
| 35 |  | 
| 36 env.Prepend( |  | 
| 37     CPPPATH = [ |  | 
| 38         'source/common', |  | 
| 39         'public/common', |  | 
| 40         'source/i18n', |  | 
| 41         'public/i18n', |  | 
| 42         'source/tools/toolutil', |  | 
| 43         '#/..', |  | 
| 44     ], |  | 
| 45     CPPDEFINES = [ |  | 
| 46         'U_STATIC_IMPLEMENTATION', |  | 
| 47     ], |  | 
| 48 ) |  | 
| 49 |  | 
| 50 if env['PLATFORM'] == 'darwin': |  | 
| 51   CombinedLib = False |  | 
| 52   GenerateDataLib = True |  | 
| 53 |  | 
| 54   env['CCFLAGS'].remove('-Werror') |  | 
| 55   env['CPPDEFINES'].remove('DEBUG') |  | 
| 56   env['GENCCODE_NAME'] = 'icudt38l' |  | 
| 57   env['GENCCODE_FLAGS'] = '-a gcc-darwin -n $GENCCODE_NAME -e icudt38' |  | 
| 58   env['GENCCODE_SUFFIX'] = '.s' |  | 
| 59 |  | 
| 60 if env['PLATFORM'] =='posix': |  | 
| 61   env['GENCCODE_NAME'] = 'icudt38l' |  | 
| 62   env['GENCCODE_FLAGS'] = '-a gcc -n $GENCCODE_NAME -e icudt38' |  | 
| 63   env['GENCCODE_SUFFIX'] = '.s' |  | 
| 64 |  | 
| 65 if env['PLATFORM'] == 'win32': |  | 
| 66   env['GENCCODE_NAME'] = 'icudt38' |  | 
| 67   env['GENCCODE_FLAGS'] = '-e icudt38' |  | 
| 68   env['GENCCODE_SUFFIX'] = '.c' |  | 
| 69 |  | 
| 70 if env['PLATFORM'] == 'win32': |  | 
| 71   env.Append(CCFLAGS = ['/WX']) |  | 
| 72 else: |  | 
| 73   env.Append( |  | 
| 74       CCFLAGS = [ |  | 
| 75           '-Wno-parentheses', |  | 
| 76 |  | 
| 77            # See uprv_UnicodeStringDummy at end of source/common/unistr.cpp. |  | 
| 78            '-Wno-unused-function' |  | 
| 79       ] |  | 
| 80   ) |  | 
| 81 |  | 
| 82 if 'WIN32_LEAN_AND_MEAN' in env['CPPDEFINES']: |  | 
| 83   env['CPPDEFINES'].remove('WIN32_LEAN_AND_MEAN') |  | 
| 84 |  | 
| 85 # |  | 
| 86 |  | 
| 87 common_input_files = [ |  | 
| 88     'source/common/bmpset.cpp', |  | 
| 89     'source/common/brkeng.cpp', |  | 
| 90     'source/common/brkiter.cpp', |  | 
| 91     'source/common/caniter.cpp', |  | 
| 92     'source/common/chariter.cpp', |  | 
| 93     'source/common/cmemory.c', |  | 
| 94     'source/common/cstring.c', |  | 
| 95     'source/common/cwchar.c', |  | 
| 96     'source/common/dictbe.cpp', |  | 
| 97     'source/common/locbased.cpp', |  | 
| 98     'source/common/locid.cpp', |  | 
| 99     'source/common/locmap.c', |  | 
| 100     'source/common/locutil.cpp', |  | 
| 101     'source/common/normlzr.cpp', |  | 
| 102     'source/common/parsepos.cpp', |  | 
| 103     'source/common/propname.cpp', |  | 
| 104     'source/common/punycode.c', |  | 
| 105     'source/common/putil.c', |  | 
| 106     'source/common/rbbi.cpp', |  | 
| 107     'source/common/rbbidata.cpp', |  | 
| 108     'source/common/rbbinode.cpp', |  | 
| 109     'source/common/rbbirb.cpp', |  | 
| 110     'source/common/rbbiscan.cpp', |  | 
| 111     'source/common/rbbisetb.cpp', |  | 
| 112     'source/common/rbbistbl.cpp', |  | 
| 113     'source/common/rbbitblb.cpp', |  | 
| 114     'source/common/resbund.cpp', |  | 
| 115     'source/common/resbund_cnv.cpp', |  | 
| 116     'source/common/ruleiter.cpp', |  | 
| 117     'source/common/schriter.cpp', |  | 
| 118     'source/common/serv.cpp', |  | 
| 119     'source/common/servlk.cpp', |  | 
| 120     'source/common/servlkf.cpp', |  | 
| 121     'source/common/servls.cpp', |  | 
| 122     'source/common/servnotf.cpp', |  | 
| 123     'source/common/servrbf.cpp', |  | 
| 124     'source/common/servslkf.cpp', |  | 
| 125     'source/common/triedict.cpp', |  | 
| 126     'source/common/uarrsort.c', |  | 
| 127     'source/common/ubidi.c', |  | 
| 128     'source/common/ubidi_props.c', |  | 
| 129     'source/common/ubidiln.c', |  | 
| 130     'source/common/ubidiwrt.c', |  | 
| 131     'source/common/ubrk.cpp', |  | 
| 132     'source/common/ucase.c', |  | 
| 133     'source/common/ucasemap.c', |  | 
| 134     'source/common/ucat.c', |  | 
| 135     'source/common/uchar.c', |  | 
| 136     'source/common/uchriter.cpp', |  | 
| 137     'source/common/ucln_cmn.c', |  | 
| 138     'source/common/ucmndata.c', |  | 
| 139     'source/common/ucnv.c', |  | 
| 140     'source/common/ucnv_bld.c', |  | 
| 141     'source/common/ucnv_cb.c', |  | 
| 142     'source/common/ucnv_cnv.c', |  | 
| 143     'source/common/ucnv_err.c', |  | 
| 144     'source/common/ucnv_ext.c', |  | 
| 145     'source/common/ucnv_io.c', |  | 
| 146     'source/common/ucnv_lmb.c', |  | 
| 147     'source/common/ucnv_set.c', |  | 
| 148     'source/common/ucnv_u16.c', |  | 
| 149     'source/common/ucnv_u32.c', |  | 
| 150     'source/common/ucnv_u7.c', |  | 
| 151     'source/common/ucnv_u8.c', |  | 
| 152     'source/common/ucnv2022.c', |  | 
| 153     'source/common/ucnvbocu.c', |  | 
| 154     'source/common/ucnvdisp.c', |  | 
| 155     'source/common/ucnvhz.c', |  | 
| 156     'source/common/ucnvisci.c', |  | 
| 157     'source/common/ucnvlat1.c', |  | 
| 158     'source/common/ucnvmbcs.c', |  | 
| 159     'source/common/ucnvscsu.c', |  | 
| 160     'source/common/ucol_swp.c', |  | 
| 161     'source/common/udata.c', |  | 
| 162     'source/common/udatamem.c', |  | 
| 163     'source/common/udataswp.c', |  | 
| 164     'source/common/uenum.c', |  | 
| 165     'source/common/uhash.c', |  | 
| 166     'source/common/uhash_us.cpp', |  | 
| 167     'source/common/uidna.cpp', |  | 
| 168     'source/common/uinit.c', |  | 
| 169     'source/common/uinvchar.c', |  | 
| 170     'source/common/uiter.cpp', |  | 
| 171     'source/common/uloc.c', |  | 
| 172     'source/common/umapfile.c', |  | 
| 173     'source/common/umath.c', |  | 
| 174     'source/common/umutex.c', |  | 
| 175     'source/common/unames.c', |  | 
| 176     'source/common/unifilt.cpp', |  | 
| 177     'source/common/unifunct.cpp', |  | 
| 178     'source/common/uniset.cpp', |  | 
| 179     'source/common/uniset_props.cpp', |  | 
| 180     'source/common/unisetspan.cpp', |  | 
| 181     'source/common/unistr.cpp', |  | 
| 182     'source/common/unistr_case.cpp', |  | 
| 183     'source/common/unistr_cnv.cpp', |  | 
| 184     'source/common/unistr_props.cpp', |  | 
| 185     'source/common/unorm.cpp', |  | 
| 186     'source/common/unorm_it.c', |  | 
| 187     'source/common/unormcmp.cpp', |  | 
| 188     'source/common/uobject.cpp', |  | 
| 189     'source/common/uprops.c', |  | 
| 190     'source/common/ures_cnv.c', |  | 
| 191     'source/common/uresbund.c', |  | 
| 192     'source/common/uresdata.c', |  | 
| 193     'source/common/usc_impl.c', |  | 
| 194     'source/common/uscript.c', |  | 
| 195     'source/common/uset.cpp', |  | 
| 196     'source/common/uset_props.cpp', |  | 
| 197     'source/common/usetiter.cpp', |  | 
| 198     'source/common/ushape.c', |  | 
| 199     'source/common/usprep.cpp', |  | 
| 200     'source/common/ustack.cpp', |  | 
| 201     'source/common/ustr_cnv.c', |  | 
| 202     'source/common/ustr_wcs.c', |  | 
| 203     'source/common/ustrcase.c', |  | 
| 204     'source/common/ustrenum.cpp', |  | 
| 205     'source/common/ustrfmt.c', |  | 
| 206     'source/common/ustring.c', |  | 
| 207     'source/common/ustrtrns.c', |  | 
| 208     'source/common/utext.cpp', |  | 
| 209     'source/common/utf_impl.c', |  | 
| 210     'source/common/util.cpp', |  | 
| 211     'source/common/util_props.cpp', |  | 
| 212     'source/common/utrace.c', |  | 
| 213     'source/common/utrie.c', |  | 
| 214     'source/common/utypes.c', |  | 
| 215     'source/common/uvector.cpp', |  | 
| 216     'source/common/uvectr32.cpp', |  | 
| 217     'source/common/wintz.c', |  | 
| 218 ] |  | 
| 219 |  | 
| 220 # |  | 
| 221 |  | 
| 222 i18n_input_files = [ |  | 
| 223     'source/i18n/anytrans.cpp', |  | 
| 224     'source/i18n/astro.cpp', |  | 
| 225     'source/i18n/basictz.cpp', |  | 
| 226     'source/i18n/bocsu.c', |  | 
| 227     'source/i18n/buddhcal.cpp', |  | 
| 228     'source/i18n/calendar.cpp', |  | 
| 229     'source/i18n/casetrn.cpp', |  | 
| 230     'source/i18n/choicfmt.cpp', |  | 
| 231     'source/i18n/coleitr.cpp', |  | 
| 232     'source/i18n/coll.cpp', |  | 
| 233     'source/i18n/cpdtrans.cpp', |  | 
| 234     'source/i18n/csdetect.cpp', |  | 
| 235     'source/i18n/csmatch.cpp', |  | 
| 236     'source/i18n/csr2022.cpp', |  | 
| 237     'source/i18n/csrecog.cpp', |  | 
| 238     'source/i18n/csrmbcs.cpp', |  | 
| 239     'source/i18n/csrsbcs.cpp', |  | 
| 240     'source/i18n/csrucode.cpp', |  | 
| 241     'source/i18n/csrutf8.cpp', |  | 
| 242     'source/i18n/curramt.cpp', |  | 
| 243     'source/i18n/currfmt.cpp', |  | 
| 244     'source/i18n/currunit.cpp', |  | 
| 245     'source/i18n/datefmt.cpp', |  | 
| 246     'source/i18n/dcfmtsym.cpp', |  | 
| 247     'source/i18n/decimfmt.cpp', |  | 
| 248     'source/i18n/digitlst.cpp', |  | 
| 249     'source/i18n/dtfmtsym.cpp', |  | 
| 250     'source/i18n/dtrule.cpp', |  | 
| 251     'source/i18n/esctrn.cpp', |  | 
| 252     'source/i18n/fmtable.cpp', |  | 
| 253     'source/i18n/fmtable_cnv.cpp', |  | 
| 254     'source/i18n/format.cpp', |  | 
| 255     'source/i18n/funcrepl.cpp', |  | 
| 256     'source/i18n/gregocal.cpp', |  | 
| 257     'source/i18n/gregoimp.cpp', |  | 
| 258     'source/i18n/hebrwcal.cpp', |  | 
| 259     'source/i18n/indiancal.cpp', |  | 
| 260     'source/i18n/inputext.cpp', |  | 
| 261     'source/i18n/islamcal.cpp', |  | 
| 262     'source/i18n/japancal.cpp', |  | 
| 263     'source/i18n/measfmt.cpp', |  | 
| 264     'source/i18n/measure.cpp', |  | 
| 265     'source/i18n/msgfmt.cpp', |  | 
| 266     'source/i18n/name2uni.cpp', |  | 
| 267     'source/i18n/nfrs.cpp', |  | 
| 268     'source/i18n/nfrule.cpp', |  | 
| 269     'source/i18n/nfsubs.cpp', |  | 
| 270     'source/i18n/nortrans.cpp', |  | 
| 271     'source/i18n/nultrans.cpp', |  | 
| 272     'source/i18n/numfmt.cpp', |  | 
| 273     'source/i18n/olsontz.cpp', |  | 
| 274     'source/i18n/persncal.cpp', |  | 
| 275     'source/i18n/plurfmt.cpp', |  | 
| 276     'source/i18n/plurrule.cpp', |  | 
| 277     'source/i18n/quant.cpp', |  | 
| 278     'source/i18n/rbnf.cpp', |  | 
| 279     'source/i18n/rbt.cpp', |  | 
| 280     'source/i18n/rbt_data.cpp', |  | 
| 281     'source/i18n/rbt_pars.cpp', |  | 
| 282     'source/i18n/rbt_rule.cpp', |  | 
| 283     'source/i18n/rbt_set.cpp', |  | 
| 284     'source/i18n/regexcmp.cpp', |  | 
| 285     'source/i18n/regexst.cpp', |  | 
| 286     'source/i18n/reldtfmt.cpp', |  | 
| 287     'source/i18n/rematch.cpp', |  | 
| 288     'source/i18n/remtrans.cpp', |  | 
| 289     'source/i18n/repattrn.cpp', |  | 
| 290     'source/i18n/search.cpp', |  | 
| 291     'source/i18n/simpletz.cpp', |  | 
| 292     'source/i18n/smpdtfmt.cpp', |  | 
| 293     'source/i18n/sortkey.cpp', |  | 
| 294     'source/i18n/strmatch.cpp', |  | 
| 295     'source/i18n/strrepl.cpp', |  | 
| 296     'source/i18n/stsearch.cpp', |  | 
| 297     'source/i18n/taiwncal.cpp', |  | 
| 298     'source/i18n/tblcoll.cpp', |  | 
| 299     'source/i18n/timezone.cpp', |  | 
| 300     'source/i18n/titletrn.cpp', |  | 
| 301     'source/i18n/tolowtrn.cpp', |  | 
| 302     'source/i18n/toupptrn.cpp', |  | 
| 303     'source/i18n/translit.cpp', |  | 
| 304     'source/i18n/transreg.cpp', |  | 
| 305     'source/i18n/tridpars.cpp', |  | 
| 306     'source/i18n/tzrule.cpp', |  | 
| 307     'source/i18n/tztrans.cpp', |  | 
| 308     'source/i18n/ucal.cpp', |  | 
| 309     'source/i18n/ucln_in.c', |  | 
| 310     'source/i18n/ucol.cpp', |  | 
| 311     'source/i18n/ucol_bld.cpp', |  | 
| 312     'source/i18n/ucol_cnt.cpp', |  | 
| 313     'source/i18n/ucol_elm.cpp', |  | 
| 314     'source/i18n/ucol_res.cpp', |  | 
| 315     'source/i18n/ucol_sit.cpp', |  | 
| 316     'source/i18n/ucol_tok.cpp', |  | 
| 317     'source/i18n/ucol_wgt.c', |  | 
| 318     'source/i18n/ucoleitr.cpp', |  | 
| 319     'source/i18n/ucsdet.cpp', |  | 
| 320     'source/i18n/ucurr.cpp', |  | 
| 321     'source/i18n/udat.cpp', |  | 
| 322     'source/i18n/ulocdata.c', |  | 
| 323     'source/i18n/umsg.cpp', |  | 
| 324     'source/i18n/unesctrn.cpp', |  | 
| 325     'source/i18n/uni2name.cpp', |  | 
| 326     'source/i18n/unum.cpp', |  | 
| 327     'source/i18n/uregex.cpp', |  | 
| 328     'source/i18n/uregexc.cpp', |  | 
| 329     'source/i18n/usearch.cpp', |  | 
| 330     'source/i18n/utmscale.c', |  | 
| 331     'source/i18n/utrans.cpp', |  | 
| 332     'source/i18n/vtzone.cpp', |  | 
| 333     'source/i18n/windtfmt.cpp', |  | 
| 334     'source/i18n/winnmfmt.cpp', |  | 
| 335 ] |  | 
| 336 |  | 
| 337 # |  | 
| 338 |  | 
| 339 stubdata_input_files = [ |  | 
| 340     'source/stubdata/stubdata.c', |  | 
| 341 ] |  | 
| 342 |  | 
| 343 # |  | 
| 344 |  | 
| 345 toolutil_input_files = [ |  | 
| 346     'source/tools/toolutil/filestrm.c', |  | 
| 347     'source/tools/toolutil/package.cpp', |  | 
| 348     'source/tools/toolutil/pkgitems.cpp', |  | 
| 349     'source/tools/toolutil/propsvec.c', |  | 
| 350     'source/tools/toolutil/swapimpl.cpp', |  | 
| 351     'source/tools/toolutil/toolutil.c', |  | 
| 352     'source/tools/toolutil/toolutil.vcproj', |  | 
| 353     'source/tools/toolutil/ucbuf.c', |  | 
| 354     'source/tools/toolutil/ucm.c', |  | 
| 355     'source/tools/toolutil/ucmstate.c', |  | 
| 356     'source/tools/toolutil/unewdata.c', |  | 
| 357     'source/tools/toolutil/uoptions.c', |  | 
| 358     'source/tools/toolutil/uparse.c', |  | 
| 359     'source/tools/toolutil/writesrc.c', |  | 
| 360     'source/tools/toolutil/xmlparser.cpp', |  | 
| 361 ] |  | 
| 362 |  | 
| 363 # |  | 
| 364 |  | 
| 365 if CombinedLib: |  | 
| 366 |  | 
| 367   # These empirically fail to build when U_COMMON_IMPLEMENTATION |  | 
| 368   # isn't defined in addition to U_COMBINED_IMPLEMENTATION.  Remove |  | 
| 369   # them from the source file list and re-append them with Nodes |  | 
| 370   # for custom-built object files with both defined. |  | 
| 371 |  | 
| 372   need_common_implementation = [ |  | 
| 373       'source/common/ubidi.c', |  | 
| 374       'source/common/ubidiln.c', |  | 
| 375   ] |  | 
| 376 |  | 
| 377   for n in need_common_implementation: |  | 
| 378     common_input_files.remove(n) |  | 
| 379     o = env.Object(n, CPPDEFINES = env['CPPDEFINES'] + |  | 
| 380                                    ['U_COMMON_IMPLEMENTATION', |  | 
| 381                                     'U_COMBINED_IMPLEMENTATION']) |  | 
| 382     common_input_files.append(o) |  | 
| 383 |  | 
| 384   icu_lib = env.ChromeStaticLibrary('icu', common_input_files + |  | 
| 385                                            i18n_input_files + |  | 
| 386                                            stubdata_input_files, |  | 
| 387                                     CPPDEFINES = env['CPPDEFINES'] + |  | 
| 388                                                  ['U_COMBINED_IMPLEMENTATION']) |  | 
| 389 |  | 
| 390 else: |  | 
| 391 |  | 
| 392   icu_lib = env.ChromeStaticLibrary('icuuc', common_input_files, |  | 
| 393                                     CPPDEFINES = env['CPPDEFINES'] + |  | 
| 394                                                  ['U_COMMON_IMPLEMENTATION']) |  | 
| 395 |  | 
| 396   env.ChromeStaticLibrary('icui18n', i18n_input_files, |  | 
| 397                           CPPDEFINES = env['CPPDEFINES'] + |  | 
| 398                                        ['U_I18N_IMPLEMENTATION']) |  | 
| 399 |  | 
| 400   env.ChromeStaticLibrary('icudata_stub', stubdata_input_files) |  | 
| 401 |  | 
| 402   env.ChromeStaticLibrary('icutu', toolutil_input_files, |  | 
| 403                           CPPDEFINES = env['CPPDEFINES'] + |  | 
| 404                                        ['U_TOOLUTIL_IMPLEMENTATION']) |  | 
| 405 |  | 
| 406 |  | 
| 407 # |  | 
| 408 |  | 
| 409 if GenerateDataLib: |  | 
| 410 |  | 
| 411   icudata_lst = env.Command(['$GENERATED_DIR/icudata.lst', |  | 
| 412                              '$GENERATED_DIR/icudt38l/ucadata.icu'], |  | 
| 413                             ['source/data/in/icudt38l.dat'], |  | 
| 414                             ('$ICUPKG -d ${TARGETS[1].dir} --list -x "*"' |  | 
| 415                              ' $SOURCE > $TARGET')) |  | 
| 416   env.Depends(icudata_lst, '$ICUPKG') |  | 
| 417 |  | 
| 418   icudt38_dat = env.Command(['$GENERATED_DIR/${GENCCODE_NAME}.dat'], |  | 
| 419                             icudata_lst, |  | 
| 420                             ('$ICUPKG -tl -c -s ${SOURCES[1].dir}' |  | 
| 421                              ' -a $SOURCE new $TARGET')) |  | 
| 422   env.Depends(icudt38_dat, '$ICUPKG') |  | 
| 423 |  | 
| 424   icudt38_src = env.Command('$GENERATED_DIR/${GENCCODE_NAME}_dat${GENCCODE_SUFFI
     X}', |  | 
| 425                             icudt38_dat, |  | 
| 426                             '$GENCCODE $GENCCODE_FLAGS -d ${TARGET.dir} $SOURCE'
     ) |  | 
| 427   env.Depends(icudt38_src, '$GENCCODE') |  | 
| 428 |  | 
| 429   icu_data = env.ChromeStaticLibrary('icudata', icudt38_src) |  | 
| 430 |  | 
| 431   if CombinedLib: |  | 
| 432     lib_list = ['icu'] |  | 
| 433   else: |  | 
| 434     lib_list = ['icui18n', 'icutu', 'icuuc', 'icudata_stub'] |  | 
| 435 |  | 
| 436   env_tools = env.Clone(LIBS = lib_list) |  | 
| 437 |  | 
| 438   env_tools.Program(env['GENCCODE'], 'source/tools/genccode/genccode.c') |  | 
| 439   env_tools.Program(env['ICUPKG'], 'source/tools/icupkg/icupkg.cpp') |  | 
| 440 |  | 
| 441   env.Install('$LIBS_DIR', icu_data) |  | 
| 442 |  | 
| 443 else: |  | 
| 444 |  | 
| 445   icu_data = None |  | 
| 446 |  | 
| 447   # The ICU library isn't useful without the data properly installed. |  | 
| 448   if env['PLATFORM'] == 'win32': |  | 
| 449     icu_data = env.Install('$OBJ_ROOT', 'icudt38.dll') |  | 
| 450   else: |  | 
| 451     icu_data = env.Install('$OBJ_ROOT', 'source/data/in/icudt38l.dat') |  | 
| 452 |  | 
| 453   env.Requires(icu_lib, icu_data) |  | 
| OLD | NEW | 
|---|