mirror of https://github.com/ARMmbed/mbed-os.git
export: Remove dublicate methods in Sw4STM32
Removed unused methods and methods with dublicate functionality. Removed unused imports. Generating list of defines for assembler.pull/5184/head
parent
7d2328564b
commit
deb9c1b3ea
|
@ -15,11 +15,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import copy
|
from os.path import splitext, basename, join
|
||||||
|
|
||||||
from os import walk, sep
|
|
||||||
from os.path import splitext, basename, join, dirname, relpath
|
|
||||||
from random import randint
|
|
||||||
from tools.utils import mkdir
|
from tools.utils import mkdir
|
||||||
from tools.export.gnuarmeclipse import GNUARMEclipse
|
from tools.export.gnuarmeclipse import GNUARMEclipse
|
||||||
from tools.export.gnuarmeclipse import UID
|
from tools.export.gnuarmeclipse import UID
|
||||||
|
@ -264,44 +260,6 @@ class Sw4STM32(GNUARMEclipse):
|
||||||
settings = join(self.export_dir, dir_name)
|
settings = join(self.export_dir, dir_name)
|
||||||
mkdir(settings)
|
mkdir(settings)
|
||||||
|
|
||||||
def build_excludelist(self):
|
|
||||||
"""
|
|
||||||
This method creates list for excluded directories.
|
|
||||||
"""
|
|
||||||
self.source_folders = [self.filter_dot(s)
|
|
||||||
for s in set(dirname(src) for src in
|
|
||||||
self.resources.c_sources +
|
|
||||||
self.resources.cpp_sources +
|
|
||||||
self.resources.s_sources)]
|
|
||||||
if '.' in self.source_folders:
|
|
||||||
self.source_folders.remove('.')
|
|
||||||
|
|
||||||
top_folders = [f for f in set(s.split('/')[0]
|
|
||||||
for s in self.source_folders)]
|
|
||||||
|
|
||||||
for top_folder in top_folders:
|
|
||||||
for root, dirs, files in walk(top_folder, topdown=True):
|
|
||||||
# Paths returned by os.walk() must be split with os.dep
|
|
||||||
# to accomodate Windows weirdness.
|
|
||||||
parts = root.split(sep)
|
|
||||||
self.remove_unused('/'.join(parts))
|
|
||||||
|
|
||||||
def remove_unused(self, path):
|
|
||||||
"""
|
|
||||||
Method for checking if path is needed.
|
|
||||||
Method adds path to excluded list if not needed
|
|
||||||
and is not subdirectory of already excluded directory
|
|
||||||
"""
|
|
||||||
found = path in self.include_path
|
|
||||||
needtoadd = True
|
|
||||||
if not found:
|
|
||||||
for directory in self.exclude_dirs:
|
|
||||||
# Do not exclude subfolders from excluded folder
|
|
||||||
if directory + '/' in path:
|
|
||||||
needtoadd = False
|
|
||||||
if needtoadd:
|
|
||||||
self.exclude_dirs.append(path)
|
|
||||||
|
|
||||||
def get_fpu_hardware(self, fpu_unit):
|
def get_fpu_hardware(self, fpu_unit):
|
||||||
"""
|
"""
|
||||||
Convert fpu unit name into hardware name.
|
Convert fpu unit name into hardware name.
|
||||||
|
@ -394,21 +352,15 @@ class Sw4STM32(GNUARMEclipse):
|
||||||
for s in self.resources.inc_dirs]
|
for s in self.resources.inc_dirs]
|
||||||
print ('Include folders: {0}'.format(len(self.include_path)))
|
print ('Include folders: {0}'.format(len(self.include_path)))
|
||||||
|
|
||||||
self.exclude_dirs = []
|
self.compute_exclusions()
|
||||||
self.build_excludelist()
|
|
||||||
|
|
||||||
print ('Exclude folders: {0}'.format(len(self.exclude_dirs)))
|
print ('Exclude folders: {0}'.format(len(self.excluded_folders)))
|
||||||
|
|
||||||
self.exclude_dirs = '|'.join(self.exclude_dirs)
|
|
||||||
|
|
||||||
ld_script = self.filter_dot(self.resources.linker_script)
|
ld_script = self.filter_dot(self.resources.linker_script)
|
||||||
print ('Linker script: {0}'.format(ld_script))
|
print ('Linker script: {0}'.format(ld_script))
|
||||||
|
|
||||||
lib_dirs = [self.filter_dot(s) for s in self.resources.lib_dirs]
|
lib_dirs = [self.filter_dot(s) for s in self.resources.lib_dirs]
|
||||||
|
|
||||||
symbols = [s.replace('"', '"')
|
|
||||||
for s in self.toolchain.get_symbols()]
|
|
||||||
|
|
||||||
for id in ['debug', 'release']:
|
for id in ['debug', 'release']:
|
||||||
opts = {}
|
opts = {}
|
||||||
opts['common'] = {}
|
opts['common'] = {}
|
||||||
|
@ -454,7 +406,13 @@ class Sw4STM32(GNUARMEclipse):
|
||||||
|
|
||||||
self.process_sw_options(opts, flags)
|
self.process_sw_options(opts, flags)
|
||||||
|
|
||||||
opts['as']['defines'] = self.as_defines
|
if opts['as']['usepreprocessor']:
|
||||||
|
opts['as']['other'] += ' -x assembler-with-cpp'
|
||||||
|
for as_def in self.as_defines:
|
||||||
|
if '=' in as_def:
|
||||||
|
opts['as']['other'] += ' -Wa,--defsym ' + as_def
|
||||||
|
else:
|
||||||
|
opts['as']['other'] += ' -Wa,--defsym ' + as_def + '=1'
|
||||||
opts['c']['defines'] = self.c_defines
|
opts['c']['defines'] = self.c_defines
|
||||||
opts['cpp']['defines'] = self.cpp_defines
|
opts['cpp']['defines'] = self.cpp_defines
|
||||||
|
|
||||||
|
@ -481,12 +439,11 @@ class Sw4STM32(GNUARMEclipse):
|
||||||
'name': self.project_name,
|
'name': self.project_name,
|
||||||
'include_paths': self.include_path,
|
'include_paths': self.include_path,
|
||||||
'config_header': config_header,
|
'config_header': config_header,
|
||||||
'exclude_paths': self.exclude_dirs,
|
'exclude_paths': '|'.join(self.excluded_folders),
|
||||||
'ld_script': ld_script,
|
'ld_script': ld_script,
|
||||||
'library_paths': lib_dirs,
|
'library_paths': lib_dirs,
|
||||||
'object_files': self.resources.objects,
|
'object_files': self.resources.objects,
|
||||||
'libraries': libraries,
|
'libraries': libraries,
|
||||||
'symbols': symbols,
|
|
||||||
'board_name': self.BOARDS[self.target.upper()]['name'],
|
'board_name': self.BOARDS[self.target.upper()]['name'],
|
||||||
'mcu_name': self.BOARDS[self.target.upper()]['mcuId'],
|
'mcu_name': self.BOARDS[self.target.upper()]['mcuId'],
|
||||||
'cpp_cmd': " ".join(self.toolchain.preproc),
|
'cpp_cmd': " ".join(self.toolchain.preproc),
|
||||||
|
|
Loading…
Reference in New Issue