123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- import os
- import os.path
- import subprocess
- import sys
- import shutil
- install_dir = '/ipa-kernel-tests'
- def get_args():
- class Args:
- pass
- args = Args()
- try:
- args.cc_path = os.path.dirname(os.environ['CROSS_COMPILE'])
- except:
- args.cc_path = None
- try:
- args.arch = os.environ['ARCH']
- except:
- raise Exception("ARCH must be set")
- try:
- args.kdir = os.environ['KDIR']
- except:
- raise Exception("KDIR must be set")
- try:
- args.dest = os.environ['DESTDIR']
- except:
- raise Exception("DESTDIR must be set")
- return args
- def do(cmd, wdir=None):
- cwd = None
- if wdir:
- cwd = os.getcwd()
- os.chdir(wdir)
- subprocess.check_call(cmd)
- if cwd:
- os.chdir(cwd)
- def build(args):
- if args.cc_path:
- os.environ['PATH'] = args.cc_path + ':' + os.environ['PATH']
- args.uapi = args.kdir + '/usr/include'
- args.src = args.kdir + '/techpack/dataipa/kernel-tests'
- args.inc = args.kdir + '/techpack/dataipa/drivers/platform/msm/ipa/ipa_test_module'
- full_uapi = os.path.abspath(args.uapi)
- os.environ['CPPFLAGS'] = ('-I' + full_uapi)
- full_inc = os.path.abspath(args.inc)
- os.environ['CPPFLAGS'] += (' -I' + full_inc)
- configure(args, args.src)
- do(['make'], args.src)
- do(['make', 'DESTDIR=' + args.dest, 'install'], args.src)
- def configure(args, wdir):
- if os.path.isfile(os.path.join(wdir, 'config.h')):
- return
- do(['libtoolize'], wdir)
- do(['./autogen.sh'], wdir)
- full_idir = os.path.abspath(os.path.join(wdir, install_dir))
- host_str = 'arm-linux-gnueabihf'
- config_extra = ''
- if args.arch == 'arm64':
- host_str = 'aarch64-linux-gnu'
- config_extra = '--disable-swp'
- do(['./configure',
- '--host=' + host_str,
- '--prefix=' + full_idir,
- config_extra], wdir)
- def main():
- rc = 0
- try:
- args = get_args()
- build(args)
- except Exception as e:
- rc = 1
- print(e)
- sys.exit(rc)
- if __name__ == '__main__':
- main()
|