project Steelcrypt is

  type Build_Modes is
    ("Release", "Debug");
  Mode : Build_Modes := external ("BUILD", "Debug");
  for Main use ("main.adb", "test_sha2.adb", "test_sha3.adb", "test_sha224.adb", "test_sha256.adb", "test_sha384.adb", "test_sha512.adb", "test_keccak.adb");

  case Mode is

    when "Release" =>
      for Source_Dirs use ("src/**");
      for Object_Dir use "obj_release";

    when "Debug" =>
      for Source_Dirs use ("src/**");
      for Object_Dir use "obj_debug";
  end case;

  package Compiler is

    case Mode is

      when "Release" =>
        for Default_Switches ("ada") use ("-gnatQ", "-gnatn", "-O2", "-gnat05");

      when "Debug" =>
        for Default_Switches ("ada") use ("-g", "-gnato", "-gnatwa", "-gnatQ", "-gnat05");
    end case;
  end Compiler;

  package Builder is

    case Mode is

      when "Release" =>
        for Default_Switches ("ada") use ();

      when "Debug" =>
        for Default_Switches ("ada") use ("-g");
    end case;
  end Builder;

  package Ide is
  end Ide;

end Steelcrypt;
