Merge branch 'v0.10'
[platform/upstream/nodejs.git] / configure
index 4974b47..b950bdc 100755 (executable)
--- a/configure
+++ b/configure
@@ -220,6 +220,11 @@ parser.add_option('--with-etw',
     dest='with_etw',
     help='build with ETW (default is true on Windows)')
 
+parser.add_option('--with-icu-path',
+    action='store',
+    dest='with_icu_path',
+    help='Path to icu.gyp (ICU i18n, Chromium version only.)')
+
 parser.add_option('--with-perfctr',
     action='store_true',
     dest='with_perfctr',
@@ -423,8 +428,10 @@ def compiler_version():
 def configure_arm(o):
   if options.arm_float_abi:
     arm_float_abi = options.arm_float_abi
+  elif is_arm_hard_float_abi():
+    arm_float_abi = 'hard'
   else:
-    arm_float_abi = 'hard' if is_arm_hard_float_abi() else 'default'
+    'default'
   o['variables']['armv7'] = int(is_arch_armv7())
   o['variables']['arm_fpu'] = 'vfpv3'  # V8 3.18 no longer supports VFP2.
   o['variables']['arm_neon'] = int(is_arm_neon())
@@ -564,7 +571,6 @@ def configure_libuv(o):
 def configure_v8(o):
   o['variables']['node_shared_v8'] = b(options.shared_v8)
   o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
-  o['variables']['v8_enable_i18n_support'] = 0  # Don't require libicu.
   o['variables']['v8_no_strict_aliasing'] = 1  # Work around compiler bugs.
   o['variables']['v8_optimized_debug'] = 0  # Compile with -O0 in debug builds.
   o['variables']['v8_random_seed'] = 0  # Use a random seed for hash tables.
@@ -627,6 +633,13 @@ def configure_winsdk(o):
         'from tools/msvs/genfiles.')
 
 
+def configure_icu(o):
+  have_icu_path = bool(options.with_icu_path)
+  o['variables']['v8_enable_i18n_support'] = int(have_icu_path)
+  if have_icu_path:
+    o['variables']['icu_gyp_path'] = options.with_icu_path
+
+
 # determine the "flavor" (operating system) we're building for,
 # leveraging gyp's GetFlavor function
 flavor_params = {}
@@ -650,7 +663,7 @@ configure_libuv(output)
 configure_v8(output)
 configure_openssl(output)
 configure_winsdk(output)
-
+configure_icu(output)
 
 # variables should be a root level element,
 # move everything else to target_defaults
@@ -686,13 +699,17 @@ config = '\n'.join(map('='.join, config.iteritems())) + '\n'
 write('config.mk',
       '# Do not edit. Generated by the configure script.\n' + config)
 
+gyp_args = [sys.executable, 'tools/gyp_node.py', '--no-parallel']
+
 if options.use_ninja:
-  gyp_args = ['-f', 'ninja-' + flavor]
+  gyp_args += ['-f', 'ninja-' + flavor]
 elif options.use_xcode:
-  gyp_args = ['-f', 'xcode']
+  gyp_args += ['-f', 'xcode']
 elif flavor == 'win':
-  gyp_args = ['-f', 'msvs', '-G', 'msvs_version=auto']
+  gyp_args += ['-f', 'msvs', '-G', 'msvs_version=auto']
 else:
-  gyp_args = ['-f', 'make-' + flavor]
+  gyp_args += ['-f', 'make-' + flavor]
+
+gyp_args += args
 
-subprocess.call([sys.executable, 'tools/gyp_node.py'] + gyp_args)
+subprocess.call(gyp_args)