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 the asset.""" 10 11 12from __future__ import print_function 13import argparse 14import glob 15import os 16import shutil 17import subprocess 18import sys 19 20 21ENV_VAR = 'CHROMEBOOK_ARM_GLES_LIB_PATH' 22 23 24def getenv(key): 25 val = os.environ.get(key) 26 if not val: 27 print(('Environment variable %s not set; you should run this via ' 28 'create_and_upload.py.' % key), file=sys.stderr) 29 sys.exit(1) 30 return val 31 32 33def create_asset(target_dir, gl_path): 34 """Create the asset.""" 35 36 cmd = [ 37 'sudo','apt-get','install', 38 'libgles2-mesa-dev', 39 'libegl1-mesa-dev' 40 ] 41 subprocess.check_call(cmd) 42 43 44 lib_dir = os.path.join(target_dir, 'lib') 45 os.mkdir(lib_dir) 46 47 to_copy = glob.glob(os.path.join(gl_path,'libGL*')) 48 to_copy.extend(glob.glob(os.path.join(gl_path,'libEGL*'))) 49 to_copy.extend(glob.glob(os.path.join(gl_path,'libmali*'))) 50 for f in to_copy: 51 shutil.copy(f, lib_dir) 52 53 include_dir = os.path.join(target_dir, 'include') 54 os.mkdir(include_dir) 55 shutil.copytree('/usr/include/EGL', os.path.join(include_dir, 'EGL')) 56 shutil.copytree('/usr/include/KHR', os.path.join(include_dir, 'KHR')) 57 shutil.copytree('/usr/include/GLES2', os.path.join(include_dir, 'GLES2')) 58 shutil.copytree('/usr/include/GLES3', os.path.join(include_dir, 'GLES3')) 59 60 61def main(): 62 if 'linux' not in sys.platform: 63 print('This script only runs on Linux.', file=sys.stderr) 64 sys.exit(1) 65 parser = argparse.ArgumentParser() 66 parser.add_argument('--target_dir', '-t', required=True) 67 args = parser.parse_args() 68 69 # Obtain lib_path from create_and_upload via an environment variable, since 70 # this script is called via `sk` and not directly. 71 lib_path = getenv(ENV_VAR) 72 73 create_asset(args.target_dir, lib_path) 74 75 76if __name__ == '__main__': 77 main() 78