Files
gsh/posix_shell.gpr
Nicolas Roche 6fa0348e0d Switch to new list implementation
Change-Id: I2c7d458544f1240390fcfdb3851dfc55c2e00ef0
2019-02-01 22:14:50 +01:00

82 lines
2.1 KiB
Plaintext

with "os.gpr";
with "c.gpr";
with "gsh.gpr";
project Posix_Shell is
type Build_Type is ("dev", "prod");
type Boolean_Type is ("true", "false");
Build : Build_Type := external ("BUILD", "dev");
Build_Dir : Build_Type := Build;
OS := external("OS", "");
Default_Switches := ("-gnat12", "-gnatwcfijklmopruvz", "-gnaty");
Default_Libs := ();
case OS is
when "Windows_NT" =>
Default_Libs := ("-lntdll",
"-Wl,--stack=0x2000000");
when others =>
Default_Libs := ("-lreadline", "-lm", "-ldl");
end case;
Dev_Switches := ("-g", "-O0");
case Build is
when "dev" => Default_Switches := Default_Switches &
("-fpreserve-control-flow", "-fdump-scos");
when "prod" => null;
end case;
for Main use ("strmatch.adb", "gsh_lexer.adb", "gsh.adb", "builtin.adb", "gsh_dump_tree.adb");
case OS is
when "Windows_NT" =>
for Source_Dirs use ("mains");
when others =>
for Source_Dirs use ("mains");
end case;
for Languages use ("Ada");
for Object_Dir use "obj/" & Build_Dir;
package Linker is
case Build is
when "prod" => for Default_Switches ("ada") use Default_Libs;
when "dev" => for Default_Switches ("ada") use Default_Libs;
end case;
end Linker;
package Binder is
case Build is
when "prod" => for Default_Switches ("ada") use ();
when "dev" => for Default_Switches ("ada") use ("-E");
end case;
end Binder;
package Builder is
case Build is
when "prod" =>
for Default_Switches ("ada") use ();
when "dev" =>
for Default_Switches ("ada") use ("-g");
end case;
end Builder;
package Compiler is
case Build is
when "prod" =>
for Default_Switches ("ada") use ("-O2", "-gnatpn") &
Default_Switches;
when "dev" =>
for Default_Switches ("ada") use ("-gnata", "-gnatwe") & Dev_Switches &
Default_Switches;
end case;
end Compiler;
end Posix_Shell;