summaryrefslogtreecommitdiff
path: root/bsp/cvitek/cv18xx_risc-v/gen_ld.py
blob: 7a86f5737c397b55c615b3d7a8defd8efb147a0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import os
import rtconfig
import platform
import subprocess

def generate_ldscript(input, output):

    if not os.path.exists(input):
        print('Error: file', input, 'not found')
        return

    if os.path.exists(output):
        os.remove(output)

    if rtconfig.PLATFORM == 'gcc':

        gcc_cmd = os.path.join(rtconfig.EXEC_PATH, rtconfig.CC)

        # gcc -E -P -x c $input -o $output
        if (platform.system() == 'Windows'):
            child = subprocess.Popen([gcc_cmd, '-E', '-P', '-x', 'c', input, '-o', output], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
        else:
            child = subprocess.Popen(gcc_cmd + f' -E -P -x c {input} -o {output}', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

        child.communicate()

        print(output, 'is generated from', input)