From f769d133b7612edb8115d53d28fad7aab5387580 Mon Sep 17 00:00:00 2001 From: "Steven R. Loomis" Date: Fri, 3 Oct 2014 17:42:37 -0700 Subject: [PATCH] build: i18n: move noisy variables to separate gypi Fixes: https://github.com/joyent/node/issues/7676#issuecomment-57535890 Reviewed-by: Trevor Norris --- .gitignore | 1 + configure | 33 ++++++++++++++++++++++++--------- tools/icu/icu-generic.gyp | 1 + 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index f5b0105840e647..6581dee9d1f8db 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ deps/zlib/zlib.target.mk # test artifacts tools/faketime +icu_config.gypi diff --git a/configure b/configure index 6db8703201e354..c558f7f8dd797d 100755 --- a/configure +++ b/configure @@ -691,6 +691,14 @@ def configure_winsdk(o): print('ctrpp not found in WinSDK path--using pre-gen files ' 'from tools/msvs/genfiles.') +def write(filename, data): + filename = os.path.join(root_dir, filename) + print 'creating ', filename + f = open(filename, 'w+') + f.write(data) + +do_not_edit = '# Do not edit. Generated by the configure script.\n' + def glob_to_var(dir_base, dir_sub): list = [] dir_all = os.path.join(dir_base, dir_sub) @@ -703,8 +711,18 @@ def glob_to_var(dir_base, dir_sub): break return list - def configure_intl(o): + icu_config = { + 'variables': {} + } + icu_config_name = 'icu_config.gypi' + def write_config(data, name): + return + + # write an empty file to start with + write(icu_config_name, do_not_edit + + pprint.pformat(icu_config, indent=2) + '\n') + # small ICU is off by default. # always set icu_small, node.gyp depends on it being defined. o['variables']['icu_small'] = b(False) @@ -821,7 +839,10 @@ def configure_intl(o): for i in icu_src: var = 'icu_src_%s' % i path = '../../deps/icu/source/%s' % icu_src[i] - o['variables'][var] = glob_to_var('tools/icu', path) + icu_config['variables'][var] = glob_to_var('tools/icu', path) + # write updated icu_config.gypi with a bunch of paths + write(icu_config_name, do_not_edit + + pprint.pformat(icu_config, indent=2) + '\n') return # end of configure_intl # determine the "flavor" (operating system) we're building for, @@ -860,13 +881,7 @@ output = { } pprint.pprint(output, indent=2) -def write(filename, data): - filename = os.path.join(root_dir, filename) - print 'creating ', filename - f = open(filename, 'w+') - f.write(data) - -write('config.gypi', '# Do not edit. Generated by the configure script.\n' + +write('config.gypi', do_not_edit + pprint.pformat(output, indent=2) + '\n') config = { diff --git a/tools/icu/icu-generic.gyp b/tools/icu/icu-generic.gyp index fa5e5773b2b888..bc0a660cbfa036 100644 --- a/tools/icu/icu-generic.gyp +++ b/tools/icu/icu-generic.gyp @@ -9,6 +9,7 @@ 'variables': { 'icu_src_derb': [ '../../deps/icu/source/tools/genrb/derb.c' ], }, + 'includes': [ '../../icu_config.gypi' ], 'targets': [ { # a target to hold uconfig defines.