diff options
author | 2020-12-03 15:20:07 +0900 | |
---|---|---|
committer | 2020-12-03 17:09:56 +0900 | |
commit | 4ee686ddca07cb9cc2df05a73877e011cafa123e (patch) | |
tree | bb42b365ff71a69052ed8add8eee6b5917054a3e /scripts/conv_linker_config.py | |
parent | 7ad102164b890bf81d1e4be0f5f727e91fc9073a (diff) |
Add 'append' command for conv_linker_config
Add 'append' command for conv_linker_config so any item can be appended
to linker.config.pb file.
Bug: 174646355
Test: buildbot_build.sh succeeded
Change-Id: Ic3f12ee5e5c0e7ca7c27d4a8cff347e93061eb5f
Diffstat (limited to 'scripts/conv_linker_config.py')
-rw-r--r-- | scripts/conv_linker_config.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/conv_linker_config.py b/scripts/conv_linker_config.py index fca71ad56..22fe9f671 100644 --- a/scripts/conv_linker_config.py +++ b/scripts/conv_linker_config.py @@ -64,6 +64,21 @@ def SystemProvide(args): f.write(pb.SerializeToString()) +def Append(args): + pb = linker_config_pb2.LinkerConfig() + with open(args.source, 'rb') as f: + pb.ParseFromString(f.read()) + + if getattr(type(pb), args.key).DESCRIPTOR.label == FieldDescriptor.LABEL_REPEATED: + for value in args.value.split(): + getattr(pb, args.key).append(value) + else: + setattr(pb, args.key, args.value) + + with open(args.output, 'wb') as f: + f.write(pb.SerializeToString()) + + def GetArgParser(): parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() @@ -120,6 +135,32 @@ def GetArgParser(): help='Path of the system image.') system_provide_libs.set_defaults(func=SystemProvide) + append = subparsers.add_parser( + 'append', help='Append value(s) to given key.') + append.add_argument( + '-s', + '--source', + required=True, + type=str, + help='Source linker configuration file in protobuf.') + append.add_argument( + '-o', + '--output', + required=True, + type=str, + help='Target linker configuration file to write in protobuf.') + append.add_argument( + '--key', + required=True, + type=str, + help='.') + append.add_argument( + '--value', + required=True, + type=str, + help='Values of the libraries to append. If there are more than one it should be separated by empty space') + append.set_defaults(func=Append) + return parser |