Browse Source

Pass --disable_clang and --clang_dir to libchromiumcontent

Cheng Zhao 9 years ago
parent
commit
26e4ce30bb
2 changed files with 22 additions and 4 deletions
  1. 11 3
      script/bootstrap.py
  2. 11 1
      script/build-libchromiumcontent.py

+ 11 - 3
script/bootstrap.py

@@ -41,14 +41,15 @@ def main():
 
   # Redirect to use local libchromiumcontent build.
   if args.build_libchromiumcontent:
-    build_libchromiumcontent(args.verbose, args.target_arch)
+    build_libchromiumcontent(args.verbose, args.target_arch, args.disable_clang,
+                             args.clang_dir)
     dist_dir = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor',
                             'libchromiumcontent', 'dist', 'main')
     libcc_source_path = os.path.join(dist_dir, 'src')
     libcc_shared_library_path = os.path.join(dist_dir, 'shared_library')
     libcc_static_library_path = os.path.join(dist_dir, 'static_library')
 
-  if PLATFORM != 'win32':
+  if PLATFORM != 'win32' and not args.disable_clang and args.clang_dir != '':
     update_clang()
 
   setup_python_libs()
@@ -85,6 +86,9 @@ def parse_args():
                            'prompts.')
   parser.add_argument('--target_arch', default=get_target_arch(),
                       help='Manually specify the arch to build for')
+  parser.add_argument('--clang_dir', default='', help='Path to clang binaries')
+  parser.add_argument('--disable_clang', action='store_true',
+                      help='Use compilers other than clang for building')
   parser.add_argument('--build_libchromiumcontent', action='store_true',
                       help='Build local version of libchromiumcontent')
   parser.add_argument('--libcc_source_path', required=False,
@@ -175,10 +179,14 @@ def update_win32_python():
       execute_stdout(['git', 'clone', PYTHON_26_URL])
 
 
-def build_libchromiumcontent(verbose, target_arch):
+def build_libchromiumcontent(verbose, target_arch, disable_clang, clang_dir):
   args = [os.path.join(SOURCE_ROOT, 'script', 'build-libchromiumcontent.py')]
   if verbose:
     args += ['-v']
+  if disable_clang:
+    args += ['--disable_clang']
+  if clang_dir:
+    args += ['--clang_dir', clang_dir]
   execute_stdout(args + ['--target_arch', target_arch])
 
 

+ 11 - 1
script/build-libchromiumcontent.py

@@ -18,6 +18,12 @@ def main():
   if args.verbose:
     enable_verbose_mode()
 
+  extra_update_args = []
+  if args.disable_clang:
+    extra_update_args += ['--disable_clang']
+  if args.clang_dir:
+    extra_update_args += ['--clang_dir', args.clang_dir]
+
   # ./script/bootstrap
   # ./script/update -t x64
   # ./script/build --no_shared_library -t x64
@@ -29,7 +35,8 @@ def main():
   build = os.path.join(script_dir, 'build')
   create_dist = os.path.join(script_dir, 'create-dist')
   execute_stdout([sys.executable, bootstrap])
-  execute_stdout([sys.executable, update, '-t', args.target_arch])
+  execute_stdout([sys.executable, update, '-t', args.target_arch] +
+                 extra_update_args)
   execute_stdout([sys.executable, build, '-R', '-t', args.target_arch])
   execute_stdout([sys.executable, create_dist, '-c', 'static_library',
                   '--no_zip', '-t', args.target_arch])
@@ -39,6 +46,9 @@ def parse_args():
   parser = argparse.ArgumentParser(description='Build libchromiumcontent')
   parser.add_argument('--target_arch',
                       help='Specify the arch to build for')
+  parser.add_argument('--clang_dir', default='', help='Path to clang binaries')
+  parser.add_argument('--disable_clang', action='store_true',
+                      help='Use compilers other than clang for building')
   parser.add_argument('-v', '--verbose', action='store_true',
                       help='Prints the output of the subprocesses')
   return parser.parse_args()