lcc/pylcc/lib/clcc.py (33 lines of code) (raw):

# -*- coding: utf-8 -*- """ ------------------------------------------------- File Name: clcc Description : Author : liaozhaoyan date: 2022/6/12 ------------------------------------------------- Change Activity: 2022/6/12: ------------------------------------------------- """ __author__ = 'liaozhaoyan' from .lbcBase import ClbcLoad import argparse examples = """examples:""" def main(): parser = argparse.ArgumentParser( description="compile libbpf app from remote server.", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=examples ) parser.add_argument('-f', '--file', type=str, dest='file', default="", help='set file to compile.') parser.add_argument('-e', '--env', type=str, dest='env', default="", help='set compile env.') parser.add_argument('-a', '--arch', type=str, dest='arch', default="", help='set architecture.') parser.add_argument('-v', '--version', type=str, dest='ver', default="", help='set kernel version.') parser.add_argument('-i', '--include', type=str, dest='inc', default=None, help='set include path.') parser.add_argument('-o', '--obj', dest='obj', default=False, action="store_true", help='compile object file only.') parser.set_defaults(obj=False) args = parser.parse_args() if args.file == "": parser.print_help() raise ValueError("need to set **.bpf.c file to compile.") if "/" in args.file: raise ValueError("The file name cannot contain a directory(/).") if args.obj: opt = "obj" else: opt = "so" ClbcLoad(args.file, arch=args.arch, ver=args.ver, incPath=args.inc, env=args.env, opt=opt, btf=False) if __name__ == "__main__": main() pass