<?xml version="1.0" ?>
<gprconfig>
   <!--  This package provides the default standard options for a gcc
         C++ compiler -->

   <configuration>
     <compilers>
        <compiler name="^G\+\+$" language="C++" />
        <compiler name="^G\+\+_Pro$" language="C++" />
        <compiler name="^GCC-CYGMING$" language="C++" />
       <compiler name="^GCC-MINGW32$" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Driver              ("C++") use "${PATH(c++)}${EXEC(c++)}";
   end Compiler;
     </config>
   </configuration>

   <configuration>
     <compilers>
        <compiler name="^G\+\+-WRS653-PPC$" language="C++" />
        <compiler name="^G\+\+-WRS653-E500V2$" language="C++" />
        <compiler name="^G\+\+-WRS5$" language="C++" />
        <compiler name="^G\+\+-WRS6$" language="C++" />
        <compiler name="^G\+\+-WRS6E500V2$" language="C++" />
        <compiler name="^G\+\+-WRS6CERT$" language="C++" />
        <compiler name="^G\+\+-WRS6CERTE500V2$" language="C++" />
    </compilers>
     <config>
   package Compiler is
      for Driver              ("C++") use "${PATH(c++)}c++${PREFIX(c++)}";
   end Compiler;
     </config>
   </configuration>

   <configuration>
     <compilers>
       <compiler name="^DIABC-PPC64$" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Driver              ("C++") use "${PATH(c++)}dcc";
   end Compiler;
     </config>
   </configuration>

   <configuration>
     <compilers>
       <compiler name="CLANG-C\+\+" language="C++" />
       <compiler name="LLVM" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Driver              ("C++") use "${PATH(c++)}${PREFIX(c++)}clang++";
   end Compiler;
     </config>
   </configuration>

   <configuration>
     <compilers>
        <compiler name="^G\+\+$" language="C++" />
        <compiler name="^G\+\+_Pro$" language="C++" />
        <compiler name="^G\+\+-WRS653-PPC$" language="C++" />
        <compiler name="^G\+\+-WRS653-E500V2$" language="C++" />
        <compiler name="^G\+\+-WRS6$" language="C++" />
        <compiler name="^G\+\+-WRS6E500V2$" language="C++" />
        <compiler name="^G\+\+-WRS6CERT$" language="C++" />
        <compiler name="^G\+\+-WRS6CERTE500V2$" language="C++" />
        <compiler name="^GCC-CYGMING$" language="C++" />
        <compiler name="^GCC-MINGW32$" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Leading_Required_Switches   ("C++") use
        ("-c", "-x", "c++") &amp;
        Compiler'Leading_Required_Switches ("C++");
      for Dependency_Switches ("C++") use ("-MMD", "-MF", "");
      for Include_Switches_Via_Spec ("C++") use ("cc1plus", "-I");
      for Max_Command_Line_Length use "8192";
      for Response_File_Format    ("C++") use "GCC_GNU";
   end Compiler;
     </config>
   </configuration>

   <configuration>
     <compilers>
        <compiler name="CLANG-C\+\+" language="C++" />
        <compiler name="LLVM" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Leading_Required_Switches   ("C++") use
        ("-c", "-x", "c++") &amp;
        Compiler'Leading_Required_Switches ("C++");
      for Dependency_Switches ("C++") use ("-MMD", "-MF", "");
      for Max_Command_Line_Length use "8192";
      for Response_File_Format    ("C++") use "GCC_GNU";
   end Compiler;
     </config>
   </configuration>

   <configuration>
     <compilers>
       <compiler name="^DIABC-PPC64$" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Leading_Required_Switches   ("C++") use
        Compiler'Leading_Required_Switches ("C++")
        &amp; ("-tPPCLP64FH:vxworks7",
               "-c",
               "-ffixed-r13",
               "-Xclib-optim-off",
               "-Xlocal-data-area-static-only",
               "-Xc-new",
               "-Xcode-absolute-far",
               "-D_WRS_HARDWARE_FP",
               "-DCPU=_VX_PPCE6500",
               "-D_WRS_VX_SMP",
               "-D_WRS_CONFIG_SMP");
      for Dependency_Switches ("C") use
         ("-Xmake-dependency=6", "-Xmake-dependency-savefile=");
   end Compiler;
     </config>
   </configuration>

   <!-- G++-WRS5 does not support -MF switch -->
   <configuration>
     <compilers>
        <compiler name="^G\+\+-WRS5$" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Leading_Required_Switches   ("C++") use
        Compiler'Leading_Required_Switches ("C++") &amp;
        ("-c", "-x", "c++");
      for Dependency_Switches ("C++") use ("-Wp,-MMD,");
      for Include_Path        ("C++") use "CPATH";
   end Compiler;
     </config>
   </configuration>

   <!--  Additional switches on some platforms -->

   <configuration>
     <compilers>
       <compiler name="^G\+\+$" language="C++" />
       <compiler name="^G\+\+_Pro$" language="C++" />
     </compilers>
     <targets negate="true">
       <target name="^.*LynxOS.*$" />
       <target name="^.*mingw.*$" />
       <target name="^.*cygwin.*$" />
       <target name="^.*tru64.*$" />
     </targets>
     <config>
   package Compiler is
      for PIC_Option      ("C++") use ("-fPIC");
   end Compiler;
     </config>
   </configuration>

   <!-- in cygminw mode, make sure that the option -mno-cygwin is used -->

   <configuration>
     <compilers>
       <compiler name="^GCC-CYGMING$" language="C++" />
     </compilers>
     <config>
   package Compiler is
      for Leading_Required_Switches ("C++") use
         Compiler'Leading_Required_Switches ("C++") &amp; ("-mno-cygwin");
   end Compiler;
     </config>
   </configuration>

   <!-- this compiler is not compatible with GNAT's default zcx runtime -->
   <configuration>
     <compilers><compiler name="^GNAT$" runtime="default" /></compilers>
     <compilers>
       <compiler name="^GCC-CYGMING$" language="C++" />
       <compiler name="^GCC-CYGMING$" language="Fortran" />
       <compiler name="^GCC-MINGW32$" language="C++" />
       <compiler name="^GCC-MINGW32$" language="Fortran" />
     </compilers>
     <config></config>
   </configuration>

   <configuration>
     <compilers>
       <compiler name="^G\+\+_Pro$" runtime="^rtp$" />
     </compilers>
     <config>
   package Compiler is
      for Leading_Required_Switches ("C++") use
        Compiler'Leading_Required_Switches ("C++") &amp; ("-mrtp");
   end Compiler;
     </config>
   </configuration>

</gprconfig>
