Use prebuild clang to build node modules
authorCheng Zhao <zcbenz@gmail.com>
Thu, 2 Jul 2015 02:56:56 +0000 (02:56 +0000)
committerCheng Zhao <zcbenz@gmail.com>
Thu, 2 Jul 2015 02:56:56 +0000 (02:56 +0000)
script/bootstrap.py
script/cibuild

index 6314ea9..6d89dbe 100755 (executable)
@@ -25,13 +25,14 @@ def main():
     enable_verbose_mode()
   if sys.platform == 'cygwin':
     update_win32_python()
-  update_submodules()
-  update_node_modules('.')
-  bootstrap_brightray(args.dev, args.url, args.target_arch)
 
   if PLATFORM != 'win32':
     update_clang()
 
+  update_submodules()
+  update_node_modules('.')
+  bootstrap_brightray(args.dev, args.url, args.target_arch)
+
   if args.target_arch == 'arm':
     download_arm_sysroot()
 
@@ -91,6 +92,12 @@ def bootstrap_brightray(is_dev, url, target_arch):
 def update_node_modules(dirname, env=None):
   if env is None:
     env = os.environ
+  if PLATFORM == 'linux':
+    llvm_dir = os.path.join(SOURCE_ROOT, 'vendor', 'llvm-build',
+                            'Release+Asserts', 'bin')
+    env['CC']  = os.path.join(llvm_dir, 'clang')
+    env['CXX'] = os.path.join(llvm_dir, 'clang++')
+    env['npm_config_clang'] = '1'
   with scoped_cwd(dirname):
     if is_verbose_mode():
       execute_stdout([NPM, 'install', '--verbose'], env)
index 6772f3b..8193908 100755 (executable)
@@ -40,14 +40,7 @@ def main():
   rm_rf(os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor', 'download',
                      'libchromiumcontent'))
 
-  if is_travis and sys.platform == 'linux2':
-    with scoped_env('GYP_DEFINES', 'clang=1'):
-      with scoped_env('CXX', 'clang++'):
-        with scoped_env('CC', 'clang'):
-          run_script('bootstrap.py', ['--dev'])
-    run_script('update.py')
-  else:
-    run_script('bootstrap.py', ['--dev'])
+  run_script('bootstrap.py', ['--dev'])
 
   run_script('cpplint.py')
   if sys.platform != 'win32':