You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
#!/usr/bin/env python
|
|
#
|
|
# Copyright 2018 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."""
|
|
|
|
|
|
import argparse
|
|
import common
|
|
import os
|
|
import shutil
|
|
import subprocess
|
|
import utils
|
|
|
|
# The OpenCL C headers are available at
|
|
# https://github.com/KhronosGroup/OpenCL-Headers, but the C++ header cl.hpp
|
|
# would need to be generated from https://github.com/KhronosGroup/OpenCL-CLHPP.
|
|
# Instead, we just grab the pre-built headers from the Debian packages.
|
|
PKGS = [
|
|
'opencl-c-headers',
|
|
'opencl-clhpp-headers',
|
|
]
|
|
|
|
def create_asset(target_dir):
|
|
"""Create the asset."""
|
|
with utils.tmp_dir():
|
|
# Download required Debian packages.
|
|
subprocess.check_call(['apt-get', 'download'] + PKGS)
|
|
# Extract to CWD.
|
|
for f in os.listdir('.'):
|
|
subprocess.check_call(['dpkg-deb', '--extract', f, '.'])
|
|
# Copy usr/include/CL to target_dir.
|
|
shutil.move(os.path.join(os.getcwd(), 'usr', 'include', 'CL'), target_dir)
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--target_dir', '-t', required=True)
|
|
args = parser.parse_args()
|
|
create_asset(args.target_dir)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|