All Downloads are FREE. Search and download functionalities are using the official Maven repository.

Ada.config.gpr Maven / Gradle / Ivy

There is a newer version: 7.6.0
Show newest version
abstract project Config is
   for Source_Dirs use ();

   type Yes_No is ("yes", "no");

   type Library_Type_Type is ("relocatable", "static", "static-pic");

   type Build_Type is ("distrib", "debug", "optimize", "profile", "coverage");
   Mode : Build_Type := external ("BUILD", "debug");

   Processors := External ("PROCESSORS", "1");

   package Builder is
       for Default_Switches ("Ada") use ("-j" & Processors);
   end Builder;

   package compiler is
      warnings := ("-gnatwua");
      defaults := ("-gnat2012");
      case Mode is
         when "distrib" =>
            for Default_Switches ("Ada") use defaults & ("-O2", "-gnatafno", "-gnatVa", "-gnatwa");

         when "debug" =>
            for Default_Switches ("Ada") use defaults & warnings
               & ("-g", "-gnata", "-gnatVaMI", "-gnaty3abcefhiklmnprstxM127");

         when "coverage" =>
            for Default_Switches ("Ada") use defaults & warnings
               & ("-g", "-O2", "-gnata", "-gnatVaMI", "-gnaty3abcefhiklmnprstxM127",
                  "-fprofile-arcs", "-ftest-coverage");

         when "optimize" =>
            for Default_Switches ("Ada") use defaults & warnings
               & ("-O2", "-gnatn", "-gnatp", "-fdata-sections", "-ffunction-sections");

         when "profile" =>
            for Default_Switches ("Ada") use defaults & warnings & ("-pg");

      end case;
   end compiler;

   package binder is
      case Mode is
         when "debug" =>
            for Default_Switches ("Ada") use ("-E");

         when others =>
            for Default_Switches ("Ada") use ("-E");

      end case;
   end binder;

   package linker is
      case Mode is
         when "profile" =>
            for Default_Switches ("Ada") use ("-pg");

         when "distrib" =>
            for Default_Switches ("Ada") use ("-s");

         when "optimize" =>
            for Default_Switches ("Ada") use ("-Wl,--gc-sections");

         when "coverage" =>
            for Default_Switches ("ada") use ("-fprofile-arcs");

         when others =>
            null;
      end case;

   end linker;
 
   package Ide is
      for VCS_Kind use "git";
   end Ide;

end Config;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy