 e78d84165a
			
		
	
	
	e78d84165a
	
	
	
		
			
			Make sure certain paths/files don't make it into the dist zip Don't build the content shell test_runner Make sure libffmpeg.dylib gets put in the right place Run verify-ffmpeg on Mac builds Add ffmpeg build to VSTS
		
			
				
	
	
		
			82 lines
		
	
	
	
		
			1.9 KiB
			
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			1.9 KiB
			
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python
 | |
| import os
 | |
| import subprocess
 | |
| import sys
 | |
| import zipfile
 | |
| 
 | |
| LINUX_BINARIES_TO_STRIP = [
 | |
|   'electron',
 | |
|   'libffmpeg.so',
 | |
|   'libnode.so'
 | |
| ]
 | |
| 
 | |
| EXTENSIONS_TO_SKIP = [
 | |
|   '.pdb'
 | |
| ]
 | |
| 
 | |
| PATHS_TO_SKIP = [
 | |
|   'angledata',
 | |
|   'swiftshader',
 | |
|   'resources/inspector'
 | |
| ]
 | |
| 
 | |
| def skip_path(dep):
 | |
|   should_skip = False
 | |
|   for path in PATHS_TO_SKIP:
 | |
|     if dep.startswith(path):
 | |
|       print 'Skipping: '+dep
 | |
|       should_skip = True
 | |
|   for extension in EXTENSIONS_TO_SKIP:
 | |
|     if dep.endswith(extension):
 | |
|       print 'Skipping: '+dep
 | |
|       should_skip = True
 | |
| 
 | |
| def strip_binaries(target_cpu, dep):
 | |
|   for binary in LINUX_BINARIES_TO_STRIP:
 | |
|     if dep.endswith(binary):
 | |
|      strip_binary(dep, target_cpu)
 | |
| 
 | |
| def strip_binary(binary_path, target_cpu):
 | |
|   if target_cpu == 'arm':
 | |
|     strip = 'arm-linux-gnueabihf-strip'
 | |
|   elif target_cpu == 'arm64':
 | |
|     strip = 'aarch64-linux-gnu-strip'
 | |
|   elif target_cpu == 'mips64el':
 | |
|     strip = 'mips64el-redhat-linux-strip'
 | |
|   else:
 | |
|     strip = 'strip'
 | |
|   execute([strip, binary_path])
 | |
| 
 | |
| def execute(argv):
 | |
|   try:
 | |
|     output = subprocess.check_output(argv, stderr=subprocess.STDOUT)
 | |
|     return output
 | |
|   except subprocess.CalledProcessError as e:
 | |
|     print e.output
 | |
|     raise e
 | |
| 
 | |
| def main(argv):
 | |
|   dist_zip, runtime_deps, target_cpu, target_os = argv
 | |
|   dist_files = []
 | |
|   with open(runtime_deps) as f:
 | |
|     for dep in f.readlines():
 | |
|       dep = dep.strip()
 | |
|       dist_files += [dep]
 | |
|   if sys.platform == 'darwin':
 | |
|     mac_zip_results = execute(['zip', '-r', '-y', dist_zip] + dist_files)
 | |
|   else:
 | |
|     with zipfile.ZipFile(dist_zip, 'w', zipfile.ZIP_DEFLATED) as z:
 | |
|       for dep in dist_files:
 | |
|         if target_os == 'linux':
 | |
|             strip_binaries(target_cpu, dep)
 | |
|         if skip_path(dep):
 | |
|           continue
 | |
|         if os.path.isdir(dep):
 | |
|           for root, dirs, files in os.walk(dep):
 | |
|             for file in files:
 | |
|               z.write(os.path.join(root, file))
 | |
|         else:
 | |
|           z.write(dep)
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|   sys.exit(main(sys.argv[1:]))
 |