mirror of https://github.com/ARMmbed/mbed-os.git
generate distinct configurations for profiles
- ignore the 'default' profile, it is a duplicate - remove repetitions from .cproject.tmplpull/3561/head
parent
a5f01293a7
commit
269f2b115e
|
|
@ -3,8 +3,10 @@
|
|||
<!-- Generated by the GNU ARM Eclipse exporter from an mBed project. -->
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}}">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}}" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
{% for cfg_key in options %}
|
||||
{% set opts = options[cfg_key] %}
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}}">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}}" moduleId="org.eclipse.cdt.core.settings" name="{{opts['name']}}">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
|
|
@ -16,127 +18,134 @@
|
|||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}}" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}}." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.{{u.id}}" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.{{u.id}}" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.{{options['common']['arm.target.family']}}" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.arch.{{options['common']['arm.target.arch']}}" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.{{u.id}}" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.{{options['common']['arm.target.instructionset']}}" valueType="enumerated"/>
|
||||
{% if options['common']['arm.target.thumbinterwork'] %}
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.{{opts['parent_id']}}" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}}" name="{{opts['name']}}" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['parent_id']}}">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}}." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.{{opts['id']}}.{{u.id}}" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.{{opts['parent_id']}}">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.{{u.id}}" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.{{opts['common']['arm.target.family']}}" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.arch.{{opts['common']['arm.target.arch']}}" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.{{u.id}}" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.{{opts['common']['arm.target.instructionset']}}" valueType="enumerated"/>
|
||||
{% if opts['common']['arm.target.thumbinterwork'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.thumbinterwork.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.thumbinterwork" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['arm.target.endianness'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness.{{options['common']['arm.target.endianness']}}" valueType="enumerated"/>
|
||||
{% if opts['common']['arm.target.endianness'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness.{{opts['common']['arm.target.endianness']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if options['common']['arm.target.fpu.abi'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.{{u.id}}" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.{{options['common']['arm.target.fpu.abi']}}" valueType="enumerated"/>
|
||||
{% if opts['common']['arm.target.fpu.abi'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.{{u.id}}" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.{{opts['common']['arm.target.fpu.abi']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if options['common']['arm.target.fpu.unit'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.{{u.id}}" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.{{options['common']['arm.target.fpu.unit']}}" valueType="enumerated"/>
|
||||
{% if opts['common']['arm.target.fpu.unit'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.{{u.id}}" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.{{opts['common']['arm.target.fpu.unit']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if options['common']['arm.target.unalignedaccess'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess.{{options['common']['arm.target.unalignedaccess']}}" valueType="enumerated"/>
|
||||
{% if opts['common']['arm.target.unalignedaccess'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess.{{opts['common']['arm.target.unalignedaccess']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.{{u.id}}" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.debug" valueType="enumerated"/>
|
||||
{% if options['common']['optimization.messagelength'] %}
|
||||
{% if opts['common']['optimization.level'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.{{u.id}}" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.{{opts['common']['optimization.level']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if opts['common']['optimization.messagelength'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.{{u.id}}" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.signedchar'] %}
|
||||
{% if opts['common']['optimization.signedchar'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.{{u.id}}" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.functionsections'] %}
|
||||
{% if opts['common']['optimization.functionsections'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.{{u.id}}" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.datasections'] %}
|
||||
{% if opts['common']['optimization.datasections'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.{{u.id}}" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.nocommon'] %}
|
||||
{% if opts['common']['optimization.nocommon'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.noinlinefunctions'] %}
|
||||
{% if opts['common']['optimization.noinlinefunctions'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.noinlinefunctions.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.noinlinefunctions" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.freestanding'] %}
|
||||
{% if opts['common']['optimization.freestanding'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.nobuiltin'] %}
|
||||
{% if opts['common']['optimization.nobuiltin'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.spconstant'] %}
|
||||
{% if opts['common']['optimization.spconstant'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.spconstant.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.spconstant" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.PIC'] %}
|
||||
{% if opts['common']['optimization.PIC'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.PIC.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.PIC" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if opts['common']['optimization.nomoveloopinvariants'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nomoveloopinvariants.{{u.id}}" name="Disable loop invariant move (-fno-move-loop-invariants)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nomoveloopinvariants" value="true" valueType="boolean"/>
|
||||
{% if options['common']['optimization.other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.other" value="{{options['common']['optimization.other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
{% if opts['common']['optimization.other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.other" value="{{opts['common']['optimization.other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['warnings.syntaxonly'] %}
|
||||
{% if opts['common']['warnings.syntaxonly'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.syntaxonly.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.syntaxonly" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.pedantic'] %}
|
||||
{% if opts['common']['warnings.pedantic'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedantic.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedantic" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.pedanticerrors'] %}
|
||||
{% if opts['common']['warnings.pedanticerrors'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedanticerrors.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedanticerrors" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.nowarn'] %}
|
||||
{% if opts['common']['warnings.nowarn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.unused'] %}
|
||||
{% if opts['common']['warnings.unused'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.{{u.id}}" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.uninitialized'] %}
|
||||
{% if opts['common']['warnings.uninitialized'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.{{u.id}}" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.allwarn'] %}
|
||||
{% if opts['common']['warnings.allwarn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.{{u.id}}" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.extrawarn'] %}
|
||||
{% if opts['common']['warnings.extrawarn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.{{u.id}}" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.missingdeclaration'] %}
|
||||
{% if opts['common']['warnings.missingdeclaration'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.{{u.id}}" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.conversion'] %}
|
||||
{% if opts['common']['warnings.conversion'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.{{u.id}}" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.pointerarith'] %}
|
||||
{% if opts['common']['warnings.pointerarith'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.{{u.id}}" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.padded'] %}
|
||||
{% if opts['common']['warnings.padded'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.padded.{{u.id}}" name="Warn if padding is included (-Wpadded)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.padded" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.shadow'] %}
|
||||
{% if opts['common']['warnings.shadow'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.{{u.id}}" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.logicalop'] %}
|
||||
{% if opts['common']['warnings.logicalop'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.{{u.id}}" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.agreggatereturn'] %}
|
||||
{% if opts['common']['warnings.agreggatereturn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.{{u.id}}" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.floatequal'] %}
|
||||
{% if opts['common']['warnings.floatequal'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.{{u.id}}" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.toerrors'] %}
|
||||
{% if opts['common']['warnings.toerrors'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['warnings.other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.other" value="{{options['common']['warnings.other']}}" valueType="string"/>
|
||||
{% if opts['common']['warnings.other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.other" value="{{opts['common']['warnings.other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.{{u.id}}" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.max" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.{{u.id}}" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/>
|
||||
|
||||
{% if options['common']['debugging.prof'] %}
|
||||
{% if opts['common']['debugging.level'] != 'none' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.{{u.id}}" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.{{opts['common']['debugging.level']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if opts['common']['debugging.format'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.{{u.id}}" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.{{opts['common']['debugging.format']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if opts['common']['debugging.prof'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.prof.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.prof" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['debugging.gprof'] %}
|
||||
{% if opts['common']['debugging.gprof'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.gprof.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.gprof" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
|
||||
|
|
@ -153,206 +162,203 @@
|
|||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.{{u.id}}" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.{{u.id}}" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.{{u.id}}" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/{{name}}}/Debug" cleanBuildTarget="mbedclean" id="ilg.gnuarmeclipse.managedbuild.cross.builder.{{u.id}}" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<builder buildPath="${workspace_loc:/{{name}}}/BUILD/{{opts['name']}}" cleanBuildTarget="mbedclean" id="ilg.gnuarmeclipse.managedbuild.cross.builder.{{u.id}}" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.{{u.id}}" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
{% if options['as']['usepreprocessor'] %}
|
||||
{% if opts['as']['usepreprocessor'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.{{u.id}}" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['as']['nostdinc'] %}
|
||||
{% if opts['as']['nostdinc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.{{u.id}}" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
{% for path in options['common']['include_paths'] %}
|
||||
{% for path in opts['common']['include_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.{{u.id}}" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
||||
{% for s in options['as']['defines'] %}
|
||||
{% for s in opts['as']['defines'] %}
|
||||
<listOptionValue builtIn="false" value="{{s}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.files.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
{% for file in options['common']['include_files'] %}
|
||||
{% for file in opts['common']['include_files'] %}
|
||||
<listOptionValue builtIn="false" value=""{{file}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['as']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.otherwarnings.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.otherwarnings" value="{{options['as']['otherwarnings']}}" valueType="string"/>
|
||||
{% if opts['as']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.otherwarnings.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.otherwarnings" value="{{opts['as']['otherwarnings']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
{% if options['as']['verbose'] %}
|
||||
{% if opts['as']['verbose'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.verbose.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.verbose" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['as']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other.{{u.id}}" name="Other assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other" value="{{options['as']['other']}}" valueType="string"/>
|
||||
{% if opts['as']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other.{{u.id}}" name="Other assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other" value="{{opts['as']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.{{debug_tool_c_compiler_uid}}" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
{% if options['c']['nostdinc'] %}
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.{{opts['uid']['tool_c_compiler']}}" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
{% if opts['c']['nostdinc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.{{u.id}}" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
{% for path in options['common']['include_paths'] %}
|
||||
{% for path in opts['common']['include_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.{{u.id}}" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
||||
{% for s in options['c']['defines'] %}
|
||||
{% for s in opts['c']['defines'] %}
|
||||
<listOptionValue builtIn="false" value="{{s}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files.{{u.id}}" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
{% for file in options['common']['include_files'] %}
|
||||
{% for file in opts['common']['include_files'] %}
|
||||
<listOptionValue builtIn="false" value=""{{file}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['c']['compiler.std'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.{{options['c']['compiler.std']}}" valueType="enumerated"/>
|
||||
{% if opts['c']['compiler.std'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.{{opts['c']['compiler.std']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if options['c']['otheroptimizations'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otheroptimizations.{{u.id}}" name="Other optimization flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otheroptimizations" useByScannerDiscovery="true" value="{{options['c']['otheroptimizations']}}" valueType="string"/>
|
||||
{% if opts['c']['otheroptimizations'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otheroptimizations.{{u.id}}" name="Other optimization flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otheroptimizations" useByScannerDiscovery="true" value="{{opts['c']['otheroptimizations']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
{% if options['c']['warnings.missingprototypes'] %}
|
||||
{% if opts['c']['warnings.missingprototypes'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.missingprototypes.{{u.id}}" name="Warn if a global function has no prototype (-Wmissing-prototypes)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.missingprototypes" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['warnings.strictprototypes'] %}
|
||||
{% if opts['c']['warnings.strictprototypes'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.strictprototypes.{{u.id}}" name="Warn if a function has no arg type (-Wstrict-prototypes)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.strictprototypes" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['warnings.badfunctioncast'] %}
|
||||
{% if opts['c']['warnings.badfunctioncast'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.badfunctioncast.{{u.id}}" name="Warn if wrong cast (-Wbad-function-cast)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.badfunctioncast" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otherwarnings.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otherwarnings" value="{{options['c']['otherwarnings']}}" valueType="string"/>
|
||||
{% if opts['c']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otherwarnings.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otherwarnings" value="{{opts['c']['otherwarnings']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
{% if options['c']['verbose'] %}
|
||||
{% if opts['c']['verbose'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.verbose.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.verbose" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="{{options['c']['other']}}" valueType="string"/>
|
||||
{% if opts['c']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="{{opts['c']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.{{debug_tool_c_compiler_input_uid}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.{{opts['uid']['tool_c_compiler_input']}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.{{debug_tool_cpp_compiler_uid}}" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
{% if options['cpp']['nostdinc'] %}
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.{{opts['uid']['tool_cpp_compiler']}}" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
{% if opts['cpp']['nostdinc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdinc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdinc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['nostdincpp'] %}
|
||||
{% if opts['cpp']['nostdincpp'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdincpp.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdincpp" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.{{u.id}}" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
{% for path in options['common']['include_paths'] %}
|
||||
{% for path in opts['common']['include_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.{{u.id}}" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
||||
{% for s in options['cpp']['defines'] %}
|
||||
{% for s in opts['cpp']['defines'] %}
|
||||
<listOptionValue builtIn="false" value="{{s}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files.{{u.id}}" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
{% for file in options['common']['include_files'] %}
|
||||
{% for file in opts['common']['include_files'] %}
|
||||
<listOptionValue builtIn="false" value=""{{file}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['cpp']['compiler.std'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std" value="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std.{{options['cpp']['compiler.std']}}" valueType="enumerated"/>
|
||||
{% if opts['cpp']['compiler.std'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std" value="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std.{{opts['cpp']['compiler.std']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['cpp']['optimization.noexceptions'] %}
|
||||
{% if opts['cpp']['optimization.noexceptions'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.noexceptions.{{u.id}}" name="Do not use exceptions (-fno-exceptions)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.noexceptions" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['optimization.nortti'] %}
|
||||
{% if opts['cpp']['optimization.nortti'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nortti.{{u.id}}" name="Do not use RTTI (-fno-rtti)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nortti" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['optimization.nousecxaatexit'] %}
|
||||
{% if opts['cpp']['optimization.nousecxaatexit'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nousecxaatexit.{{u.id}}" name="Do not use _cxa_atexit() (-fno-use-cxa-atexit)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nousecxaatexit" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['optimization.nothreadsafestatics'] %}
|
||||
{% if opts['cpp']['optimization.nothreadsafestatics'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nothreadsafestatics.{{u.id}}" name="Do not use thread-safe statics (-fno-threadsafe-statics)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nothreadsafestatics" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['otheroptimizations'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otheroptimizations.{{u.id}}" name="Other optimization flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otheroptimizations" useByScannerDiscovery="true" value="{{options['cpp']['otheroptimizations']}}" valueType="string"/>
|
||||
{% if opts['cpp']['otheroptimizations'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otheroptimizations.{{u.id}}" name="Other optimization flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otheroptimizations" useByScannerDiscovery="true" value="{{opts['cpp']['otheroptimizations']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['cpp']['warnabi'] %}
|
||||
{% if opts['cpp']['warnabi'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warnabi.{{u.id}}" name="Warn on ABI violations (-Wabi)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warnabi" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.ctordtorprivacy'] %}
|
||||
{% if opts['cpp']['warnings.ctordtorprivacy'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.ctordtorprivacy.{{u.id}}" name="Warn on class privacy (-Wctor-dtor-privacy)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.ctordtorprivacy" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.noexcept'] %}
|
||||
{% if opts['cpp']['warnings.noexcept'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.noexcept.{{u.id}}" name="Warn on no-except expressions (-Wnoexcept)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.noexcept" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.nonvirtualdtor'] %}
|
||||
{% if opts['cpp']['warnings.nonvirtualdtor'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.nonvirtualdtor.{{u.id}}" name="Warn on virtual destructors (-Wnon-virtual-dtor)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.nonvirtualdtor" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.strictnullsentinel'] %}
|
||||
{% if opts['cpp']['warnings.strictnullsentinel'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.strictnullsentinel.{{u.id}}" name="Warn on uncast NULL (-Wstrict-null-sentinel)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.strictnullsentinel" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.signpromo'] %}
|
||||
{% if opts['cpp']['warnings.signpromo'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.signpromo.{{u.id}}" name="Warn on sign promotion (-Wsign-promo)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.signpromo" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warneffc'] %}
|
||||
{% if opts['cpp']['warneffc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warneffc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warneffc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otherwarnings.{{u.id}}" name="Other warning flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otherwarnings" useByScannerDiscovery="true" value="{{options['cpp']['otherwarnings']}}" valueType="string"/>
|
||||
{% if opts['cpp']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otherwarnings.{{u.id}}" name="Other warning flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otherwarnings" useByScannerDiscovery="true" value="{{opts['cpp']['otherwarnings']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['cpp']['verbose'] %}
|
||||
{% if opts['cpp']['verbose'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.verbose.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.verbose" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="{{options['cpp']['other']}}" valueType="string"/>
|
||||
{% if opts['cpp']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="{{opts['cpp']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.{{debug_tool_cpp_compiler_input_uid}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.{{opts['uid']['tool_cpp_compiler_input']}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.{{u.id}}" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.{{u.id}}" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{options['ld']['script']}}""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{opts['ld']['script']}}""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths.{{u.id}}" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths" valueType="libPaths">
|
||||
{% for path in options['ld']['library_paths'] %}
|
||||
{% for path in opts['ld']['library_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs" valueType="libs">
|
||||
{% for lib in options['ld']['user_libraries'] %}
|
||||
{% for lib in opts['ld']['user_libraries'] %}
|
||||
<listOptionValue builtIn="false" value="{{lib}}"/>
|
||||
{% endfor %}
|
||||
{% for lib in options['ld']['system_libraries'] %}
|
||||
{% for lib in opts['ld']['system_libraries'] %}
|
||||
<listOptionValue builtIn="false" value="{{lib}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs" valueType="userObjs">
|
||||
{% for path in options['ld']['object_files'] %}
|
||||
{% for path in opts['ld']['object_files'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['ld']['gcsections'] %}
|
||||
{% if opts['ld']['gcsections'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.{{u.id}}" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['ld']['nostart'] %}
|
||||
{% if opts['ld']['nostart'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart.{{u.id}}" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['ld']['nodeflibs'] %}
|
||||
{% if opts['ld']['nodeflibs'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['ld']['nostdlibs'] %}
|
||||
{% if opts['ld']['nostdlibs'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.flags.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.flags" valueType="stringList">
|
||||
{% for opt in options['ld']['flags'] %}
|
||||
{% for opt in opts['ld']['flags'] %}
|
||||
<listOptionValue builtIn="false" value="{{opt}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
|
||||
{% if options['ld']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="{{options['ld']['other']}}" valueType="string"/>
|
||||
{% if opts['ld']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="{{opts['ld']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
|
|
@ -360,7 +366,10 @@
|
|||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.{{u.id}}" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.{{u.id}}" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.{{u.id}}" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.binary" valueType="enumerated"/>
|
||||
</tool>
|
||||
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.{{u.id}}" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.{{u.id}}" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.{{u.id}}" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
||||
|
|
@ -374,412 +383,31 @@
|
|||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="{{options['common']['excluded_folders']}}" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}}">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}}" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}}" name="Release" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}}." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release.{{u.id}}" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.{{u.id}}" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.{{options['common']['optimization.level']}}" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.{{u.id}}" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.{{options['common']['arm.target.family']}}" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.arch.{{options['common']['arm.target.arch']}}" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.{{u.id}}" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.{{options['common']['arm.target.instructionset']}}" valueType="enumerated"/>
|
||||
{% if options['common']['arm.target.thumbinterwork'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.thumbinterwork.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.thumbinterwork" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['arm.target.endianness'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness.{{options['common']['arm.target.endianness']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['arm.target.fpu.abi'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.{{u.id}}" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.{{options['common']['arm.target.fpu.abi']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if options['common']['arm.target.fpu.unit'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.{{u.id}}" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.{{options['common']['arm.target.fpu.unit']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if options['common']['arm.target.unalignedaccess'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess.{{options['common']['arm.target.unalignedaccess']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['optimization.messagelength'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.{{u.id}}" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.signedchar'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.{{u.id}}" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.functionsections'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.{{u.id}}" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.datasections'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.{{u.id}}" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.nocommon'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.noinlinefunctions'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.noinlinefunctions.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.noinlinefunctions" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.freestanding'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.nobuiltin'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.spconstant'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.spconstant.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.spconstant" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.PIC'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.PIC.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.PIC" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.nomoveloopinvariants'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nomoveloopinvariants.{{u.id}}" name="Disable loop invariant move (-fno-move-loop-invariants)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nomoveloopinvariants" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['optimization.other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.other" value="{{options['common']['optimization.other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['warnings.syntaxonly'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.syntaxonly.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.syntaxonly" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.pedantic'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedantic.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedantic" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.pedanticerrors'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedanticerrors.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pedanticerrors" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.nowarn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.unused'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.{{u.id}}" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.uninitialized'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.{{u.id}}" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.allwarn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.{{u.id}}" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.extrawarn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.{{u.id}}" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.missingdeclaration'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.{{u.id}}" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.conversion'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.{{u.id}}" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.pointerarith'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.{{u.id}}" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.padded'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.padded.{{u.id}}" name="Warn if padding is included (-Wpadded)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.padded" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.shadow'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.{{u.id}}" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.logicalop'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.{{u.id}}" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.agreggatereturn'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.{{u.id}}" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.floatequal'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.{{u.id}}" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['warnings.toerrors'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['warnings.other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.other" value="{{options['common']['warnings.other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['debugging.level'] != 'none' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.{{u.id}}" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.{{options['common']['debugging.level']}}"/>
|
||||
{% endif %}
|
||||
{% if options['common']['debugging.format'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.{{u.id}}" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.{{options['common']['debugging.format']}}"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['common']['debugging.prof'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.prof.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.prof" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['common']['debugging.gprof'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.gprof.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.gprof" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.{{u.id}}" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.{{u.id}}" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.{{u.id}}" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.{{u.id}}" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.{{u.id}}" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.{{u.id}}" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.{{u.id}}" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.{{u.id}}" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.{{u.id}}" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.{{u.id}}" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.{{u.id}}" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.{{u.id}}" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/{{name}}}/Release" cleanBuildTarget="mbedclean" id="ilg.gnuarmeclipse.managedbuild.cross.builder.{{u.id}}" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.{{u.id}}" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
{% if options['as']['usepreprocessor'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.{{u.id}}" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['as']['nostdinc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.{{u.id}}" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
{% for path in options['common']['include_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.{{u.id}}" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
{% for s in options['as']['defines'] %}
|
||||
<listOptionValue builtIn="false" value="{{s}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.files.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
{% for file in options['common']['include_files'] %}
|
||||
<listOptionValue builtIn="false" value=""{{file}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['as']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.otherwarnings.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.otherwarnings" value="{{options['as']['otherwarnings']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
{% if options['as']['verbose'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.verbose.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.verbose" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['as']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other.{{u.id}}" name="Other assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other" value="{{options['as']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.{{release_tool_c_compiler_uid}}" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
{% if options['c']['nostdinc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.{{u.id}}" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
{% for path in options['common']['include_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.{{u.id}}" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
{% for s in options['c']['defines'] %}
|
||||
<listOptionValue builtIn="false" value="{{s}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files.{{u.id}}" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
{% for file in options['common']['include_files'] %}
|
||||
<listOptionValue builtIn="false" value=""{{file}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['c']['compiler.std'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.{{options['c']['compiler.std']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
{% if options['c']['otheroptimizations'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otheroptimizations.{{u.id}}" name="Other optimization flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otheroptimizations" useByScannerDiscovery="true" value="{{options['c']['otheroptimizations']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
{% if options['c']['warnings.missingprototypes'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.missingprototypes.{{u.id}}" name="Warn if a global function has no prototype (-Wmissing-prototypes)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.missingprototypes" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['warnings.strictprototypes'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.strictprototypes.{{u.id}}" name="Warn if a function has no arg type (-Wstrict-prototypes)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.strictprototypes" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['warnings.badfunctioncast'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.badfunctioncast.{{u.id}}" name="Warn if wrong cast (-Wbad-function-cast)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.warning.badfunctioncast" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otherwarnings.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.otherwarnings" value="{{options['c']['otherwarnings']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
{% if options['c']['verbose'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.verbose.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.verbose" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['c']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="{{options['c']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.{{release_tool_c_compiler_input_uid}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.{{release_tool_cpp_compiler_uid}}" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
{% if options['cpp']['nostdinc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdinc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdinc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['nostdincpp'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdincpp.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nostdincpp" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.{{u.id}}" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
{% for path in options['common']['include_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.{{u.id}}" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
{% for s in options['cpp']['defines'] %}
|
||||
<listOptionValue builtIn="false" value="{{s}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files.{{u.id}}" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
{% for file in options['common']['include_files'] %}
|
||||
<listOptionValue builtIn="false" value=""{{file}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['cpp']['compiler.std'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std" value="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std.{{options['cpp']['compiler.std']}}" valueType="enumerated"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['cpp']['optimization.noexceptions'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.noexceptions.{{u.id}}" name="Do not use exceptions (-fno-exceptions)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.noexceptions" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['optimization.nortti'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nortti.{{u.id}}" name="Do not use RTTI (-fno-rtti)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nortti" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['optimization.nousecxaatexit'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nousecxaatexit.{{u.id}}" name="Do not use _cxa_atexit() (-fno-use-cxa-atexit)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nousecxaatexit" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['optimization.nothreadsafestatics'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nothreadsafestatics.{{u.id}}" name="Do not use thread-safe statics (-fno-threadsafe-statics)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.nothreadsafestatics" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['otheroptimizations'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otheroptimizations.{{u.id}}" name="Other optimization flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otheroptimizations" useByScannerDiscovery="true" value="{{options['cpp']['otheroptimizations']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['cpp']['warnabi'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warnabi.{{u.id}}" name="Warn on ABI violations (-Wabi)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warnabi" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.ctordtorprivacy'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.ctordtorprivacy.{{u.id}}" name="Warn on class privacy (-Wctor-dtor-privacy)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.ctordtorprivacy" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.noexcept'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.noexcept.{{u.id}}" name="Warn on no-except expressions (-Wnoexcept)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.noexcept" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.nonvirtualdtor'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.nonvirtualdtor.{{u.id}}" name="Warn on virtual destructors (-Wnon-virtual-dtor)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.nonvirtualdtor" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.strictnullsentinel'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.strictnullsentinel.{{u.id}}" name="Warn on uncast NULL (-Wstrict-null-sentinel)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.strictnullsentinel" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warnings.signpromo'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.signpromo.{{u.id}}" name="Warn on sign promotion (-Wsign-promo)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warning.signpromo" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['warneffc'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warneffc.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.warneffc" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['otherwarnings'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otherwarnings.{{u.id}}" name="Other warning flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.otherwarnings" useByScannerDiscovery="true" value="{{options['cpp']['otherwarnings']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['cpp']['verbose'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.verbose.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.verbose" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['cpp']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="{{options['cpp']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.{{release_tool_cpp_compiler_input_uid}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.{{u.id}}" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.{{u.id}}" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{options['ld']['script']}}""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths.{{u.id}}" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths" valueType="libPaths">
|
||||
{% for path in options['ld']['library_paths'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs" valueType="libs">
|
||||
{% for lib in options['ld']['user_libraries'] %}
|
||||
<listOptionValue builtIn="false" value="{{lib}}"/>
|
||||
{% endfor %}
|
||||
{% for lib in options['ld']['system_libraries'] %}
|
||||
<listOptionValue builtIn="false" value="{{lib}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs" valueType="userObjs">
|
||||
{% for path in options['ld']['object_files'] %}
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/{{path}}""/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
{% if options['ld']['gcsections'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.{{u.id}}" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
|
||||
{% if options['ld']['nostart'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart.{{u.id}}" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['ld']['nodeflibs'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
{% if options['ld']['nostdlibs'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs" value="true" valueType="boolean"/>
|
||||
{% endif %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.flags.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.flags" valueType="stringList">
|
||||
{% for opt in options['ld']['flags'] %}
|
||||
<listOptionValue builtIn="false" value="{{opt}}"/>
|
||||
{% endfor %}
|
||||
</option>
|
||||
|
||||
{% if options['ld']['other'] != '' %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="{{options['ld']['other']}}" valueType="string"/>
|
||||
{% endif %}
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.{{u.id}}" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.{{u.id}}" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.{{u.id}}" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.{{u.id}}" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.{{u.id}}" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.{{u.id}}" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.{{u.id}}" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.{{u.id}}" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.{{u.id}}" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.{{u.id}}" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.{{u.id}}" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="{{options['common']['excluded_folders']}}" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
<entry excluding="{{opts['common']['excluded_folders']}}" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
{% endfor %}
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="{{name}}.ilg.gnuarmeclipse.managedbuild.cross.target.elf.{{u.id}}" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}};ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}}.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.{{debug_tool_cpp_compiler_uid}};ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.{{debug_tool_cpp_compiler_input_uid}}">
|
||||
{% for cfg_key in options %}
|
||||
{% set opts = options[cfg_key] %}
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}};ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}}.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.{{opts['uid']['tool_cpp_compiler']}};ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.{{opts['uid']['tool_cpp_compiler_input']}}">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}};ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}}.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.{{release_tool_cpp_compiler_uid}};ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.{{release_tool_cpp_compiler_input_uid}}">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}};ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.{{debug_config_uid}}.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.{{debug_tool_c_compiler_uid}};ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.{{debug_tool_c_compiler_input_uid}}">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}};ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.{{release_config_uid}}.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.{{release_tool_c_compiler_uid}};ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.{{release_tool_c_compiler_input_uid}}">
|
||||
{% endfor %}
|
||||
{% for cfg_key in options %}
|
||||
{% set opts = options[cfg_key] %}
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}};ilg.gnuarmeclipse.managedbuild.cross.config.elf.{{opts['id']}}.{{opts['uid']['config']}}.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.{{opts['uid']['tool_c_compiler']}};ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.{{opts['uid']['tool_c_compiler_input']}}">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
{% endfor %}
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
|
|
|
|||
|
|
@ -21,19 +21,23 @@ the GNU ARM Eclipse plug-ins.
|
|||
|
||||
Author: Liviu Ionescu <ilg@livius.net>
|
||||
"""
|
||||
from tools.export.exporters import Exporter
|
||||
from os.path import splitext, basename, relpath, dirname, exists
|
||||
from random import randint
|
||||
|
||||
import os
|
||||
import copy
|
||||
import tempfile
|
||||
import shutil
|
||||
import copy
|
||||
|
||||
from subprocess import call, Popen, PIPE
|
||||
from os.path import splitext, basename, relpath, dirname, exists, join, dirname
|
||||
from random import randint
|
||||
from json import load
|
||||
|
||||
# import logging
|
||||
|
||||
from tools.export.exporters import Exporter
|
||||
from tools.options import list_profiles
|
||||
from tools.targets import TARGET_MAP
|
||||
from tools.utils import NotSupportedException
|
||||
from tools.build_api import prepare_toolchain
|
||||
|
||||
# =============================================================================
|
||||
|
||||
|
|
@ -76,6 +80,7 @@ class GNUARMEclipse(Exporter):
|
|||
The difference from the parent function is that it does not
|
||||
add macro definitions, since they are passed separately.
|
||||
"""
|
||||
|
||||
config_header = self.toolchain.get_config_header()
|
||||
flags = {key + "_flags": copy.deepcopy(value) for key, value
|
||||
in self.toolchain.flags.iteritems()}
|
||||
|
|
@ -87,6 +92,31 @@ class GNUARMEclipse(Exporter):
|
|||
config_header)
|
||||
return flags
|
||||
|
||||
def toolchain_flags(self, toolchain):
|
||||
"""Returns a dictionary of toolchain flags.
|
||||
Keys of the dictionary are:
|
||||
cxx_flags - c++ flags
|
||||
c_flags - c flags
|
||||
ld_flags - linker flags
|
||||
asm_flags - assembler flags
|
||||
common_flags - common options
|
||||
|
||||
The difference from the above is that it takes a parameter.
|
||||
"""
|
||||
|
||||
# Note: use the config options from the currently selected toolchain.
|
||||
config_header = self.toolchain.get_config_header()
|
||||
|
||||
flags = {key + "_flags": copy.deepcopy(value) for key, value
|
||||
in toolchain.flags.iteritems()}
|
||||
if config_header:
|
||||
config_header = relpath(config_header,
|
||||
self.resources.file_basepath[config_header])
|
||||
header_options = self.toolchain.get_config_option(config_header)
|
||||
flags['c_flags'] += header_options
|
||||
flags['cxx_flags'] += header_options
|
||||
return flags
|
||||
|
||||
# override
|
||||
def generate(self):
|
||||
"""
|
||||
|
|
@ -98,21 +128,13 @@ class GNUARMEclipse(Exporter):
|
|||
print
|
||||
print 'Create a GNU ARM Eclipse C++ managed project'
|
||||
print 'Project name: {0}'.format(self.project_name)
|
||||
print 'Build configurations: Debug & Release'
|
||||
print 'Target: {0}'.format(self.toolchain.target.name)
|
||||
print 'Toolchain: {0}'.format(self.TOOLCHAIN)
|
||||
|
||||
self.resources.win_to_unix()
|
||||
|
||||
# TODO: use some logger to display additional info if verbose
|
||||
|
||||
# There are 4 categories of options, a category common too
|
||||
# all tools and a specific category for each of the tools.
|
||||
self.options = {}
|
||||
self.options['common'] = {}
|
||||
self.options['as'] = {}
|
||||
self.options['c'] = {}
|
||||
self.options['cpp'] = {}
|
||||
self.options['ld'] = {}
|
||||
|
||||
libraries = []
|
||||
# print 'libraries'
|
||||
# print self.resources.libraries
|
||||
|
|
@ -124,8 +146,21 @@ class GNUARMEclipse(Exporter):
|
|||
'stdc++', 'supc++', 'm', 'c', 'gcc', 'nosys'
|
||||
]
|
||||
|
||||
# Read in all profiles, we'll extract compiler options.
|
||||
profiles = self.get_all_profiles()
|
||||
|
||||
# Remove 'default', it should never exist, it should be a link
|
||||
# to one of the real profiles.
|
||||
if 'default' in profiles:
|
||||
del profiles['default']
|
||||
|
||||
profile_ids = [s.lower() for s in profiles]
|
||||
profile_ids.sort()
|
||||
|
||||
# TODO: get the list from existing .cproject
|
||||
build_folders = ['Debug', 'Release', 'BUILD']
|
||||
build_folders = [s.capitalize() for s in profile_ids]
|
||||
build_folders.append('BUILD')
|
||||
# print build_folders
|
||||
|
||||
objects = [self.filter_dot(s) for s in self.resources.objects]
|
||||
for bf in build_folders:
|
||||
|
|
@ -135,51 +170,102 @@ class GNUARMEclipse(Exporter):
|
|||
|
||||
self.compute_exclusions()
|
||||
|
||||
self.process_options()
|
||||
|
||||
self.options['as']['defines'] = self.toolchain.get_symbols(True)
|
||||
self.options['c']['defines'] = self.toolchain.get_symbols()
|
||||
self.options['cpp']['defines'] = self.toolchain.get_symbols()
|
||||
print 'Symbols: {0}'.format(len(self.options['cpp']['defines']))
|
||||
|
||||
self.options['common']['include_paths'] = [
|
||||
self.include_path = [
|
||||
self.filter_dot(s) for s in self.resources.inc_dirs]
|
||||
print 'Include folders: {0}'.format(len(self.options['common']['include_paths']))
|
||||
self.options['common']['excluded_folders'] = '|'.join(
|
||||
self.excluded_folders)
|
||||
print 'Include folders: {0}'.format(len(self.include_path))
|
||||
|
||||
self.options['ld']['library_paths'] = [
|
||||
self.filter_dot(s) for s in self.resources.lib_dirs]
|
||||
self.as_defines = self.toolchain.get_symbols(True)
|
||||
self.c_defines = self.toolchain.get_symbols()
|
||||
self.cpp_defines = self.c_defines
|
||||
print 'Symbols: {0}'.format(len(self.c_defines))
|
||||
|
||||
self.options['ld']['object_files'] = objects
|
||||
|
||||
self.options['ld']['user_libraries'] = libraries
|
||||
|
||||
self.options['ld']['system_libraries'] = self.system_libraries
|
||||
|
||||
self.options['ld']['script'] = self.filter_dot(
|
||||
self.ld_script = self.filter_dot(
|
||||
self.resources.linker_script)
|
||||
print 'Linker script: {0}'.format(self.options['ld']['script'])
|
||||
print 'Linker script: {0}'.format(self.ld_script)
|
||||
|
||||
ctx = {
|
||||
self.options = {}
|
||||
for id in profile_ids:
|
||||
|
||||
# There are 4 categories of options, a category common too
|
||||
# all tools and a specific category for each of the tools.
|
||||
opts = {}
|
||||
opts['common'] = {}
|
||||
opts['as'] = {}
|
||||
opts['c'] = {}
|
||||
opts['cpp'] = {}
|
||||
opts['ld'] = {}
|
||||
|
||||
opts['id'] = id
|
||||
opts['name'] = opts['id'].capitalize()
|
||||
|
||||
print
|
||||
print 'Build configuration: {0}'.format(opts['name'])
|
||||
|
||||
profile = profiles[id]
|
||||
profile_toolchain = profile[self.TOOLCHAIN]
|
||||
|
||||
# A small hack, do not bother with src_path again,
|
||||
# pass an empty string to avoid crashing.
|
||||
src_paths = ['']
|
||||
target_name = self.toolchain.target.name
|
||||
toolchain = prepare_toolchain(
|
||||
src_paths, target_name, self.TOOLCHAIN, build_profile=profile_toolchain)
|
||||
|
||||
# Hack to fill in build_dir
|
||||
toolchain.build_dir = self.toolchain.build_dir
|
||||
|
||||
flags = self.toolchain_flags(toolchain)
|
||||
|
||||
print 'Common flags:', ' '.join(flags['common_flags'])
|
||||
print 'C++ flags:', ' '.join(flags['cxx_flags'])
|
||||
print 'C flags:', ' '.join(flags['c_flags'])
|
||||
print 'ASM flags:', ' '.join(flags['asm_flags'])
|
||||
print 'Linker flags:', ' '.join(flags['ld_flags'])
|
||||
|
||||
# Most GNU ARM Eclipse options have a parent,
|
||||
# either debug or release.
|
||||
if '-O0' in flags['common_flags'] or '-Og' in flags['common_flags']:
|
||||
opts['parent_id'] = 'debug'
|
||||
else:
|
||||
opts['parent_id'] = 'release'
|
||||
|
||||
self.process_options(opts, flags)
|
||||
|
||||
opts['as']['defines'] = self.as_defines
|
||||
opts['c']['defines'] = self.c_defines
|
||||
opts['cpp']['defines'] = self.cpp_defines
|
||||
|
||||
opts['common']['include_paths'] = self.include_path
|
||||
opts['common']['excluded_folders'] = '|'.join(
|
||||
self.excluded_folders)
|
||||
|
||||
opts['ld']['library_paths'] = [
|
||||
self.filter_dot(s) for s in self.resources.lib_dirs]
|
||||
|
||||
opts['ld']['object_files'] = objects
|
||||
opts['ld']['user_libraries'] = libraries
|
||||
opts['ld']['system_libraries'] = self.system_libraries
|
||||
opts['ld']['script'] = self.ld_script
|
||||
|
||||
# Unique IDs used in multiple places.
|
||||
# Those used only once are implemented with {{u.id}}.
|
||||
uid = {}
|
||||
uid['config'] = u.id
|
||||
uid['tool_c_compiler'] = u.id
|
||||
uid['tool_c_compiler_input'] = u.id
|
||||
uid['tool_cpp_compiler'] = u.id
|
||||
uid['tool_cpp_compiler_input'] = u.id
|
||||
|
||||
opts['uid'] = uid
|
||||
|
||||
self.options[id] = opts
|
||||
|
||||
jinja_ctx = {
|
||||
'name': self.project_name,
|
||||
|
||||
# Compiler & linker command line options
|
||||
'options': self.options,
|
||||
|
||||
# Unique IDs used in multiple places.
|
||||
# Those used only once are implemented with {{u.id}}.
|
||||
'debug_config_uid': u.id,
|
||||
'debug_tool_c_compiler_uid': u.id,
|
||||
'debug_tool_c_compiler_input_uid': u.id,
|
||||
'debug_tool_cpp_compiler_uid': u.id,
|
||||
'debug_tool_cpp_compiler_input_uid': u.id,
|
||||
'release_config_uid': u.id,
|
||||
'release_tool_c_compiler_uid': u.id,
|
||||
'release_tool_c_compiler_input_uid': u.id,
|
||||
'release_tool_cpp_compiler_uid': u.id,
|
||||
'release_tool_cpp_compiler_input_uid': u.id,
|
||||
|
||||
# Must be an object with an `id` property, which
|
||||
# will be called repeatedly, to generate multiple UIDs.
|
||||
'u': u,
|
||||
|
|
@ -187,11 +273,23 @@ class GNUARMEclipse(Exporter):
|
|||
|
||||
# TODO: it would be good to have jinja stop if one of the
|
||||
# expected context values is not defined.
|
||||
self.gen_file('gnuarmeclipse/.project.tmpl', ctx, '.project', trim_blocks=True, lstrip_blocks=True)
|
||||
self.gen_file('gnuarmeclipse/.cproject.tmpl', ctx, '.cproject', trim_blocks=True, lstrip_blocks=True)
|
||||
self.gen_file('gnuarmeclipse/makefile.targets.tmpl', ctx, 'makefile.targets', trim_blocks=True, lstrip_blocks=True)
|
||||
self.gen_file('gnuarmeclipse/.project.tmpl', jinja_ctx,
|
||||
'.project', trim_blocks=True, lstrip_blocks=True)
|
||||
self.gen_file('gnuarmeclipse/.cproject.tmpl', jinja_ctx,
|
||||
'.cproject', trim_blocks=True, lstrip_blocks=True)
|
||||
self.gen_file('gnuarmeclipse/makefile.targets.tmpl', jinja_ctx,
|
||||
'makefile.targets', trim_blocks=True, lstrip_blocks=True)
|
||||
|
||||
print 'Done.'
|
||||
if not exists('.mbedignore'):
|
||||
print
|
||||
print 'Create .mbedignore'
|
||||
with open('.mbedignore', 'w') as f:
|
||||
for bf in build_folders:
|
||||
print bf + '/'
|
||||
f.write(bf + '/\n')
|
||||
|
||||
print
|
||||
print 'Done. Import the \'{0}\' project in Eclipse.'.format(self.project_name)
|
||||
|
||||
# override
|
||||
@staticmethod
|
||||
|
|
@ -226,7 +324,7 @@ class GNUARMEclipse(Exporter):
|
|||
tmp_folder = tempfile.mkdtemp()
|
||||
|
||||
cmd = [
|
||||
'eclipse',
|
||||
'eclipse',
|
||||
'--launcher.suppressErrors',
|
||||
'-nosplash',
|
||||
'-application org.eclipse.cdt.managedbuilder.core.headlessbuild',
|
||||
|
|
@ -243,7 +341,6 @@ class GNUARMEclipse(Exporter):
|
|||
err_string = "=" * 10 + "STDERR" + "=" * 10 + "\n"
|
||||
err_string += err
|
||||
|
||||
|
||||
ret_string = "SUCCESS\n"
|
||||
if ret_code != 0:
|
||||
ret_string += "FAILURE\n"
|
||||
|
|
@ -280,6 +377,29 @@ class GNUARMEclipse(Exporter):
|
|||
# Seems like something went wrong.
|
||||
return -1
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
@staticmethod
|
||||
def get_all_profiles():
|
||||
tools_path = dirname(dirname(dirname(__file__)))
|
||||
file_names = [join(tools_path, "profiles", fn) for fn in os.listdir(
|
||||
join(tools_path, "profiles")) if fn.endswith(".json")]
|
||||
|
||||
# print file_names
|
||||
|
||||
profile_names = [basename(fn).replace(".json", "")
|
||||
for fn in file_names]
|
||||
# print profile_names
|
||||
|
||||
profiles = {}
|
||||
|
||||
for fn in file_names:
|
||||
content = load(open(fn))
|
||||
profile_name = basename(fn).replace(".json", "")
|
||||
profiles[profile_name] = content
|
||||
|
||||
return profiles
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# Process source files/folders exclusions.
|
||||
|
||||
|
|
@ -332,7 +452,7 @@ class GNUARMEclipse(Exporter):
|
|||
if skip:
|
||||
continue
|
||||
|
||||
# Further process only leaf paths, (that do not have
|
||||
# Further process only leaf paths, (that do not have
|
||||
# sub-folders).
|
||||
if len(dirs) == 0:
|
||||
# The path is reconstructed using POSIX separators.
|
||||
|
|
@ -421,7 +541,8 @@ class GNUARMEclipse(Exporter):
|
|||
def dump_tree(self, nodes, depth=0):
|
||||
for k in nodes.keys():
|
||||
node = nodes[k]
|
||||
parent_name = node['parent']['name'] if 'parent' in node.keys() else ''
|
||||
parent_name = node['parent'][
|
||||
'name'] if 'parent' in node.keys() else ''
|
||||
print ' ' * depth, node['name'], node['is_used'], parent_name
|
||||
if len(node['children'].keys()) != 0:
|
||||
self.dump_tree(node['children'], depth + 1)
|
||||
|
|
@ -441,7 +562,7 @@ class GNUARMEclipse(Exporter):
|
|||
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
def process_options(self):
|
||||
def process_options(self, opts, flags_in):
|
||||
"""
|
||||
CDT managed projects store lots of build options in separate
|
||||
variables, with separate IDs in the .cproject file.
|
||||
|
|
@ -462,7 +583,9 @@ class GNUARMEclipse(Exporter):
|
|||
given the large number of explicit configuration options
|
||||
used by the GNU ARM Eclipse managed build plug-in, it is tedious...
|
||||
"""
|
||||
flags = self.flags
|
||||
|
||||
# Make a copy of the flags, to be one by one removed after processing.
|
||||
flags = copy.deepcopy(flags_in)
|
||||
|
||||
if False:
|
||||
print
|
||||
|
|
@ -474,10 +597,10 @@ class GNUARMEclipse(Exporter):
|
|||
|
||||
# Initialise the 'last resort' options where all unrecognised
|
||||
# options will be collected.
|
||||
self.options['as']['other'] = ''
|
||||
self.options['c']['other'] = ''
|
||||
self.options['cpp']['other'] = ''
|
||||
self.options['ld']['other'] = ''
|
||||
opts['as']['other'] = ''
|
||||
opts['c']['other'] = ''
|
||||
opts['cpp']['other'] = ''
|
||||
opts['ld']['other'] = ''
|
||||
|
||||
MCPUS = {
|
||||
'Cortex-M0': {'mcpu': 'cortex-m0', 'fpu_unit': None},
|
||||
|
|
@ -498,53 +621,53 @@ class GNUARMEclipse(Exporter):
|
|||
# As 'plan B', get the CPU from the target definition.
|
||||
core = self.toolchain.target.core
|
||||
|
||||
self.options['common']['arm.target.family'] = None
|
||||
opts['common']['arm.target.family'] = None
|
||||
|
||||
# cortex-m0, cortex-m0-small-multiply, cortex-m0plus,
|
||||
# cortex-m0plus-small-multiply, cortex-m1, cortex-m1-small-multiply,
|
||||
# cortex-m3, cortex-m4, cortex-m7.
|
||||
str = self.find_options(flags['common_flags'], '-mcpu=')
|
||||
if str != None:
|
||||
self.options['common']['arm.target.family'] = str[len('-mcpu='):]
|
||||
opts['common']['arm.target.family'] = str[len('-mcpu='):]
|
||||
self.remove_option(flags['common_flags'], str)
|
||||
self.remove_option(flags['ld_flags'], str)
|
||||
else:
|
||||
if core not in MCPUS:
|
||||
raise NotSupportedException(
|
||||
'Target core {0} not supported.'.format(core))
|
||||
self.options['common']['arm.target.family'] = MCPUS[core]['mcpu']
|
||||
opts['common']['arm.target.family'] = MCPUS[core]['mcpu']
|
||||
|
||||
self.options['common']['arm.target.arch'] = 'none'
|
||||
opts['common']['arm.target.arch'] = 'none'
|
||||
str = self.find_options(flags['common_flags'], '-march=')
|
||||
arch = str[len('-march='):]
|
||||
archs = {'armv6-m': 'armv6-m', 'armv7-m': 'armv7-m'}
|
||||
if arch in archs:
|
||||
self.options['common']['arm.target.arch'] = archs[arh]
|
||||
opts['common']['arm.target.arch'] = archs[arh]
|
||||
self.remove_option(flags['common_flags'], str)
|
||||
|
||||
self.options['common']['arm.target.instructionset'] = 'thumb'
|
||||
opts['common']['arm.target.instructionset'] = 'thumb'
|
||||
if '-mthumb' in flags['common_flags']:
|
||||
self.remove_option(flags['common_flags'], '-mthumb')
|
||||
self.remove_option(flags['ld_flags'], '-mthumb')
|
||||
elif '-marm' in flags['common_flags']:
|
||||
self.options['common']['arm.target.instructionset'] = 'arm'
|
||||
opts['common']['arm.target.instructionset'] = 'arm'
|
||||
self.remove_option(flags['common_flags'], '-marm')
|
||||
self.remove_option(flags['ld_flags'], '-marm')
|
||||
|
||||
self.options['common']['arm.target.thumbinterwork'] = False
|
||||
opts['common']['arm.target.thumbinterwork'] = False
|
||||
if '-mthumb-interwork' in flags['common_flags']:
|
||||
self.options['common']['arm.target.thumbinterwork'] = True
|
||||
opts['common']['arm.target.thumbinterwork'] = True
|
||||
self.remove_option(flags['common_flags'], '-mthumb-interwork')
|
||||
|
||||
self.options['common']['arm.target.endianness'] = None
|
||||
opts['common']['arm.target.endianness'] = None
|
||||
if '-mlittle-endian' in flags['common_flags']:
|
||||
self.options['common']['arm.target.endianness'] = 'little'
|
||||
opts['common']['arm.target.endianness'] = 'little'
|
||||
self.remove_option(flags['common_flags'], '-mlittle-endian')
|
||||
elif '-mbig-endian' in flags['common_flags']:
|
||||
self.options['common']['arm.target.endianness'] = 'big'
|
||||
opts['common']['arm.target.endianness'] = 'big'
|
||||
self.remove_option(flags['common_flags'], '-mbig-endian')
|
||||
|
||||
self.options['common']['arm.target.fpu.unit'] = None
|
||||
opts['common']['arm.target.fpu.unit'] = None
|
||||
# default, fpv4spd16, fpv5d16, fpv5spd16
|
||||
str = self.find_options(flags['common_flags'], '-mfpu=')
|
||||
if str != None:
|
||||
|
|
@ -555,36 +678,36 @@ class GNUARMEclipse(Exporter):
|
|||
'fpv5-sp-d16': 'fpv5spd16'
|
||||
}
|
||||
if fpu in fpus:
|
||||
self.options['common']['arm.target.fpu.unit'] = fpus[fpu]
|
||||
opts['common']['arm.target.fpu.unit'] = fpus[fpu]
|
||||
|
||||
self.remove_option(flags['common_flags'], str)
|
||||
self.remove_option(flags['ld_flags'], str)
|
||||
if self.options['common']['arm.target.fpu.unit'] == None:
|
||||
if opts['common']['arm.target.fpu.unit'] == None:
|
||||
if core not in MCPUS:
|
||||
raise NotSupportedException(
|
||||
'Target core {0} not supported.'.format(core))
|
||||
if MCPUS[core]['fpu_unit']:
|
||||
self.options['common'][
|
||||
opts['common'][
|
||||
'arm.target.fpu.unit'] = MCPUS[core]['fpu_unit']
|
||||
|
||||
# soft, softfp, hard.
|
||||
str = self.find_options(flags['common_flags'], '-mfloat-abi=')
|
||||
if str != None:
|
||||
self.options['common']['arm.target.fpu.abi'] = str[
|
||||
opts['common']['arm.target.fpu.abi'] = str[
|
||||
len('-mfloat-abi='):]
|
||||
self.remove_option(flags['common_flags'], str)
|
||||
self.remove_option(flags['ld_flags'], str)
|
||||
|
||||
self.options['common']['arm.target.unalignedaccess'] = None
|
||||
opts['common']['arm.target.unalignedaccess'] = None
|
||||
if '-munaligned-access' in flags['common_flags']:
|
||||
self.options['common']['arm.target.unalignedaccess'] = 'enabled'
|
||||
opts['common']['arm.target.unalignedaccess'] = 'enabled'
|
||||
self.remove_option(flags['common_flags'], '-munaligned-access')
|
||||
elif '-mno-unaligned-access' in flags['common_flags']:
|
||||
self.options['common']['arm.target.unalignedaccess'] = 'disabled'
|
||||
opts['common']['arm.target.unalignedaccess'] = 'disabled'
|
||||
self.remove_option(flags['common_flags'], '-mno-unaligned-access')
|
||||
|
||||
# Default optimisation level for Release.
|
||||
self.options['common']['optimization.level'] = '-Os'
|
||||
opts['common']['optimization.level'] = '-Os'
|
||||
|
||||
# If the project defines an optimisation level, it is used
|
||||
# only for the Release configuration, the Debug one used '-Og'.
|
||||
|
|
@ -595,7 +718,7 @@ class GNUARMEclipse(Exporter):
|
|||
'-O3': 'most', '-Os': 'size', '-Og': 'debug'
|
||||
}
|
||||
if str in levels:
|
||||
self.options['common']['optimization.level'] = levels[str]
|
||||
opts['common']['optimization.level'] = levels[str]
|
||||
self.remove_option(flags['common_flags'], str)
|
||||
|
||||
include_files = []
|
||||
|
|
@ -608,10 +731,10 @@ class GNUARMEclipse(Exporter):
|
|||
self.remove_option(all_flags, '-include')
|
||||
self.remove_option(all_flags, str)
|
||||
|
||||
self.options['common']['include_files'] = include_files
|
||||
opts['common']['include_files'] = include_files
|
||||
|
||||
if '-ansi' in flags['c_flags']:
|
||||
self.options['c']['compiler.std'] = '-ansi'
|
||||
opts['c']['compiler.std'] = '-ansi'
|
||||
self.remove_option(flags['c_flags'], str)
|
||||
else:
|
||||
str = self.find_options(flags['c_flags'], '-std')
|
||||
|
|
@ -622,11 +745,11 @@ class GNUARMEclipse(Exporter):
|
|||
'c11': 'c11', 'c1x': 'c11', 'gnu11': 'gnu11', 'gnu1x': 'gnu11'
|
||||
}
|
||||
if std in c_std:
|
||||
self.options['c']['compiler.std'] = c_std[std]
|
||||
opts['c']['compiler.std'] = c_std[std]
|
||||
self.remove_option(flags['c_flags'], str)
|
||||
|
||||
if '-ansi' in flags['cxx_flags']:
|
||||
self.options['cpp']['compiler.std'] = '-ansi'
|
||||
opts['cpp']['compiler.std'] = '-ansi'
|
||||
self.remove_option(flags['cxx_flags'], str)
|
||||
else:
|
||||
str = self.find_options(flags['cxx_flags'], '-std')
|
||||
|
|
@ -641,7 +764,7 @@ class GNUARMEclipse(Exporter):
|
|||
'c++1z': 'cpp1z', 'gnu++1z': 'gnucpp1z',
|
||||
}
|
||||
if std in cpp_std:
|
||||
self.options['cpp']['compiler.std'] = cpp_std[std]
|
||||
opts['cpp']['compiler.std'] = cpp_std[std]
|
||||
self.remove_option(flags['cxx_flags'], str)
|
||||
|
||||
# Common optimisation options.
|
||||
|
|
@ -660,9 +783,9 @@ class GNUARMEclipse(Exporter):
|
|||
}
|
||||
|
||||
for option in optimization_options:
|
||||
self.options['common'][optimization_options[option]] = False
|
||||
opts['common'][optimization_options[option]] = False
|
||||
if option in flags['common_flags']:
|
||||
self.options['common'][optimization_options[option]] = True
|
||||
opts['common'][optimization_options[option]] = True
|
||||
self.remove_option(flags['common_flags'], option)
|
||||
|
||||
# Common warning options.
|
||||
|
|
@ -687,9 +810,9 @@ class GNUARMEclipse(Exporter):
|
|||
}
|
||||
|
||||
for option in warning_options:
|
||||
self.options['common'][warning_options[option]] = False
|
||||
opts['common'][warning_options[option]] = False
|
||||
if option in flags['common_flags']:
|
||||
self.options['common'][warning_options[option]] = True
|
||||
opts['common'][warning_options[option]] = True
|
||||
self.remove_option(flags['common_flags'], option)
|
||||
|
||||
# Common debug options.
|
||||
|
|
@ -698,10 +821,10 @@ class GNUARMEclipse(Exporter):
|
|||
'-g1': 'minimal',
|
||||
'-g3': 'max',
|
||||
}
|
||||
self.options['common']['debugging.level'] = 'none'
|
||||
opts['common']['debugging.level'] = 'none'
|
||||
for option in debug_levels:
|
||||
if option in flags['common_flags']:
|
||||
self.options['common'][
|
||||
opts['common'][
|
||||
'debugging.level'] = debug_levels[option]
|
||||
self.remove_option(flags['common_flags'], option)
|
||||
|
||||
|
|
@ -715,57 +838,57 @@ class GNUARMEclipse(Exporter):
|
|||
'-gdwarf-5': 'dwarf5',
|
||||
}
|
||||
|
||||
self.options['common']['debugging.format'] = ''
|
||||
opts['common']['debugging.format'] = ''
|
||||
for option in debug_levels:
|
||||
if option in flags['common_flags']:
|
||||
self.options['common'][
|
||||
opts['common'][
|
||||
'debugging.format'] = debug_formats[option]
|
||||
self.remove_option(flags['common_flags'], option)
|
||||
|
||||
self.options['common']['debugging.prof'] = False
|
||||
opts['common']['debugging.prof'] = False
|
||||
if '-p' in flags['common_flags']:
|
||||
self.options['common']['debugging.prof'] = True
|
||||
opts['common']['debugging.prof'] = True
|
||||
self.remove_option(flags['common_flags'], '-p')
|
||||
|
||||
self.options['common']['debugging.gprof'] = False
|
||||
opts['common']['debugging.gprof'] = False
|
||||
if '-pg' in flags['common_flags']:
|
||||
self.options['common']['debugging.gprof'] = True
|
||||
opts['common']['debugging.gprof'] = True
|
||||
self.remove_option(flags['common_flags'], '-gp')
|
||||
|
||||
# Assembler options.
|
||||
self.options['as']['usepreprocessor'] = False
|
||||
opts['as']['usepreprocessor'] = False
|
||||
while '-x' in flags['asm_flags']:
|
||||
ix = flags['asm_flags'].index('-x')
|
||||
str = flags['asm_flags'][ix + 1]
|
||||
|
||||
if str == 'assembler-with-cpp':
|
||||
self.options['as']['usepreprocessor'] = True
|
||||
opts['as']['usepreprocessor'] = True
|
||||
else:
|
||||
# Collect all other assembler options.
|
||||
self.options['as']['other'] += ' -x ' + str
|
||||
opts['as']['other'] += ' -x ' + str
|
||||
|
||||
self.remove_option(flags['asm_flags'], '-x')
|
||||
self.remove_option(flags['asm_flags'], 'assembler-with-cpp')
|
||||
|
||||
self.options['as']['nostdinc'] = False
|
||||
opts['as']['nostdinc'] = False
|
||||
if '-nostdinc' in flags['asm_flags']:
|
||||
self.options['as']['nostdinc'] = True
|
||||
opts['as']['nostdinc'] = True
|
||||
self.remove_option(flags['asm_flags'], '-nostdinc')
|
||||
|
||||
self.options['as']['verbose'] = False
|
||||
opts['as']['verbose'] = False
|
||||
if '-v' in flags['asm_flags']:
|
||||
self.options['as']['verbose'] = True
|
||||
opts['as']['verbose'] = True
|
||||
self.remove_option(flags['asm_flags'], '-v')
|
||||
|
||||
# C options.
|
||||
self.options['c']['nostdinc'] = False
|
||||
opts['c']['nostdinc'] = False
|
||||
if '-nostdinc' in flags['c_flags']:
|
||||
self.options['c']['nostdinc'] = True
|
||||
opts['c']['nostdinc'] = True
|
||||
self.remove_option(flags['c_flags'], '-nostdinc')
|
||||
|
||||
self.options['c']['verbose'] = False
|
||||
opts['c']['verbose'] = False
|
||||
if '-v' in flags['c_flags']:
|
||||
self.options['c']['verbose'] = True
|
||||
opts['c']['verbose'] = True
|
||||
self.remove_option(flags['c_flags'], '-v')
|
||||
|
||||
warning_options = {
|
||||
|
|
@ -775,20 +898,20 @@ class GNUARMEclipse(Exporter):
|
|||
}
|
||||
|
||||
for option in warning_options:
|
||||
self.options['c'][warning_options[option]] = False
|
||||
opts['c'][warning_options[option]] = False
|
||||
if option in flags['common_flags']:
|
||||
self.options['c'][warning_options[option]] = True
|
||||
opts['c'][warning_options[option]] = True
|
||||
self.remove_option(flags['common_flags'], option)
|
||||
|
||||
# C++ options.
|
||||
self.options['cpp']['nostdinc'] = False
|
||||
opts['cpp']['nostdinc'] = False
|
||||
if '-nostdinc' in flags['cxx_flags']:
|
||||
self.options['cpp']['nostdinc'] = True
|
||||
opts['cpp']['nostdinc'] = True
|
||||
self.remove_option(flags['cxx_flags'], '-nostdinc')
|
||||
|
||||
self.options['cpp']['nostdincpp'] = False
|
||||
opts['cpp']['nostdincpp'] = False
|
||||
if '-nostdinc++' in flags['cxx_flags']:
|
||||
self.options['cpp']['nostdincpp'] = True
|
||||
opts['cpp']['nostdincpp'] = True
|
||||
self.remove_option(flags['cxx_flags'], '-nostdinc++')
|
||||
|
||||
optimization_options = {
|
||||
|
|
@ -799,12 +922,12 @@ class GNUARMEclipse(Exporter):
|
|||
}
|
||||
|
||||
for option in optimization_options:
|
||||
self.options['cpp'][optimization_options[option]] = False
|
||||
opts['cpp'][optimization_options[option]] = False
|
||||
if option in flags['cxx_flags']:
|
||||
self.options['cpp'][optimization_options[option]] = True
|
||||
opts['cpp'][optimization_options[option]] = True
|
||||
self.remove_option(flags['cxx_flags'], option)
|
||||
if option in flags['common_flags']:
|
||||
self.options['cpp'][optimization_options[option]] = True
|
||||
opts['cpp'][optimization_options[option]] = True
|
||||
self.remove_option(flags['common_flags'], option)
|
||||
|
||||
warning_options = {
|
||||
|
|
@ -818,17 +941,17 @@ class GNUARMEclipse(Exporter):
|
|||
}
|
||||
|
||||
for option in warning_options:
|
||||
self.options['cpp'][warning_options[option]] = False
|
||||
opts['cpp'][warning_options[option]] = False
|
||||
if option in flags['cxx_flags']:
|
||||
self.options['cpp'][warning_options[option]] = True
|
||||
opts['cpp'][warning_options[option]] = True
|
||||
self.remove_option(flags['cxx_flags'], option)
|
||||
if option in flags['common_flags']:
|
||||
self.options['cpp'][warning_options[option]] = True
|
||||
opts['cpp'][warning_options[option]] = True
|
||||
self.remove_option(flags['common_flags'], option)
|
||||
|
||||
self.options['cpp']['verbose'] = False
|
||||
opts['cpp']['verbose'] = False
|
||||
if '-v' in flags['cxx_flags']:
|
||||
self.options['cpp']['verbose'] = True
|
||||
opts['cpp']['verbose'] = True
|
||||
self.remove_option(flags['cxx_flags'], '-v')
|
||||
|
||||
# Linker options.
|
||||
|
|
@ -839,72 +962,73 @@ class GNUARMEclipse(Exporter):
|
|||
}
|
||||
|
||||
for option in linker_options:
|
||||
self.options['ld'][linker_options[option]] = False
|
||||
opts['ld'][linker_options[option]] = False
|
||||
if option in flags['ld_flags']:
|
||||
self.options['ld'][linker_options[option]] = True
|
||||
opts['ld'][linker_options[option]] = True
|
||||
self.remove_option(flags['ld_flags'], option)
|
||||
|
||||
self.options['ld']['gcsections'] = False
|
||||
opts['ld']['gcsections'] = False
|
||||
if '-Wl,--gc-sections' in flags['ld_flags']:
|
||||
self.options['ld']['gcsections'] = True
|
||||
opts['ld']['gcsections'] = True
|
||||
self.remove_option(flags['ld_flags'], '-Wl,--gc-sections')
|
||||
|
||||
self.options['ld']['flags'] = []
|
||||
opts['ld']['flags'] = []
|
||||
to_remove = []
|
||||
for opt in flags['ld_flags']:
|
||||
if opt.startswith('-Wl,--wrap,'):
|
||||
self.options['ld']['flags'].append('--wrap='+opt[len('-Wl,--wrap,'):])
|
||||
opts['ld']['flags'].append(
|
||||
'--wrap=' + opt[len('-Wl,--wrap,'):])
|
||||
to_remove.append(opt)
|
||||
for opt in to_remove:
|
||||
self.remove_option(flags['ld_flags'], opt)
|
||||
self.remove_option(flags['ld_flags'], opt)
|
||||
|
||||
# Other tool remaining options are separated by category.
|
||||
self.options['as']['otherwarnings'] = self.find_options(
|
||||
opts['as']['otherwarnings'] = self.find_options(
|
||||
flags['asm_flags'], '-W')
|
||||
|
||||
self.options['c']['otherwarnings'] = self.find_options(
|
||||
opts['c']['otherwarnings'] = self.find_options(
|
||||
flags['c_flags'], '-W')
|
||||
self.options['c']['otheroptimizations'] = self.find_options(flags[
|
||||
'c_flags'], '-f')
|
||||
opts['c']['otheroptimizations'] = self.find_options(flags[
|
||||
'c_flags'], '-f')
|
||||
|
||||
self.options['cpp']['otherwarnings'] = self.find_options(
|
||||
opts['cpp']['otherwarnings'] = self.find_options(
|
||||
flags['cxx_flags'], '-W')
|
||||
self.options['cpp']['otheroptimizations'] = self.find_options(
|
||||
opts['cpp']['otheroptimizations'] = self.find_options(
|
||||
flags['cxx_flags'], '-f')
|
||||
|
||||
# Other common remaining options are separated by category.
|
||||
self.options['common']['optimization.other'] = self.find_options(
|
||||
opts['common']['optimization.other'] = self.find_options(
|
||||
flags['common_flags'], '-f')
|
||||
self.options['common']['warnings.other'] = self.find_options(
|
||||
opts['common']['warnings.other'] = self.find_options(
|
||||
flags['common_flags'], '-W')
|
||||
|
||||
# Remaining common flags are added to each tool.
|
||||
self.options['as']['other'] += ' ' + \
|
||||
opts['as']['other'] += ' ' + \
|
||||
' '.join(flags['common_flags']) + ' ' + \
|
||||
' '.join(flags['asm_flags'])
|
||||
self.options['c']['other'] += ' ' + \
|
||||
opts['c']['other'] += ' ' + \
|
||||
' '.join(flags['common_flags']) + ' ' + ' '.join(flags['c_flags'])
|
||||
self.options['cpp']['other'] += ' ' + \
|
||||
opts['cpp']['other'] += ' ' + \
|
||||
' '.join(flags['common_flags']) + ' ' + \
|
||||
' '.join(flags['cxx_flags'])
|
||||
self.options['ld']['other'] += ' ' + \
|
||||
opts['ld']['other'] += ' ' + \
|
||||
' '.join(flags['common_flags']) + ' ' + ' '.join(flags['ld_flags'])
|
||||
|
||||
if len(self.system_libraries) > 0:
|
||||
self.options['ld']['other'] += ' -Wl,--start-group '
|
||||
self.options['ld'][
|
||||
opts['ld']['other'] += ' -Wl,--start-group '
|
||||
opts['ld'][
|
||||
'other'] += ' '.join('-l' + s for s in self.system_libraries)
|
||||
self.options['ld']['other'] += ' -Wl,--end-group '
|
||||
opts['ld']['other'] += ' -Wl,--end-group '
|
||||
|
||||
# Strip all 'other' flags, since they might have leading spaces.
|
||||
self.options['as']['other'] = self.options['as']['other'].strip()
|
||||
self.options['c']['other'] = self.options['c']['other'].strip()
|
||||
self.options['cpp']['other'] = self.options['cpp']['other'].strip()
|
||||
self.options['ld']['other'] = self.options['ld']['other'].strip()
|
||||
opts['as']['other'] = opts['as']['other'].strip()
|
||||
opts['c']['other'] = opts['c']['other'].strip()
|
||||
opts['cpp']['other'] = opts['cpp']['other'].strip()
|
||||
opts['ld']['other'] = opts['ld']['other'].strip()
|
||||
|
||||
if False:
|
||||
print
|
||||
print self.options
|
||||
print opts
|
||||
|
||||
print
|
||||
print 'common_flags', flags['common_flags']
|
||||
|
|
|
|||
Loading…
Reference in New Issue