• 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 mac hosts."""
10
11
12import argparse
13import os
14import subprocess
15import sys
16
17FILE_DIR = os.path.dirname(os.path.abspath(__file__))
18INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir))
19sys.path.insert(0, INFRA_BOTS_DIR)
20import utils
21
22
23URL = "https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz"
24VERSION = "ccache-3.7.7"
25
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(["curl", "-L", "-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
42
43def main():
44  parser = argparse.ArgumentParser()
45  parser.add_argument('--target_dir', '-t', required=True)
46  args = parser.parse_args()
47  create_asset(args.target_dir)
48
49
50if __name__ == '__main__':
51  main()
52