mbed-os/tools/export/mcuxpresso/.cproject.tmpl

279 lines
27 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
{% for cfg_key in options %}
{% set opts = options[cfg_key] %}
<cconfiguration id="com.crt.advproject.config.exe.{{opts['id']}}.{{opts['uid']['config']}}">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.config.exe.{{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"/>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" 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 artifactExtension="axf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="{{opts['name']}} build" errorParsers="org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.config.exe.{{opts['id']}}.{{opts['uid']['config']}}" name="{{opts['name']}}" parent="com.crt.advproject.config.exe.{{opts['id']}}" postannouncebuildStep="Performing post-build steps" postbuildStep="arm-none-eabi-size &quot;${BuildArtifactFileName}&quot; ; arm-none-eabi-objcopy -v -O binary &quot;${BuildArtifactFileName}&quot; &quot;${BuildArtifactFileBaseName}.bin&quot; ; checksum -p ${TargetChip} -d &quot;${BuildArtifactFileBaseName}.bin&quot;">
<folderInfo id="com.crt.advproject.config.exe.{{opts['id']}}.{{opts['uid']['config']}}" name="/" resourcePath="">
<toolChain id="com.crt.advproject.toolchain.exe.{{opts['id']}}.{{u.id}}" name="NXP MCU Tools" superClass="com.crt.advproject.toolchain.exe.{{opts['parent_id']}}">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.exe.{{opts['id']}}.{{u.id}}" name="ARM-based MCU ({{opts['name']}})" superClass="com.crt.advproject.platform.exe.{{opts['id']}}"/>
<builder buildPath="${workspace_loc:/{{name}}}/{{opts['name']}}" cleanBuildTarget="mbedclean" id="com.crt.advproject.builder.exe.{{opts['id']}}.{{u.id}}" incrementalBuildTarget="{{opts['ld']['script']}} all" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.crt.advproject.builder.exe.{{opts['id']}}"/>
<tool id="com.crt.advproject.cpp.exe.{{opts['id']}}.{{opts['uid']['tool_cpp_compiler']}}" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.exe.{{opts['id']}}">
<option id="com.crt.advproject.cpp.specs.{{u.id}}" name="Specs" superClass="com.crt.advproject.cpp.specs" value="com.crt.advproject.cpp.specs.newlibnano" valueType="enumerated"/>
<option id="com.crt.advproject.cpp.arch.{{u.id}}" name="Architecture" superClass="com.crt.advproject.cpp.arch" value="com.crt.advproject.cpp.target.{{opts['common']['arm.target.family_nxp']}}" valueType="enumerated"/>
{% if opts['common']['optimization.level'] != '' %}
<option id="com.crt.advproject.cpp.exe.{{opts['id']}}.option.optimization.level.{{u.id}}" name="Optimization Level" superClass="com.crt.advproject.cpp.exe.{{opts['id']}}.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.{{opts['common']['optimization.level']}}" valueType="enumerated"/>
{% endif %}
<option id="gnu.cpp.compiler.option.optimization.flags.{{u.id}}" superClass="gnu.cpp.compiler.option.optimization.flags" useByScannerDiscovery="false" value="{{opts['cpp']['otheroptimizations']}} {{opts['common']['optimization.other']}}" valueType="string"/>
{% if opts['cpp']['compiler.std'] %}
<option id="com.crt.advproject.cpp.misc.dialect.{{u.id}}" name="Language standard" superClass="com.crt.advproject.cpp.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.{{opts['cpp']['compiler.std']}}" valueType="enumerated"/>
{% endif %}
<option id="gnu.cpp.compiler.option.preprocessor.def.{{u.id}}" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
{% for s in opts['cpp']['defines'] %}
<listOptionValue builtIn="false" value="{{s|replace("\"", "\\\"")|escape}}"/>
{% endfor %}
</option>
<option id="gnu.cpp.compiler.option.include.paths.{{u.id}}" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
{% for path in opts['common']['include_paths'] %}
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/{{path}}&quot;"/>
{% endfor %}
</option>
<option id="gnu.cpp.compiler.option.include.files.{{u.id}}" name="Include files (-include)" superClass="gnu.cpp.compiler.option.include.files" valueType="includeFiles">
{% for file in opts['common']['include_files'] %}
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/{{file}}&quot;"/>
{% endfor %}
</option>
{% if opts['common']['warnings.syntaxonly'] %}
<option id="gnu.cpp.compiler.option.warnings.syntax.{{u.id}}" superClass="gnu.cpp.compiler.option.warnings.syntax" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.pedantic'] %}
<option id="gnu.cpp.compiler.option.warnings.pedantic.{{u.id}}" superClass="gnu.cpp.compiler.option.warnings.pedantic" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.pedanticerrors'] %}
<option id="gnu.cpp.compiler.option.warnings.pedantic.error.{{u.id}}" superClass="gnu.cpp.compiler.option.warnings.pedantic.error" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.nowarn'] %}
<option id="gnu.cpp.compiler.option.warnings.nowarn.{{u.id}}" superClass="gnu.cpp.compiler.option.warnings.nowarn" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.allwarn'] %}
<option id="gnu.cpp.compiler.option.warnings.allwarn.{{u.id}}" name="Enable all common warnings (-Wall)" superClass="gnu.cpp.compiler.option.warnings.allwarn" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.extrawarn'] %}
<option id="gnu.cpp.compiler.option.warnings.extrawarn.{{u.id}}" name="Enable extra warnings (-Wextra)" superClass="gnu.cpp.compiler.option.warnings.extrawarn" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.toerrors'] %}
<option id="gnu.cpp.compiler.option.warnings.toerrors.{{u.id}}" superClass="gnu.cpp.compiler.option.warnings.toerrors" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.conversion'] %}
<option id="gnu.cpp.compiler.option.warnings.wconversion.{{u.id}}" name="Warn on implicit conversions (-Wconversion)" superClass="gnu.cpp.compiler.option.warnings.wconversion" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['optimization.lto'] %}
<option id="com.crt.advproject.cpp.lto.{{u.id}}" name="Enable Link-time optimization (-flto)" superClass="com.crt.advproject.cpp.lto" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['optimization.lto_objects'] %}
<option id="com.crt.advproject.cpp.lto.fat.{{u.id}}" name="Fat lto objects (-ffat-lto-objects)" superClass="com.crt.advproject.cpp.lto.fat" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['cpp']['verbose'] %}
<option id="gnu.cpp.compiler.option.other.verbose.{{u.id}}" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['arm.target.fpu.unit_nxp'] %}
<option id="com.crt.advproject.cpp.fpu.{{u.id}}" name="Floating point" superClass="com.crt.advproject.cpp.fpu" useByScannerDiscovery="false" value="com.crt.advproject.cpp.fpu.{{opts['common']['arm.target.fpu.unit_nxp']}}" valueType="enumerated"/>
{% endif %}
<option id="gnu.cpp.compiler.option.other.other.{{u.id}}" superClass="gnu.cpp.compiler.option.other.other" useByScannerDiscovery="false" value="-c {{opts['cpp']['other']}} {{opts['common']['warnings.other']}}" valueType="string"/>
<inputType id="com.crt.advproject.compiler.cpp.input.{{opts['uid']['tool_cpp_compiler_input']}}" superClass="com.crt.advproject.compiler.cpp.input"/>
</tool>
<tool id="com.crt.advproject.gcc.exe.{{opts['id']}}.{{opts['uid']['tool_c_compiler']}}" name="MCU C Compiler" superClass="com.crt.advproject.gcc.exe.{{opts['id']}}">
<option id="com.crt.advproject.gcc.hdrlib.{{u.id}}" name="Library headers" superClass="com.crt.advproject.gcc.hdrlib" value="com.crt.advproject.gcc.hdrlib.newlibnano" valueType="enumerated"/>
<option id="com.crt.advproject.gcc.specs.{{u.id}}" name="Specs" superClass="com.crt.advproject.gcc.specs" value="com.crt.advproject.gcc.specs.newlibnano" valueType="enumerated"/>
<option id="com.crt.advproject.gcc.arch.{{u.id}}" name="Architecture" superClass="com.crt.advproject.gcc.arch" value="com.crt.advproject.gcc.target.{{opts['common']['arm.target.family_nxp']}}" valueType="enumerated"/>
{% if opts['common']['optimization.level'] != '' %}
<option id="com.crt.advproject.gcc.exe.{{opts['id']}}.option.optimization.level.{{u.id}}" name="Optimization Level" superClass="com.crt.advproject.gcc.exe.{{opts['id']}}.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.{{opts['common']['optimization.level']}}" valueType="enumerated"/>
{% endif %}
<option id="gnu.c.compiler.option.optimization.flags.{{u.id}}" superClass="gnu.c.compiler.option.optimization.flags" useByScannerDiscovery="false" value="{{opts['c']['otheroptimizations']}} {{opts['common']['optimization.other']}}" valueType="string"/>
{% if opts['c']['compiler.std'] %}
<option id="com.crt.advproject.c.misc.dialect.{{u.id}}" name="Language standard" superClass="com.crt.advproject.c.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.{{opts['c']['compiler.std']}}" valueType="enumerated"/>
{% endif %}
<option id="gnu.c.compiler.option.preprocessor.def.symbols.{{u.id}}" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
{% for s in opts['c']['defines'] %}
<listOptionValue builtIn="false" value="{{s|replace("\"", "\\\"")|escape}}"/>
{% endfor %}
</option>
<option id="gnu.c.compiler.option.include.paths.{{u.id}}" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
{% for path in opts['common']['include_paths'] %}
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/{{path}}&quot;"/>
{% endfor %}
</option>
<option id="gnu.c.compiler.option.include.files.{{u.id}}" name="Include files (-include)" superClass="gnu.c.compiler.option.include.files" valueType="includeFiles">
{% for file in opts['common']['include_files'] %}
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/{{file}}&quot;"/>
{% endfor %}
</option>
{% if opts['common']['warnings.syntaxonly'] %}
<option id="gnu.c.compiler.option.warnings.syntax.{{u.id}}" superClass="gnu.c.compiler.option.warnings.syntax" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.pedantic'] %}
<option id="gnu.c.compiler.option.warnings.pedantic.{{u.id}}" superClass="gnu.c.compiler.option.warnings.pedantic" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.pedanticerrors'] %}
<option id="gnu.c.compiler.option.warnings.pedantic.error.{{u.id}}" superClass="gnu.c.compiler.option.warnings.pedantic.error" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.nowarn'] %}
<option id="gnu.c.compiler.option.warnings.nowarn.{{u.id}}" superClass="gnu.c.compiler.option.warnings.nowarn" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.allwarn'] %}
<option id="gnu.c.compiler.option.warnings.allwarn.{{u.id}}" name="Enable all common warnings (-Wall)" superClass="gnu.c.compiler.option.warnings.allwarn" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.extrawarn'] %}
<option id="gnu.c.compiler.option.warnings.extrawarn.{{u.id}}" name="Enable extra warnings (-Wextra)" superClass="gnu.c.compiler.option.warnings.extrawarn" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.toerrors'] %}
<option id="gnu.c.compiler.option.warnings.toerrors.{{u.id}}" superClass="gnu.c.compiler.option.warnings.toerrors" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['warnings.conversion'] %}
<option id="gnu.c.compiler.option.warnings.wconversion.{{u.id}}" name="Warn on implicit conversions (-Wconversion)" superClass="gnu.c.compiler.option.warnings.wconversion" value="true" valueType="boolean"/>
{% endif %}
{% if opts['c']['verbose'] %}
<option id="gnu.c.compiler.option.misc.verbose.{{u.id}}" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['arm.target.fpu.unit_nxp'] %}
<option id="com.crt.advproject.gcc.fpu.{{u.id}}" name="Floating point" superClass="com.crt.advproject.gcc.fpu" useByScannerDiscovery="false" value="com.crt.advproject.gcc.fpu.{{opts['common']['arm.target.fpu.unit_nxp']}}" valueType="enumerated"/>
{% endif %}
{% if opts['common']['optimization.lto'] %}
<option id="com.crt.advproject.gcc.lto.{{u.id}}" name="Enable Link-time optimization (-flto)" superClass="com.crt.advproject.gcc.lto" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['common']['optimization.lto_objects'] %}
<option id="com.crt.advproject.gcc.lto.fat.{{u.id}}" name="Fat lto objects (-ffat-lto-objects)" superClass="com.crt.advproject.gcc.lto.fat" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
<option id="gnu.c.compiler.option.misc.other.{{u.id}}" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c {{opts['c']['other']}} {{opts['common']['warnings.other']}}" valueType="string"/>
<inputType id="com.crt.advproject.compiler.input.{{opts['uid']['tool_c_compiler']}}" superClass="com.crt.advproject.compiler.input"/>
</tool>
<tool id="com.crt.advproject.gas.exe.{{opts['id']}}.{{u.id}}" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.{{opts['id']}}">
<option id="com.crt.advproject.gas.hdrlib.{{u.id}}" name="Library headers" superClass="com.crt.advproject.gas.hdrlib" value="com.crt.advproject.gas.hdrlib.newlibnano" valueType="enumerated"/>
<option id="com.crt.advproject.gas.specs.{{u.id}}" name="Specs" superClass="com.crt.advproject.gas.specs" value="com.crt.advproject.gas.specs.newlibnano" valueType="enumerated"/>
<option id="com.crt.advproject.gas.arch.{{u.id}}" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.{{opts['common']['arm.target.family_nxp']}}" valueType="enumerated"/>
<option id="gnu.both.asm.option.include.paths.{{u.id}}" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
{% for path in opts['common']['include_paths'] %}
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/{{path}}&quot;"/>
{% endfor %}
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.{{u.id}}" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
{% if opts['common']['arm.target.fpu.unit_nxp'] %}
<option id="com.crt.advproject.gas.fpu.{{u.id}}" name="Floating point" superClass="com.crt.advproject.gas.fpu" useByScannerDiscovery="false" value="com.crt.advproject.gas.fpu.{{opts['common']['arm.target.fpu.unit_nxp']}}" valueType="enumerated"/>
{% endif %}
<option id="gnu.both.asm.option.flags.crt.{{u.id}}" superClass="gnu.both.asm.option.flags.crt" useByScannerDiscovery="false" value="-c {{opts['as']['other']}}" valueType="string"/>
{% if opts['as']['verbose'] %}
<option id="gnu.both.asm.option.version.{{u.id}}" superClass="gnu.both.asm.option.version" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
<inputType id="com.crt.advproject.assembler.input.{{u.id}}" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
</tool>
<tool commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}" id="com.crt.advproject.link.cpp.exe.{{opts['id']}}.{{u.id}}" name="MCU C++ Linker" superClass="com.crt.advproject.link.cpp.exe.{{opts['id']}}">
<option defaultValue="com.crt.advproject.heapAndStack.lpcXpressoStyle.cpp" id="com.crt.advproject.link.memory.heapAndStack.style.cpp.{{u.id}}" name="Heap and Stack placement" superClass="com.crt.advproject.link.memory.heapAndStack.style.cpp" useByScannerDiscovery="false" value="com.crt.advproject.heapAndStack.lpcXpressoStyle.cpp" valueType="enumerated"/>
<option id="com.crt.advproject.link.memory.heapAndStack.cpp.{{u.id}}" name="Heap and Stack options" superClass="com.crt.advproject.link.memory.heapAndStack.cpp" useByScannerDiscovery="false" value="&amp;Heap:Default;Post Data;Default&amp;Stack:Default;End;Default" valueType="string"/>
<option id="com.crt.advproject.link.cpp.multicore.master.{{u.id}}" name="Multicore master" superClass="com.crt.advproject.link.cpp.multicore.master" useByScannerDiscovery="false"/>
<option id="com.crt.advproject.link.cpp.multicore.master.userobjs.{{u.id}}" name="Slave Objects (not visible)" superClass="com.crt.advproject.link.cpp.multicore.master.userobjs" useByScannerDiscovery="false" valueType="userObjs"/>
<option id="com.crt.advproject.link.cpp.arch.{{u.id}}" name="Architecture" superClass="com.crt.advproject.link.cpp.arch" useByScannerDiscovery="false" value="com.crt.advproject.link.cpp.target.{{opts['common']['arm.target.family_nxp']}}" valueType="enumerated"/>
<option id="gnu.cpp.link.option.paths.{{u.id}}" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" useByScannerDiscovery="false">
{% for path in opts['ld']['library_paths'] %}
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/{{path}}&quot;"/>
{% endfor %}
</option>
<option id="gnu.cpp.link.option.libs.{{u.id}}" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" useByScannerDiscovery="false" valueType="libs">
{% for lib in opts['ld']['user_libraries'] %}
<listOptionValue builtIn="false" value="{{lib}}"/>
{% endfor %}
{% for lib in opts['ld']['system_libraries'] %}
<listOptionValue builtIn="false" value="{{lib}}"/>
{% endfor %}
</option>
<option id="gnu.cpp.link.option.userobjs.{{u.id}}" name="Other objects" superClass="gnu.cpp.link.option.userobjs" useByScannerDiscovery="false">
{% for path in opts['ld']['object_files'] %}
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/{{path}}&quot;"/>
{% endfor %}
</option>
<option id="gnu.cpp.link.option.other.{{u.id}}" name="Other options (-Xlinker [option])" superClass="gnu.cpp.link.option.other" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="-Map=&quot;${BuildArtifactFileBaseName}.map&quot;"/>
<listOptionValue builtIn="false" value="-print-memory-usage"/>
{% if opts['ld']['gcsections'] %}
<listOptionValue builtIn="false" value="--gc-sections"/>
{% endif %}
{% for opt in opts['ld']['flags'] %}
<listOptionValue builtIn="false" value="{{opt}}"/>
{% endfor %}
</option>
{% if opts['ld']['nostart'] %}
<option id="gnu.cpp.link.option.nostart.{{u.id}}" name="Do not use standard start files (-nostartfiles)" superClass="gnu.cpp.link.option.nostart" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['ld']['nodeflibs'] %}
<option id="gnu.cpp.link.option.nodeflibs.{{u.id}}" name="Do not use default libraries (-nodefaultlibs)" superClass="gnu.cpp.link.option.nodeflibs" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['ld']['nostdlibs'] %}
<option id="gnu.cpp.link.option.nostdlibs.{{u.id}}" name="No startup or default libs (-nostdlib)" superClass="gnu.cpp.link.option.nostdlibs" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
{% if opts['ld']['other'] != '' %}
<option id="gnu.cpp.link.option.flags.{{u.id}}" superClass="gnu.cpp.link.option.flags" useByScannerDiscovery="false" value="{{opts['ld']['other']}}" valueType="string"/>
{% endif %}
{% if opts['common']['optimization.lto'] %}
<option id="com.crt.advproject.link.cpp.lto.{{u.id}}" superClass="com.crt.advproject.link.cpp.lto" useByScannerDiscovery="false" value="true" valueType="boolean"/>
{% endif %}
<option id="com.crt.advproject.link.cpp.script.{{u.id}}" name="Linker script" superClass="com.crt.advproject.link.cpp.script" useByScannerDiscovery="false" value="${ProjDirPath}/{{opts['name']}}/{{opts['ld']['script']}}" valueType="string"/>
<option id="com.crt.advproject.link.cpp.multicore.slave.{{u.id}}" name="Multicore configuration" superClass="com.crt.advproject.link.cpp.multicore.slave" useByScannerDiscovery="false"/>
{% if opts['common']['arm.target.fpu.unit_nxp'] %}
<option id="com.crt.advproject.link.cpp.fpu.{{u.id}}" name="Floating point" superClass="com.crt.advproject.link.cpp.fpu" useByScannerDiscovery="false" value="com.crt.advproject.link.cpp.fpu.{{opts['common']['arm.target.fpu.unit_nxp']}}" valueType="enumerated"/>
{% endif %}
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.{{u.id}}" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.crt.advproject.link.exe.{{opts['id']}}.{{u.id}}" name="MCU Linker" superClass="com.crt.advproject.link.exe.{{opts['id']}}"/>
</toolChain>
</folderInfo>
<sourceEntries>
<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}}.com.crt.advproject.projecttype.exe.{{u.id}}" name="Executable" projectType="com.crt.advproject.projecttype.exe"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="com.crt.config">
<projectStorage>{% block cpu_config %}{% endblock %}</projectStorage>
</storageModule>
<storageModule moduleId="com.nxp.mcuxpresso.core.datamodels">
<sdkName>{% block sdk_name %}{% endblock %}</sdkName>
<sdkVersion>{% block sdk_version %}{% endblock %}</sdkVersion>
</storageModule>
<storageModule moduleId="com.crt.advproject"/>
</cproject>