Update vpc_parser.py

Adds a natural way to parse a single VPC file

Used in an upcoming commit.
This commit is contained in:
halotroop2288 2023-01-08 14:15:45 -08:00 committed by Caroline Joy Bell
parent ca168b6f4b
commit ee9e377721
No known key found for this signature in database
GPG Key ID: F90D5CBC4764E559

View File

@ -102,14 +102,27 @@ def fix_dos_path( path ):
return find_path+filename return find_path+filename
def parse_vpcs( env, vpcs, basedir ): def parse_vpcs( env, vpcs, basedir ):
back_path = os.path.abspath('.') defines = []
os.chdir(env.SUBPROJECT_PATH[0]) includes = []
sources = []
for vpc in vpcs:
contents = parse_vpc(env, vpc, basedir)
defines += contents["defines"]
includes += contents["includes"]
sources += contents["sources"]
return {'defines':defines, 'includes':includes, 'sources': sources}
def parse_vpc( env, vpc, basedir ):
sources = [] sources = []
defines = [] defines = []
includes = [] includes = []
for vpc in vpcs: back_path = os.path.abspath('.')
os.chdir(env.SUBPROJECT_PATH[0])
f=open(vpc, 'r').read().replace('\\\n', ';') f=open(vpc, 'r').read().replace('\\\n', ';')
re.sub(r'//.*', '', f) re.sub(r'//.*', '', f)
@ -179,6 +192,7 @@ def parse_vpcs( env ,vpcs, basedir ):
j = j.replace('\\','/') j = j.replace('\\','/')
if j != '' and j not in includes: if j != '' and j not in includes:
includes.append(j) includes.append(j)
os.chdir(back_path) os.chdir(back_path)
return {'defines':defines, 'includes':includes, 'sources': sources} return {'defines':defines, 'includes':includes, 'sources': sources}