<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_compiler_options>
<CodeBlocks_compiler_options>
    <if platform="windows">
        <Program name="C"         value="msp430-gcc.exe"/>
        <Program name="CPP"       value="msp430-g++.exe"/>
        <Program name="LD"        value="msp430-g++.exe"/>
        <Program name="DBGconfig" value=""/>
        <Program name="LIB"       value="msp430-ar.exe"/>
        <Program name="WINDRES"   value=""/>
        <Program name="MAKE"      value="make.exe"/>
    </if>
    <else>
        <Program name="C"         value="msp430-gcc"/>
        <Program name="CPP"       value="msp430-g++"/>
        <Program name="LD"        value="msp430-g++"/>
        <Program name="DBGconfig" value=""/>
        <Program name="LIB"       value="msp430-ar"/>
        <Program name="WINDRES"   value=""/>
        <Program name="MAKE"      value="make"/>
    </else>

    <Switch name="includeDirs"             value="-I"/>
    <Switch name="libDirs"                 value="-L"/>
    <Switch name="linkLibs"                value="-l"/>
    <Switch name="defines"                 value="-D"/>
    <Switch name="genericSwitch"           value="-"/>
    <Switch name="objectExtension"         value="o"/>
    <Switch name="needDependencies"        value="true"/>
    <Switch name="forceCompilerUseQuotes"  value="false"/>
    <Switch name="forceLinkerUseQuotes"    value="false"/>
    <Switch name="logging"                 value="default"/>
    <Switch name="libPrefix"               value="lib"/>
    <Switch name="libExtension"            value="a"/>
    <Switch name="linkerNeedsLibPrefix"    value="false"/>
    <Switch name="linkerNeedsLibExtension" value="false"/>

    <Option name="Produce debugging symbols"
            option="-g"
            category="Debugging"
            checkAgainst="-O -O1 -O2 -O3 -Os"
            checkMessage="You have optimizations enabled. This is Not A Good Thing(tm) when producing debugging symbols..."
            supersedes="-s"/>

    <if platform="windows">
        <Option name="Profile code when executed"
                option="-pg"
                category="Profiling"
                additionalLibs="-pg -lgmon"
                supersedes="-s"/>
    </if>
    <else>
        <Option name="Profile code when executed"
                option="-pg"
                category="Profiling"
                additionalLibs="-pg"
                supersedes="-s"/>
    </else>

    <Common name="warnings"/>

    <Category name="General Options">
        <Option name="Output an error if same variable is declared without extern in different modules"
                option="-fno-common"/>
        <Option name="Save intermediate files in the build directory"
                option="-save-temps"/>
    </Category>

    <Category name="Linker and startup code">
        <Option name="do not link against the default crt0.o, so you can add your own startup code (MSP430 specific)"
                option="-nocrt0"/>
        <Option name="do not link against standard system startup files"
                option="-nostartfiles"/>
        <Option name="only search library directories explicitly specified on the command line"
                option="-nostdlib"/>
    </Category>

    <Common name="optimization"/>
    <Category name="Optimization">
        <Option name="No instruction scheduling before reload"
                option="-fno-schedule-insns"
                checkAgainst="-g -ggdb"
                checkMessage="You have debugging symbols enabled. This is Not A Good Thing(tm) when optimizing..."/>
        <Option name="No instruction scheduling after reload"
                option="-fno-schedule-insns2"
                checkAgainst="-g -ggdb"
                checkMessage="You have debugging symbols enabled. This is Not A Good Thing(tm) when optimizing..."/>
    </Category>

    <Category name="MSP430 architecture specific">
        <Option name="Use subroutine call for function prologue/epilogue when possible"
                option="-msave-prologue"/>
        <Option name="Do not perform volatile workaround for bitwise operations"
                option="-mno-volatile-workaround"/>
        <Option name="No stack init in main()"
                option="-mno-stack-init"/>
        <Option name="Produce IAR assembler syntax"
                option="-mIAR"/>
        <Option name="Assume interrupt routine does not do hardware multiply"
                option="-mnoint-hwmul"/>
        <Option name="Issue inline multiplication code for 32-bit integers"
                option="-minline-hwmul"/>
        <Option name="Disable hardware multiplier"
                option="-mdisable-hwmul"/>
        <Option name="Force hardware multiplier"
                option="-mforce-hwmul"/>
        <Option name="Strict alignment for all structures"
                option="-mstrict-align"/>
        <Option name="Add stack information to profiler"
                option="-mpgr"/>
        <Option name="Add library profile information"
                option="-mpgl"/>
        <Option name="Add ordinary profile information"
                option="-mpgs"/>
        <Option name="Jump to specified routine at the end of main()"
                option="-mendup-at="/>
        <Option name="Specify the initial stack address"
                option="-minit-stack="/>
        <Option name="enable relaxation at assembly time"
                option="-mQ"/>
        <Option name="enable polymorph instructions"
                option="-mP"/>
    </Category>

    <Category name="MSP430 MCU derivatives"
              exclusive="true">
        <Option name="MSP430 MSP1"
                option="-mmcu=msp1"/>
        <Option name="MSP430 MSP2"
                option="-mmcu=msp2"/>
        <Option name="MSP430 110"
                option="-mmcu=msp430x110"/>
        <Option name="MSP430 112"
                option="-mmcu=msp430x112"/>
        <Option name="MSP430 1101"
                option="-mmcu=msp430x1101"/>
        <Option name="MSP430 1111"
                option="-mmcu=msp430x1111"/>
        <Option name="MSP430 1121"
                option="-mmcu=msp430x1121"/>
        <Option name="MSP430 1122"
                option="-mmcu=msp430x1122"/>
        <Option name="MSP430 1132"
                option="-mmcu=msp430x1132"/>
        <Option name="MSP430 122"
                option="-mmcu=msp430x122"/>
        <Option name="MSP430 123"
                option="-mmcu=msp430x123"/>
        <Option name="MSP430 1222"
                option="-mmcu=msp430x1222"/>
        <Option name="MSP430 1232"
                option="-mmcu=msp430x1232"/>
        <Option name="MSP430 133"
                option="-mmcu=msp430x133"/>
        <Option name="MSP430 135"
                option="-mmcu=msp430x135"/>
        <Option name="MSP430 1331"
                option="-mmcu=msp430x1331"/>
        <Option name="MSP430 1351"
                option="-mmcu=msp430x1351"/>
        <Option name="MSP430 147"
                option="-mmcu=msp430x147"/>
        <Option name="MSP430 148"
                option="-mmcu=msp430x148"/>
        <Option name="MSP430 149"
                option="-mmcu=msp430x149"/>
        <Option name="MSP430 1471"
                option="-mmcu=msp430x1471"/>
        <Option name="MSP430 1481"
                option="-mmcu=msp430x1481"/>
        <Option name="MSP430 1491"
                option="-mmcu=msp430x1491"/>
        <Option name="MSP430 155"
                option="-mmcu=msp430x155"/>
        <Option name="MSP430 156"
                option="-mmcu=msp430x156"/>
        <Option name="MSP430 157"
                option="-mmcu=msp430x157"/>
        <Option name="MSP430 167"
                option="-mmcu=msp430x167"/>
        <Option name="MSP430 168"
                option="-mmcu=msp430x168"/>
        <Option name="MSP430 169"
                option="-mmcu=msp430x169"/>
        <Option name="MSP430 1610"
                option="-mmcu=msp430x1610"/>
        <Option name="MSP430 1611"
                option="-mmcu=msp430x1611"/>
        <Option name="MSP430 1612"
                option="-mmcu=msp430x1612"/>
        <Option name="MSP430 2001"
                option="-mmcu=msp430x2001"/>
        <Option name="MSP430 2011"
                option="-mmcu=msp430x2011"/>
        <Option name="MSP430 2002"
                option="-mmcu=msp430x2002"/>
        <Option name="MSP430 2012"
                option="-mmcu=msp430x2012"/>
        <Option name="MSP430 2003"
                option="-mmcu=msp430x2003"/>
        <Option name="MSP430 2013"
                option="-mmcu=msp430x2013"/>
        <Option name="MSP430 2101"
                option="-mmcu=msp430x2101"/>
        <Option name="MSP430 2111"
                option="-mmcu=msp430x2111"/>
        <Option name="MSP430 2121"
                option="-mmcu=msp430x2121"/>
        <Option name="MSP430 2131"
                option="-mmcu=msp430x2131"/>
        <Option name="MSP430 2234"
                option="-mmcu=msp430x2234"/>
        <Option name="MSP430 2254"
                option="-mmcu=msp430x2254"/>
        <Option name="MSP430 2274"
                option="-mmcu=msp430x2274"/>
        <Option name="MSP430 311"
                option="-mmcu=msp430x311"/>
        <Option name="MSP430 312"
                option="-mmcu=msp430x312"/>
        <Option name="MSP430 313"
                option="-mmcu=msp430x313"/>
        <Option name="MSP430 314"
                option="-mmcu=msp430x314"/>
        <Option name="MSP430 315"
                option="-mmcu=msp430x315"/>
        <Option name="MSP430 323"
                option="-mmcu=msp430x323"/>
        <Option name="MSP430 325"
                option="-mmcu=msp430x325"/>
        <Option name="MSP430 336"
                option="-mmcu=msp430x336"/>
        <Option name="MSP430 337"
                option="-mmcu=msp430x337"/>
        <Option name="MSP430 412"
                option="-mmcu=msp430x412"/>
        <Option name="MSP430 413"
                option="-mmcu=msp430x413"/>
        <Option name="MSP430 415"
                option="-mmcu=msp430x415"/>
        <Option name="MSP430 417"
                option="-mmcu=msp430x417"/>
        <Option name="MSP430 423"
                option="-mmcu=msp430x423"/>
        <Option name="MSP430 425"
                option="-mmcu=msp430x425"/>
        <Option name="MSP430 427"
                option="-mmcu=msp430x427"/>
        <Option name="MSP430 4250"
                option="-mmcu=msp430x4250"/>
        <Option name="MSP430 4260"
                option="-mmcu=msp430x4260"/>
        <Option name="MSP430 4270"
                option="-mmcu=msp430x4270"/>
        <Option name="MSP430 E423"
                option="-mmcu=msp430xE423"/>
        <Option name="MSP430 E425"
                option="-mmcu=msp430xE425"/>
        <Option name="MSP430 E427"
                option="-mmcu=msp430xE427"/>
        <Option name="MSP430 W423"
                option="-mmcu=msp430xW423"/>
        <Option name="MSP430 W425"
                option="-mmcu=msp430xW425"/>
        <Option name="MSP430 W427"
                option="-mmcu=msp430xW427"/>
        <Option name="MSP430 G437"
                option="-mmcu=msp430xG437"/>
        <Option name="MSP430 G438"
                option="-mmcu=msp430xG438"/>
        <Option name="MSP430 G439"
                option="-mmcu=msp430xG439"/>
        <Option name="MSP430 435"
                option="-mmcu=msp430x435"/>
        <Option name="MSP430 436"
                option="-mmcu=msp430x436"/>
        <Option name="MSP430 437"
                option="-mmcu=msp430x437"/>
        <Option name="MSP430 447"
                option="-mmcu=msp430x447"/>
        <Option name="MSP430 448"
                option="-mmcu=msp430x448"/>
        <Option name="MSP430 449"
                option="-mmcu=msp430x449"/>
        <Option name="MSP430 4616"
                option="-mmcu=msp430xG4616"/>
        <Option name="MSP430 4617"
                option="-mmcu=msp430xG4617"/>
        <Option name="MSP430 4618"
                option="-mmcu=msp430xG4618"/>
        <Option name="MSP430 4619"
                option="-mmcu=msp430xG4619"/>
    </Category>

    <Command name="CompileObject"
             value="$compiler $options $includes -c $file -o $object"/>
    <Command name="GenDependencies"
             value="$compiler -MM $options -MF $dep_object -MT $object $includes $file"/>
    <Command name="CompileResource"
             value="$rescomp $res_includes -J rc -O coff -i $file -o $resource_output"/>
    <Command name="LinkConsoleExe"
             value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
    <if platform="windows">
        <Command name="LinkExe"
                 value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs -mwindows"/>
        <Command name="LinkDynamic"
                 value="$linker -shared -Wl,--output-def=$def_output -Wl,--out-implib=$static_output -Wl,--dll $libdirs $link_objects $link_resobjects -o $exe_output $link_options $libs"/>
    </if>
    <else>
        <Command name="LinkExe"
                 value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
        <Command name="LinkDynamic"
                 value="$linker -shared $libdirs $link_objects $link_resobjects -o $exe_output $link_options $libs"/>
    </else>
    <Command name="LinkNative"
             value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
    <Command name="LinkStatic"
             value="$lib_linker -rs $static_output $link_objects"/>
    <Common name="cmds"/>

    <Common name="re"/>
</CodeBlocks_compiler_options>
