Merge pull request #2952 from armink/fix_eclipse

Fix eclipse
This commit is contained in:
Bernard Xiong 2019-08-18 15:52:53 +08:00 committed by GitHub
commit 70d6d3674a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 0 deletions

View File

@ -181,6 +181,7 @@ def HandleToolOption(tools, env, project, reset):
if tool.get('id').find('c.linker') != -1:
options = tool.findall('option')
for option in options:
# update linker script config
if option.get('id').find('c.linker.scriptfile') != -1:
linker_script = 'link.lds'
items = env['LINKFLAGS'].split(' ')
@ -201,12 +202,31 @@ def HandleToolOption(tools, env, project, reset):
linker_script = ConverToEclipsePathFormat(items[items.index('-T') + 1]).strip('"')
option.set('value',linker_script)
# update nostartfiles config
if option.get('id').find('c.linker.nostart') != -1:
if env['LINKFLAGS'].find('-nostartfiles') != -1:
option.set('value', 'true')
else:
option.set('value', 'false')
# update libs
if option.get('id').find('c.linker.libs') != -1 and env.has_key('LIBS'):
# remove old libs
for item in option.findall('listOptionValue'):
option.remove(item)
# add new libs
for lib in env['LIBS']:
SubElement(option, 'listOptionValue', {'builtIn': 'false', 'value': lib})
# update lib paths
if option.get('id').find('c.linker.paths') != -1 and env.has_key('LIBPATH'):
# remove old lib paths
for item in option.findall('listOptionValue'):
option.remove(item)
# add new old lib paths
for path in env['LIBPATH']:
SubElement(option, 'listOptionValue', {'builtIn': 'false', 'value': path})
return