1#!/usr/bin/env python 2# 3# Copyright 2016 Google Inc. 4# 5# Use of this source code is governed by a BSD-style license that can be 6# found in the LICENSE file. 7 8 9"""Create a ccache binary for linux hosts.""" 10 11 12import argparse 13import os 14import subprocess 15import sys 16 17 18FILE_DIR = os.path.dirname(os.path.abspath(__file__)) 19INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir)) 20sys.path.insert(0, INFRA_BOTS_DIR) 21import utils 22 23 24URL = "https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz" 25VERSION = "ccache-3.7.7" 26 27def create_asset(target_dir): 28 # configure --prefix requires an absolute path. 29 target_dir = os.path.abspath(target_dir) 30 31 # Download and extract the source. 32 with utils.tmp_dir(): 33 subprocess.check_call(["wget", "-O", VERSION + ".tar.gz", 34 "https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz"]) 35 subprocess.check_call(["tar", "-xzf", VERSION + ".tar.gz"]) 36 os.chdir(VERSION) 37 38 subprocess.check_call(["./configure", "--disable-man", "--prefix=" + target_dir]) 39 subprocess.check_call(["make"]) 40 subprocess.check_call(["make" ,"install"]) 41 42def main(): 43 parser = argparse.ArgumentParser() 44 parser.add_argument('--target_dir', '-t', required=True) 45 args = parser.parse_args() 46 create_asset(args.target_dir) 47 48 49if __name__ == '__main__': 50 main() 51