diff options
| author | Bernard Xiong <[email protected]> | 2019-08-18 15:52:53 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-08-18 15:52:53 +0800 |
| commit | 70d6d3674a4a912f7b5f0e21cb1effbcb7d54bfa (patch) | |
| tree | 1a6f36a43f2cbf684477427e9b724bbe72c0a1ed | |
| parent | 39b21b354c17b78afcfdca13a631843c43ddde2c (diff) | |
| parent | e6a07139ce595d7045fc54748544708e5921f2b7 (diff) | |
Merge pull request #2952 from armink/fix_eclipse
Fix eclipse
| -rw-r--r-- | tools/eclipse.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/eclipse.py b/tools/eclipse.py index e4c37892e9..d781a701cb 100644 --- a/tools/eclipse.py +++ b/tools/eclipse.py @@ -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 |
