raw
smg_comms_genesis       1  -- S.MG, 2018
smg_comms_genesis 2 -- prototype implementation of S.MG communication protocol
smg_comms_genesis 3 -- http://trilema.com/2018/euloras-communication-protocol-restated/
smg_comms_genesis 4
smg_comms_c_wrappers 5 with "c_wrappers/c_wrappers.gpr";
smg_comms_c_wrappers 6
smg_comms_genesis 7 project SMG_comms is
smg_comms_raw_types 8
smg_comms_raw_types 9 type Mode_Type is ("debug", "release");
smg_comms_raw_types 10 Mode : Mode_Type := external ("mode", "release");
smg_comms_raw_types 11
smg_comms_genesis 12 for Languages use ("Ada");
smg_comms_genesis 13
smg_comms_genesis 14 for Source_Dirs use ("src");
smg_comms_genesis 15 for Ignore_Source_Sub_Dirs use (".svn", ".git", "@*");
smg_comms_genesis 16
smg_comms_genesis 17 for Object_Dir use "obj";
smg_comms_genesis 18
smg_comms_raw_types 19 package Compiler is
smg_comms_genesis 20
smg_comms_raw_types 21 case Mode is
smg_comms_raw_types 22 when "debug" =>
smg_comms_raw_types 23 for Switches ("Ada")
smg_comms_raw_types 24 use ("-g");
smg_comms_raw_types 25 when "release" =>
smg_comms_raw_types 26 for Switches ("Ada")
smg_comms_raw_types 27 use ("-O2", "-fdump-scos", "-gnata", "-fstack-check",
smg_comms_raw_types 28 "-gnatyd", "-gnatym",
smg_comms_raw_types 29 "-fdata-sections", "-ffunction-sections", "-gnatwr", "-gnatw.d",
smg_comms_raw_types 30 "-gnatec=" & SMG_Comms'Project_Dir & "restrict.adc");
smg_comms_raw_types 31 end case;
smg_comms_raw_types 32 end Compiler;
smg_comms_raw_types 33
smg_comms_genesis 34 package Builder is
smg_comms_raw_types 35 for Switches ("Ada")
smg_comms_raw_types 36 use ("-nostdlib");
smg_comms_genesis 37 end Builder;
smg_comms_raw_types 38
smg_comms_raw_types 39 package Binder is
smg_comms_raw_types 40 case Mode is
smg_comms_raw_types 41 when "debug" =>
smg_comms_raw_types 42 for Switches ("Ada")
smg_comms_raw_types 43 use ();
smg_comms_raw_types 44 when "release" =>
smg_comms_raw_types 45 for Switches ("Ada")
smg_comms_raw_types 46 use ("-static");
smg_comms_raw_types 47 end case;
smg_comms_raw_types 48 end Binder;
smg_comms_genesis 49
smg_comms_genesis 50 end SMG_comms;