<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_compiler_options>
<CodeBlocks_compiler_options>
    <if platform="windows">
        <Program name="C"         value="ldc.exe"/>
        <Program name="CPP"       value="ldc.exe"/>
        <Program name="LD"        value="ldc.exe"/>
        <Program name="DBGconfig" value="gdb_debugger:Default"/>
        <Program name="LIB"       value="ar.exe"/>
        <Program name="WINDRES"   value=""/>
        <Program name="MAKE"      value="make.exe"/>
    </if>
    <else>
        <Program name="C"         value="ldc"/>
        <Program name="CPP"       value="ldc"/>
        <Program name="LD"        value="ldc"/>
        <Program name="DBGconfig" value="gdb_debugger:Default"/>
        <Program name="LIB"       value="ar"/>
        <Program name="WINDRES"   value=""/>
        <Program name="MAKE"      value="make"/>
    </else>

    <Switch name="includeDirs"             value="-I"/>
    <Switch name="libDirs"                 value="-L-L"/>
    <Switch name="linkLibs"                value="-L-l"/>
    <Switch name="defines"                 value="-d-version="/>
    <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="-O1 -O2 -O3"
            checkMessage="You have optimizations enabled. This is Not A Good Thing(tm) when producing debugging symbols..."/>

    <Option name="Enable warnings"
            option="-w"
            category="Warnings"/>

    <Category name="D features">
        <Option name="allow deprecated features"
                option="-d"/>
        <Option name="inline expand functions"
                option="-enable-inlining"/>
        <Option name="enable array bounds checks"
                option="-enable-boundscheck"/>
        <Option name="enable contracts"
                option="-enable-contracts"/>
        <Option name="enable assertions"
                option="-enable-asserts"/>
        <Option name="enable invariants"
                option="-enable-invariants"/>
    </Category>

    <Category name="Optimization"
              exclusive="true">
        <Option name="No optimization"
                option="-O0"/>
        <Option name="Simple optimizations"
                option="-O1"/>
        <Option name="Good optimizations"
                option="-O2"/>
        <Option name="Aggressive optimizations"
                option="-O3"/>
    </Category>

    <Category name="CPU architecture tuning"
              exclusive="true">
        <Option name="32-bit X86: Pentium-Pro and above"
                option="-march=x86"/>
        <Option name="64-bit X86: EM64T and AMD64"
                option="-march=x86-64"/>
    </Category>

    <Command name="CompileObject"
             value="$compiler $options $includes -c $file -of=$object"/>
    <Command name="GenDependencies"
             value="$compiler $options -deps=$dep_object $includes $file"/>
    <Command name="CompileResource"
             value="$rescomp $res_includes $res_options -J rc -O coff -i $file -o $resource_output"/>
    <Command name="LinkConsoleExe"
             value="$linker $libdirs -of=$exe_output $link_objects $link_resobjects $link_options $libs"/>
    <Command name="LinkExe"
             value="$linker $libdirs -of=$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"/>
    <Command name="LinkStatic"
             value="$lib_linker -r $static_output $link_objects\nranlib $static_output"/>
    <Command name="LinkNative"
             value="$linker $libdirs -of=$exe_output $link_objects $link_resobjects $link_options $libs"/>

    <RegEx name="Fatal error"
           type="error"
           msg="1">
        <![CDATA[FATAL:[[:blank:]]*(.*)]]>
    </RegEx>
    <RegEx name="'Instantiated from here' info"
           type="normal"
           msg="3"
           file="1"
           line="2">
        <![CDATA[([][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+):([0-9]+):[[:blank:]]+([iI]nstantiated from here.*)]]>
    </RegEx>
    <RegEx name="Resource compiler error"
           type="error"
           msg="3"
           file="1"
           line="2">
        <![CDATA[windres.exe:[[:blank:]]([][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+):([0-9]+):[[:blank:]](.*)]]>
    </RegEx>
    <RegEx name="Resource compiler error"
           type="error"
           msg="3"
           file="1"
           line="2">
        <![CDATA[windres.exe:[[:blank:]]([][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+):([0-9]+):[[:blank:]](.*)]]>
    </RegEx>
    <RegEx name="Resource compiler error (2)"
           type="error"
           msg="1">
        <![CDATA[windres.exe:[[:blank:]](.*)]]>
    </RegEx>
    <RegEx name="Compiler warning"
           type="warning"
           msg="3"
           file="1"
           line="2">
        <![CDATA[([][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+)\(([0-9]+)\):[[:blank:]]([Ww]arning:[[:blank:]].*)]]>
    </RegEx>
    <RegEx name="Compiler error"
           type="error"
           msg="3"
           file="1"
           line="2">
        <![CDATA[([][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+)\(([0-9]+)\):[[:blank:]](.*)]]>
    </RegEx>
    <RegEx name="Linker error"
           type="error"
           msg="3"
           file="1"
           line="2">
        <![CDATA[([][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+):([0-9]+):[0-9]+:[[:blank:]](.*)]]>
    </RegEx>
    <RegEx name="Linker error (2)"
           type="error"
           msg="2"
           file="1">
        <![CDATA[[][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+\(.text\+[0-9A-Za-z]+\):([[:blank:]A-Za-z0-9_:+/\.-]+):[[:blank:]](.*)]]>
    </RegEx>
    <RegEx name="Linker error (lib not found)"
           type="error"
           msg="2"
           file="1">
        <![CDATA[.*(ld.*):[[:blank:]](cannot find.*)]]>
    </RegEx>
    <RegEx name="Undefined reference"
           type="error"
           msg="2"
           file="1">
        <![CDATA[([][{}()[:blank:]#%$~[:alnum:]!&_:+/\\\.-]+):[[:blank:]](undefined reference.*)]]>
    </RegEx>
    <RegEx name="General warning"
           type="warning"
           msg="1">
        <![CDATA[([Ww]arning:[[:blank:]].*)]]>
    </RegEx>
</CodeBlocks_compiler_options>
