-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathshared.gpr
107 lines (81 loc) · 3.38 KB
/
shared.gpr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
------------------------------------------------------------------------------
-- wPOSIX --
-- --
-- Copyright (C) 2008-2014, AdaCore --
-- --
-- This is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the --
-- Free Software Foundation; either version 3, or (at your option) any --
-- later version. This software is distributed in the hope that it will --
-- be useful, but WITHOUT ANY WARRANTY; without even the implied warranty --
-- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
-- General Public License for more details. --
-- --
-- You should have received a copy of the GNU General Public License --
-- distributed with this software; see file COPYING3. If not, go --
-- to http://www.gnu.org/licenses for a complete copy of the license. --
------------------------------------------------------------------------------
project Shared is
for Source_Dirs use ();
type Build_Type is ("Debug", "Release");
Build : Build_Type := external ("PRJ_BUILD", "Debug");
Processors := External ("PROCESSORS", "0");
--------------------------
-- Static / Relocatable --
--------------------------
type Library_Kind is ("relocatable", "static");
Library_Type : Library_Kind := external ("LIBRARY_TYPE", "static");
-----------------------
-- Build directories --
-----------------------
Build_Dir := ".build";
for Object_Dir use Build_Dir & "/obj";
for Library_Dir use Build_Dir & "/lib";
---------
-- Ide --
---------
type VCS_Type is ("Subversion", "Git");
VCS_Kind : VCS_Type := external ("PRJ_VCS", "Subversion");
package Ide is
for VCS_Kind use VCS_Kind;
for VCS_Log_Check
use "style_checker -l70 -H";
for VCS_File_Check
use "style_checker -ign out -ign tmplt -ign sed -ign txt"
& " -lang Ada -cp -cy -sp -gnat2012"
& " -lang XML -l256";
end Ide;
--------------
-- Compiler --
--------------
Global_Options := ();
-- Options used for all Ada units in both Debug and Release modes
Common_Options :=
("-gnat2012", "-gnatwcfijkmruve", "-gnaty3abcefhiIklmnoprstx", "-Wall")
& Global_Options;
-- Common options used for the Debug and Release modes
Debug_Options :=
("-g", "-gnata", "-gnatVa", "-gnatQ", "-gnato", "-gnatwe", "-gnatyO");
Release_Options :=
("-O2", "-gnatn");
package Compiler is
case Build is
when "Debug" =>
for Default_Switches ("Ada") use Common_Options & Debug_Options;
when "Release" =>
for Default_Switches ("Ada") use Common_Options & Release_Options;
end case;
end Compiler;
------------
-- Binder --
------------
package Binder is
for Default_Switches ("Ada") use ("-E");
end Binder;
-------------
-- Builder --
-------------
package Builder is
for Default_Switches ("Ada") use ("-m", "-j" & Processors);
end Builder;
end Shared;