From d8b6a1d4f6410e8b36a58a0d822773ee28f7b1e5 Mon Sep 17 00:00:00 2001 From: "Steven R. Loomis" Date: Fri, 8 Jun 2018 13:57:32 -0700 Subject: doc: document and warn if the ICU version is too old Fixes: https://github.com/nodejs/node/issues/19657 PR-URL: https://github.com/nodejs/node/pull/23766 Reviewed-By: Richard Lau Reviewed-By: James M Snell Reviewed-By: Anna Henningsen Reviewed-By: Refael Ackermann Reviewed-By: Ujjwal Sharma --- configure.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'configure.py') diff --git a/configure.py b/configure.py index 538ae0445a..37f6058c6e 100755 --- a/configure.py +++ b/configure.py @@ -51,6 +51,8 @@ valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx') valid_mips_fpu = ('fp32', 'fp64', 'fpxx') valid_mips_float_abi = ('soft', 'hard') valid_intl_modes = ('none', 'small-icu', 'full-icu', 'system-icu') +with open ('tools/icu/icu_versions.json') as f: + icu_versions = json.load(f) # create option groups shared_optgroup = optparse.OptionGroup(parser, "Shared libraries", @@ -425,7 +427,9 @@ intl_optgroup.add_option('--with-icu-locales', intl_optgroup.add_option('--with-icu-source', action='store', dest='with_icu_source', - help='Intl mode: optional local path to icu/ dir, or path/URL of icu source archive.') + help='Intl mode: optional local path to icu/ dir, or path/URL of ' + 'the icu4c source archive. ' + 'v%d.x or later recommended.' % icu_versions["minimum_icu"]) parser.add_option('--with-ltcg', action='store_true', @@ -1452,6 +1456,9 @@ def configure_intl(o): icu_ver_major = m.group(1) if not icu_ver_major: error('Could not read U_ICU_VERSION_SHORT version from %s' % uvernum_h) + elif int(icu_ver_major) < icu_versions["minimum_icu"]: + error('icu4c v%d.x is too old, v%d.x or later is required.' % (int(icu_ver_major), + icu_versions["minimum_icu"])) icu_endianness = sys.byteorder[0]; o['variables']['icu_ver_major'] = icu_ver_major o['variables']['icu_endianness'] = icu_endianness -- cgit v1.2.3