 -- S.MG, 2018
 -- prototype implementation of S.MG communication protocol 
 -- http://trilema.com/2018/euloras-communication-protocol-restated/ 

with "c_wrappers/c_wrappers.gpr";

project SMG_comms is 

  type Mode_Type is ("debug", "release");
  Mode : Mode_Type := external ("mode", "release");

  for Languages use ("Ada");

  for Source_Dirs use ("src");
  for Ignore_Source_Sub_Dirs use (".svn", ".git", "@*");

  for Object_Dir use "obj";

  package Compiler is

    case Mode is
      when "debug" =>
        for Switches ("Ada")
          use ("-g");
      when "release" =>
        for Switches ("Ada")
          use ("-O2", "-fdump-scos", "-gnata", "-fstack-check",
               "-gnatyd", "-gnatym",
               "-fdata-sections", "-ffunction-sections", "-gnatwr", "-gnatw.d",
               "-gnatec=" & SMG_Comms'Project_Dir & "restrict.adc");
    end case;
  end Compiler;
    
  package Builder is
    for Switches ("Ada")
       use ("-nostdlib");
  end Builder;
  
  package Binder is
    case Mode is
      when "debug" =>
        for Switches ("Ada")
          use ();
      when "release" =>
        for Switches ("Ada")
          use ("-static");
    end case;
  end Binder;

end SMG_comms;
