Skip to content

Commit db113a2

Browse files
srl295targos
authored andcommittedOct 24, 2018
doc: document and warn if the ICU version is too old
Fixes: #19657 PR-URL: #23766 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: Ujjwal Sharma <[email protected]>
1 parent df05ddf commit db113a2

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed
 

‎BUILDING.md

+4
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,10 @@ You can find other ICU releases at
470470
Download the file named something like `icu4c-**##.#**-src.tgz` (or
471471
`.zip`).
472472

473+
To check the minimum recommended ICU, run `./configure --help` and see
474+
the help for the `--with-icu-source` option. A warning will be printed
475+
during configuration if the ICU version is too old.
476+
473477
##### Unix/macOS
474478

475479
From an already-unpacked ICU:

‎configure.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
5252
valid_mips_float_abi = ('soft', 'hard')
5353
valid_intl_modes = ('none', 'small-icu', 'full-icu', 'system-icu')
54+
with open ('tools/icu/icu_versions.json') as f:
55+
icu_versions = json.load(f)
5456

5557
# create option groups
5658
shared_optgroup = optparse.OptionGroup(parser, "Shared libraries",
@@ -425,7 +427,9 @@
425427
intl_optgroup.add_option('--with-icu-source',
426428
action='store',
427429
dest='with_icu_source',
428-
help='Intl mode: optional local path to icu/ dir, or path/URL of icu source archive.')
430+
help='Intl mode: optional local path to icu/ dir, or path/URL of '
431+
'the icu4c source archive. '
432+
'v%d.x or later recommended.' % icu_versions["minimum_icu"])
429433

430434
parser.add_option('--with-ltcg',
431435
action='store_true',
@@ -1452,6 +1456,9 @@ def write_config(data, name):
14521456
icu_ver_major = m.group(1)
14531457
if not icu_ver_major:
14541458
error('Could not read U_ICU_VERSION_SHORT version from %s' % uvernum_h)
1459+
elif int(icu_ver_major) < icu_versions["minimum_icu"]:
1460+
error('icu4c v%d.x is too old, v%d.x or later is required.' % (int(icu_ver_major),
1461+
icu_versions["minimum_icu"]))
14551462
icu_endianness = sys.byteorder[0];
14561463
o['variables']['icu_ver_major'] = icu_ver_major
14571464
o['variables']['icu_endianness'] = icu_endianness

‎tools/icu/icu_versions.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"minimum_icu": 57
3+
}

0 commit comments

Comments
 (0)
Please sign in to comment.