Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: tools/clang/scripts/update.py

Issue 1225113002: Move make_clang_dir handling later so --print-revision works (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Windows can't run .sh files, so this is a Python implementation of 6 """Windows can't run .sh files, so this is a Python implementation of
7 update.sh. This script should replace update.sh on all platforms eventually.""" 7 update.sh. This script should replace update.sh on all platforms eventually."""
8 8
9 import argparse 9 import argparse
10 import contextlib 10 import contextlib
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 parser.add_argument('--without-patches', action='store_false', 706 parser.add_argument('--without-patches', action='store_false',
707 help="don't apply patches (default)", dest='with_patches', 707 help="don't apply patches (default)", dest='with_patches',
708 default=True) 708 default=True)
709 709
710 # For now, these flags are only used for the non-Windows flow, but argparser 710 # For now, these flags are only used for the non-Windows flow, but argparser
711 # gets mad if it sees a flag it doesn't recognize. 711 # gets mad if it sees a flag it doesn't recognize.
712 parser.add_argument('--no-stdin-hack', action='store_true') 712 parser.add_argument('--no-stdin-hack', action='store_true')
713 713
714 args = parser.parse_args() 714 args = parser.parse_args()
715 715
716 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')):
717 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
718 return 0
719 if args.if_needed: 716 if args.if_needed:
720 is_clang_required = False 717 is_clang_required = False
721 # clang is always used on Mac and Linux. 718 # clang is always used on Mac and Linux.
722 if sys.platform == 'darwin' or sys.platform.startswith('linux'): 719 if sys.platform == 'darwin' or sys.platform.startswith('linux'):
723 is_clang_required = True 720 is_clang_required = True
724 # clang requested via $GYP_DEFINES. 721 # clang requested via $GYP_DEFINES.
725 if re.search(r'\b(clang|asan|lsan|msan|tsan)=1', 722 if re.search(r'\b(clang|asan|lsan|msan|tsan)=1',
726 os.environ.get('GYP_DEFINES', '')): 723 os.environ.get('GYP_DEFINES', '')):
727 is_clang_required = True 724 is_clang_required = True
728 # clang previously downloaded, keep it up-to-date. 725 # clang previously downloaded, keep it up-to-date.
729 # If you don't want this, delete third_party/llvm-build on your machine. 726 # If you don't want this, delete third_party/llvm-build on your machine.
730 if os.path.isdir(LLVM_BUILD_DIR): 727 if os.path.isdir(LLVM_BUILD_DIR):
731 is_clang_required = True 728 is_clang_required = True
732 if not is_clang_required: 729 if not is_clang_required:
733 return 0 730 return 0
734 731
735 global LLVM_WIN_REVISION, PACKAGE_VERSION 732 global LLVM_WIN_REVISION, PACKAGE_VERSION
736 if args.print_revision: 733 if args.print_revision:
737 if use_head_revision: 734 if use_head_revision:
738 print GetSvnRevision(LLVM_DIR) 735 print GetSvnRevision(LLVM_DIR)
739 else: 736 else:
740 print PACKAGE_VERSION 737 print PACKAGE_VERSION
741 return 0 738 return 0
742 739
740 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')):
741 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
742 return 0
743
743 # Don't buffer stdout, so that print statements are immediately flushed. 744 # Don't buffer stdout, so that print statements are immediately flushed.
744 # Do this only after --print-revision has been handled, else we'll get 745 # Do this only after --print-revision has been handled, else we'll get
745 # an error message when this script is run from gn for some reason. 746 # an error message when this script is run from gn for some reason.
746 sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) 747 sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
747 748
748 if use_head_revision: 749 if use_head_revision:
749 # Use a real revision number rather than HEAD to make sure that the stamp 750 # Use a real revision number rather than HEAD to make sure that the stamp
750 # file logic works. 751 # file logic works.
751 LLVM_WIN_REVISION = GetSvnRevision(LLVM_REPO_URL) 752 LLVM_WIN_REVISION = GetSvnRevision(LLVM_REPO_URL)
752 PACKAGE_VERSION = LLVM_WIN_REVISION + '-0' 753 PACKAGE_VERSION = LLVM_WIN_REVISION + '-0'
753 754
754 args.force_local_build = True 755 args.force_local_build = True
755 # Skip local patches when using HEAD: they probably don't apply anymore. 756 # Skip local patches when using HEAD: they probably don't apply anymore.
756 args.with_patches = False 757 args.with_patches = False
757 758
758 return UpdateClang(args) 759 return UpdateClang(args)
759 760
760 761
761 if __name__ == '__main__': 762 if __name__ == '__main__':
762 sys.exit(main()) 763 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698