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