65 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env python
 | 
						|
from __future__ import print_function
 | 
						|
import argparse
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
from lib.util import execute, get_out_dir
 | 
						|
 | 
						|
LINUX_BINARIES_TO_STRIP = [
 | 
						|
  'electron',
 | 
						|
  'chrome-sandbox',
 | 
						|
  'libffmpeg.so',
 | 
						|
  'libGLESv2.so',
 | 
						|
  'libEGL.so',
 | 
						|
  'swiftshader/libGLESv2.so',
 | 
						|
  'swiftshader/libEGL.so',
 | 
						|
  'libvk_swiftshader.so'
 | 
						|
]
 | 
						|
 | 
						|
def strip_binaries(directory, target_cpu):
 | 
						|
  for binary in LINUX_BINARIES_TO_STRIP:
 | 
						|
    binary_path = os.path.join(directory, binary)
 | 
						|
    if os.path.isfile(binary_path):
 | 
						|
      strip_binary(binary_path, 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 main():
 | 
						|
  args = parse_args()
 | 
						|
  print(args)
 | 
						|
  if args.file:
 | 
						|
    strip_binary(args.file, args.target_cpu)
 | 
						|
  else:
 | 
						|
    strip_binaries(args.directory, args.target_cpu)
 | 
						|
 | 
						|
def parse_args():
 | 
						|
  parser = argparse.ArgumentParser(description='Strip linux binaries')
 | 
						|
  parser.add_argument('-d', '--directory',
 | 
						|
                      help='Path to the dir that contains files to strip.',
 | 
						|
                      default=get_out_dir(),
 | 
						|
                      required=False)
 | 
						|
  parser.add_argument('-f', '--file',
 | 
						|
                      help='Path to a specific file to strip.',
 | 
						|
                      required=False)
 | 
						|
  parser.add_argument('-v', '--verbose',
 | 
						|
                      action='store_true',
 | 
						|
                      help='Prints the output of the subprocesses')
 | 
						|
  parser.add_argument('--target-cpu',
 | 
						|
                      default='',
 | 
						|
                      required=False,
 | 
						|
                      help='Target cpu of binaries to strip')
 | 
						|
 | 
						|
  return parser.parse_args()
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
  sys.exit(main())
 |