#!/usr/bin/env python
#
# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


"""Create a ccache binary for linux hosts."""


import argparse
import os
import subprocess
import sys


FILE_DIR = os.path.dirname(os.path.abspath(__file__))
INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir))
sys.path.insert(0, INFRA_BOTS_DIR)
import utils


URL = "https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz"
VERSION = "ccache-3.7.7"

def create_asset(target_dir):
  # configure --prefix requires an absolute path.
  target_dir = os.path.abspath(target_dir)

  # Download and extract the source.
  with utils.tmp_dir():
    subprocess.check_call(["wget", "-O", VERSION + ".tar.gz",
                           "https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz"])
    subprocess.check_call(["tar", "-xzf", VERSION + ".tar.gz"])
    os.chdir(VERSION)

    subprocess.check_call(["./configure", "--disable-man", "--prefix=" + target_dir])
    subprocess.check_call(["make"])
    subprocess.check_call(["make" ,"install"])

def main():
  parser = argparse.ArgumentParser()
  parser.add_argument('--target_dir', '-t', required=True)
  args = parser.parse_args()
  create_asset(args.target_dir)


if __name__ == '__main__':
  main()
