• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3# Copyright (c) 2021 Huawei Device Co., Ltd.
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#     http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16import sys
17import shutil
18import argparse
19import subprocess
20import os
21
22
23def copy_strip(args):
24    shutil.copy(args.input, args.output)
25    subprocess.call([args.strip, args.output], shell=False)
26
27
28def main():
29    parser = argparse.ArgumentParser()
30    parser.add_argument('--input', required=True)
31    parser.add_argument('--output', required=True)
32    parser.add_argument('--strip', required=True)
33    parser.add_argument('--mini-debug', required=False)
34    parser.add_argument('--adlt-llvm-tool', required=False)
35    args = parser.parse_args()
36    copy_strip(args)
37    if args.mini_debug == "true":
38        ohos_root_path = os.path.join(os.path.dirname(__file__), '../../..')
39        script_path = os.path.join(os.path.dirname(__file__), '../../../build/toolchain/mini_debug_info.py')
40        clang_base_path = os.path.join(os.path.dirname(__file__), '../../../prebuilts/clang/ohos')
41        cmd_args = [
42            'python3', script_path,
43            '--unstripped-path', args.input,
44            '--stripped-path', args.output,
45            '--root-path', ohos_root_path,
46            '--clang-base-dir', clang_base_path
47        ]
48        if args.adlt_llvm_tool:
49            cmd_args.extend(['--adlt-llvm-tool', args.adlt_llvm_tool])
50        subprocess.call(cmd_args)
51    return 0
52
53if __name__ == '__main__':
54    sys.exit(main())
55