#!/usr/bin/env python2 # -*- coding: utf-8 -*- # Copyright 2019 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Build script that wraps go build and sets the correct linker variables.""" from __future__ import print_function import argparse import os import os.path import subprocess import sys def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("--config", required=True, choices=['cros.hardened', 'cros.nonhardened', 'cros.host'], type=str) parser.add_argument("--use_ccache", required=True, choices=['true', 'false'], type=str) return parser.parse_known_args() def calc_go_args(parsed_args, rest_args): src_dir = os.path.dirname(sys.argv[0]) ldFlags = ['-X', 'main.ConfigName=' + parsed_args.config, '-X', 'main.UseCCache='+parsed_args.use_ccache] return (['go', 'build', '-ldflags', ' '.join(ldFlags)] + rest_args + [src_dir]) def main(): sys.exit(subprocess.call(calc_go_args(*parse_args()))) if __name__ == '__main__': main()