diff --git a/workspace_tools/export/uvision4.py b/workspace_tools/export/uvision4.py index d49dbbe44d5..7f26bfde2da 100644 --- a/workspace_tools/export/uvision4.py +++ b/workspace_tools/export/uvision4.py @@ -67,11 +67,11 @@ def generate(self): # get flags from toolchain and apply project_data['tool_specific']['uvision']['misc'] = {} - project_data['tool_specific']['uvision']['misc']['asm_flags'] = self.toolchain.flags['common'] + self.toolchain.flags['asm'] - project_data['tool_specific']['uvision']['misc']['c_flags'] = self.toolchain.flags['common'] + self.toolchain.flags['c'] + project_data['tool_specific']['uvision']['misc']['asm_flags'] = list(set(self.toolchain.flags['common'] + self.toolchain.flags['asm'])) + project_data['tool_specific']['uvision']['misc']['c_flags'] = list(set(self.toolchain.flags['common'] + self.toolchain.flags['c'])) # not compatible with c99 flag set in the template project_data['tool_specific']['uvision']['misc']['c_flags'].remove("--c99") - project_data['tool_specific']['uvision']['misc']['cxx_flags'] = self.toolchain.flags['common'] + self.toolchain.flags['ld'] + project_data['tool_specific']['uvision']['misc']['cxx_flags'] = list(set(self.toolchain.flags['common'] + self.toolchain.flags['ld'])) project_data['tool_specific']['uvision']['misc']['ld_flags'] = self.toolchain.flags['ld'] i = 0 diff --git a/workspace_tools/export/uvision5.py b/workspace_tools/export/uvision5.py index 6f72b7d9b97..a8813799a0c 100644 --- a/workspace_tools/export/uvision5.py +++ b/workspace_tools/export/uvision5.py @@ -64,6 +64,16 @@ def generate(self): project_data['tool_specific'] = {} project_data['tool_specific'].update(tool_specific) + + # get flags from toolchain and apply + project_data['tool_specific']['uvision5']['misc'] = {} + project_data['tool_specific']['uvision5']['misc']['asm_flags'] = list(set(self.toolchain.flags['common'] + self.toolchain.flags['asm'])) + project_data['tool_specific']['uvision5']['misc']['c_flags'] = list(set(self.toolchain.flags['common'] + self.toolchain.flags['c'])) + # not compatible with c99 flag set in the template + project_data['tool_specific']['uvision5']['misc']['c_flags'].remove("--c99") + project_data['tool_specific']['uvision5']['misc']['cxx_flags'] = list(set(self.toolchain.flags['common'] + self.toolchain.flags['ld'])) + project_data['tool_specific']['uvision5']['misc']['ld_flags'] = self.toolchain.flags['ld'] + i = 0 for macro in project_data['common']['macros']: # armasm does not like floating numbers in macros, timestamp to int diff --git a/workspace_tools/toolchains/arm.py b/workspace_tools/toolchains/arm.py index d4c3b8b1d11..447cabbfee7 100644 --- a/workspace_tools/toolchains/arm.py +++ b/workspace_tools/toolchains/arm.py @@ -34,8 +34,8 @@ class ARM(mbedToolchain): DEFAULT_FLAGS = { 'common': ["--apcs=interwork", "--brief_diagnostics"], - 'asm': ['-I%s' % ARM_INC], - 'c': ["-c", "--gnu", "-Otime", "--restrict", "--multibyte_chars", "--split_sections", "--md", "--no_depend_system_headers", '-I%s' % ARM_INC, + 'asm': ['-I"%s"' % ARM_INC], + 'c': ["-c", "--gnu", "-Otime", "--restrict", "--multibyte_chars", "--split_sections", "--md", "--no_depend_system_headers", '-I"%s"' % ARM_INC, "--c99", "-D__ASSERT_MSG" ], 'cxx': ["--cpp", "--no_rtti", "-D__ASSERT_MSG"], 'ld': [],