#!/usr/bin/env python # Copyright 2017 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. VERSION = '308728-3' MD5 = '8bec8c34da5d256e27638383667489e5' import hashlib import os import shutil import tarfile import urllib2 os.chdir(os.path.dirname(__file__)) if (not os.path.exists('clang_win/md5.txt') or open('clang_win/md5.txt').read().strip() != MD5): # Clear out everything and start fresh. shutil.rmtree('clang_win', ignore_errors=True) os.mkdir('clang_win') os.chdir('clang_win') # Grab the current Clang package. with open(VERSION + '.tgz', 'wb') as tgz: url = 'https://commondatastorage.googleapis.com/chromium-browser-clang' tgz.write(urllib2.urlopen(url + '/Win/clang-' + VERSION + '.tgz').read()) # Extract it. tarfile.open(VERSION + '.tgz').extractall() # Write out its hash to md5.txt so that next time is quicker. h = hashlib.md5() with open(VERSION + '.tgz', 'rb') as tgz: h.update(tgz.read()) with open('md5.txt', 'w') as md5: md5.write(h.hexdigest())