1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#!/usr/bin/env python 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Copyright 2017 Google Inc. 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Use of this source code is governed by a BSD-style license that can be 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# found in the LICENSE file. 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot"""Create the asset.""" 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport argparse 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport glob 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport os 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport shutil 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport subprocess 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport sys 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotdef create_asset(target_dir, gl_path): 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot """Create the asset.""" 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot cmd = [ 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'sudo','apt-get','install', 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'libgles2-mesa-dev', 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'libegl1-mesa-dev' 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot ] 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot print 'About to run:' 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot print ' '.join(cmd) 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot print 'Press Enter to Continue' 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot raw_input() 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot subprocess.check_call(cmd) 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot lib_dir = os.path.join(target_dir, 'lib') 36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot os.mkdir(lib_dir) 37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot to_copy = glob.glob(os.path.join(gl_path,'libGL*')) 39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot to_copy.extend(glob.glob(os.path.join(gl_path,'libEGL*'))) 40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot to_copy.extend(glob.glob(os.path.join(gl_path,'libdrm*'))) 41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot for f in to_copy: 42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot shutil.copy(f, lib_dir) 43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot include_dir = os.path.join(target_dir, 'include') 45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot os.mkdir(include_dir) 46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot shutil.copytree('/usr/include/EGL', os.path.join(include_dir, 'EGL')) 47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot shutil.copytree('/usr/include/KHR', os.path.join(include_dir, 'KHR')) 48fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot shutil.copytree('/usr/include/GLES2', os.path.join(include_dir, 'GLES2')) 49fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot shutil.copytree('/usr/include/GLES3', os.path.join(include_dir, 'GLES3')) 50fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 51fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 52fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotdef main(): 53fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot if 'linux' not in sys.platform: 54fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot print >> sys.stderr, 'This script only runs on Linux.' 55fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot sys.exit(1) 56fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot parser = argparse.ArgumentParser() 57fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot parser.add_argument('--target_dir', '-t', required=True) 58fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot parser.add_argument('--lib_path', '-l', required=True) 59fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot args = parser.parse_args() 60fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot create_asset(args.target_dir, args.lib_path) 61fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 62fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 63fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotif __name__ == '__main__': 64fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot main() 65