• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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