Home | History | Annotate | Download | only in opencl_ocl_icd_linux
      1 #!/usr/bin/env python
      2 #
      3 # Copyright 2018 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 
     12 import argparse
     13 import common
     14 import os
     15 import shutil
     16 import subprocess
     17 import utils
     18 
     19 # Use libOpenCL.so from the ocl-icd-opencl-dev Debian package.
     20 PKGS = [
     21     'ocl-icd-opencl-dev',
     22     'ocl-icd-libopencl1',
     23 ]
     24 
     25 def create_asset(target_dir):
     26   """Create the asset."""
     27   with utils.tmp_dir():
     28     # Download required Debian packages.
     29     subprocess.check_call(['apt-get', 'download'] + PKGS)
     30     # Extract to CWD.
     31     for f in os.listdir('.'):
     32       subprocess.check_call(['dpkg-deb', '--extract', f, '.'])
     33     # Copy usr/lib/x86_64-linux-gnu/* to target_dir.
     34     lib_dir = os.path.join(os.getcwd(), 'usr', 'lib', 'x86_64-linux-gnu')
     35     for f in os.listdir(lib_dir):
     36       shutil.move(os.path.join(lib_dir, f), target_dir)
     37 
     38 
     39 def main():
     40   parser = argparse.ArgumentParser()
     41   parser.add_argument('--target_dir', '-t', required=True)
     42   args = parser.parse_args()
     43   create_asset(args.target_dir)
     44 
     45 
     46 if __name__ == '__main__':
     47   main()
     48