build: i18n: move noisy variables to separate gypi
authorSteven R. Loomis <srl@icu-project.org>
Sat, 4 Oct 2014 00:42:37 +0000 (17:42 -0700)
committerTrevor Norris <trev.norris@gmail.com>
Tue, 7 Oct 2014 22:17:44 +0000 (15:17 -0700)
Fixes: https://github.com/joyent/node/issues/7676#issuecomment-57535890
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
.gitignore
configure
tools/icu/icu-generic.gyp

index f5b0105..6581dee 100644 (file)
@@ -68,3 +68,4 @@ deps/zlib/zlib.target.mk
 
 # test artifacts
 tools/faketime
+icu_config.gypi
index 6db8703..c558f7f 100755 (executable)
--- 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 = {
index fa5e577..bc0a660 100644 (file)
@@ -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.