Merge pull request #3521 from theotherjimmy/refurbish-embitz

Repair the Emblocks exporer and rename to EmBitz
pull/3551/head
Sam Grove 2017-01-09 11:28:59 -06:00 committed by GitHub
commit 3a326c0b94
3 changed files with 19 additions and 20 deletions

View File

@ -16,7 +16,7 @@
# limitations under the License. # limitations under the License.
from tools.export import codered, ds5_5, iar, makefile from tools.export import codered, ds5_5, iar, makefile
from tools.export import emblocks, coide, kds, simplicityv3, atmelstudio from tools.export import embitz, coide, kds, simplicityv3, atmelstudio
from tools.export import sw4stm32, e2studio, zip, cmsis, uvision, cdt from tools.export import sw4stm32, e2studio, zip, cmsis, uvision, cdt
from tools.targets import TARGET_NAMES from tools.targets import TARGET_NAMES
@ -30,7 +30,7 @@ EXPORTERS = {
'make_iar': makefile.IAR, 'make_iar': makefile.IAR,
'ds5_5': ds5_5.DS5_5, 'ds5_5': ds5_5.DS5_5,
'iar': iar.IAR, 'iar': iar.IAR,
'emblocks' : emblocks.IntermediateFile, 'embitz' : embitz.EmBitz,
'coide' : coide.CoIDE, 'coide' : coide.CoIDE,
'kds' : kds.KDS, 'kds' : kds.KDS,
'simplicityv3' : simplicityv3.SimplicityV3, 'simplicityv3' : simplicityv3.SimplicityV3,

View File

@ -14,22 +14,16 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
""" """
from exporters import Exporter
from os.path import splitext, basename from os.path import splitext, basename
from tools.targets import TARGETS from tools.targets import TARGET_MAP
from tools.export.exporters import Exporter
# filter all the GCC_ARM targets out of the target list class EmBitz(Exporter):
gccTargets = [] NAME = 'EmBitz'
for t in TARGETS:
if 'GCC_ARM' in t.supported_toolchains:
gccTargets.append(t.name)
class IntermediateFile(Exporter):
NAME = 'EmBlocks'
TOOLCHAIN = 'GCC_ARM' TOOLCHAIN = 'GCC_ARM'
# we support all GCC targets (is handled on IDE side) TARGETS = [target for target, obj in TARGET_MAP.iteritems()
TARGETS = gccTargets if "GCC_ARM" in obj.supported_toolchains]
MBED_CONFIG_HEADER_SUPPORTED = True MBED_CONFIG_HEADER_SUPPORTED = True
@ -41,10 +35,14 @@ class IntermediateFile(Exporter):
} }
@staticmethod
def _remove_symbols(sym_list):
return [s for s in sym_list if not s.startswith("-D")]
def generate(self): def generate(self):
self.resources.win_to_unix() self.resources.win_to_unix()
source_files = [] source_files = []
for r_type, n in IntermediateFile.FILE_TYPES.iteritems(): for r_type, n in self.FILE_TYPES.iteritems():
for file in getattr(self.resources, r_type): for file in getattr(self.resources, r_type):
source_files.append({ source_files.append({
'name': file, 'type': n 'name': file, 'type': n
@ -71,10 +69,11 @@ class IntermediateFile(Exporter):
'symbols': self.toolchain.get_symbols(), 'symbols': self.toolchain.get_symbols(),
'object_files': self.resources.objects, 'object_files': self.resources.objects,
'sys_libs': self.toolchain.sys_libs, 'sys_libs': self.toolchain.sys_libs,
'cc_org': self.flags['common_flags'] + self.flags['c_flags'], 'cc_org': (self.flags['common_flags'] +
'ld_org': self.flags['common_flags'] + self.flags['ld_flags'], self._remove_symbols(self.flags['c_flags'])),
'cppc_org': self.flags['common_flags'] + self.flags['cxx_flags'] 'ld_org': self.flags['ld_flags'],
'cppc_org': (self.flags['common_flags'] +
self._remove_symbols(self.flags['cxx_flags']))
} }
# EmBlocks intermediate file template self.gen_file('embitz/eix.tmpl', ctx, '%s.eix' % self.project_name)
self.gen_file('emblocks.eix.tmpl', ctx, '%s.eix' % self.project_name)