| #!/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 the asset.""" |
| |
| |
| from __future__ import print_function |
| import argparse |
| import glob |
| import os |
| import shutil |
| import subprocess |
| import sys |
| |
| |
| ENV_VAR = 'CHROMEBOOK_ARM_GLES_LIB_PATH' |
| |
| |
| def getenv(key): |
| val = os.environ.get(key) |
| if not val: |
| print(('Environment variable %s not set; you should run this via ' |
| 'create_and_upload.py.' % key), file=sys.stderr) |
| sys.exit(1) |
| return val |
| |
| |
| def create_asset(target_dir, gl_path): |
| """Create the asset.""" |
| |
| cmd = [ |
| 'sudo','apt-get','install', |
| 'libgles2-mesa-dev', |
| 'libegl1-mesa-dev' |
| ] |
| subprocess.check_call(cmd) |
| |
| |
| lib_dir = os.path.join(target_dir, 'lib') |
| os.mkdir(lib_dir) |
| |
| to_copy = glob.glob(os.path.join(gl_path,'libGL*')) |
| to_copy.extend(glob.glob(os.path.join(gl_path,'libEGL*'))) |
| to_copy.extend(glob.glob(os.path.join(gl_path,'libmali*'))) |
| for f in to_copy: |
| shutil.copy(f, lib_dir) |
| |
| include_dir = os.path.join(target_dir, 'include') |
| os.mkdir(include_dir) |
| shutil.copytree('/usr/include/EGL', os.path.join(include_dir, 'EGL')) |
| shutil.copytree('/usr/include/KHR', os.path.join(include_dir, 'KHR')) |
| shutil.copytree('/usr/include/GLES2', os.path.join(include_dir, 'GLES2')) |
| shutil.copytree('/usr/include/GLES3', os.path.join(include_dir, 'GLES3')) |
| |
| |
| def main(): |
| if 'linux' not in sys.platform: |
| print('This script only runs on Linux.', file=sys.stderr) |
| sys.exit(1) |
| parser = argparse.ArgumentParser() |
| parser.add_argument('--target_dir', '-t', required=True) |
| args = parser.parse_args() |
| |
| # Obtain lib_path from create_and_upload via an environment variable, since |
| # this script is called via `sk` and not directly. |
| lib_path = getenv(ENV_VAR) |
| |
| create_asset(args.target_dir, lib_path) |
| |
| |
| if __name__ == '__main__': |
| main() |