Skip to content

Commit 83ac169

Browse files
committed
Use compiler switches from Alire's configuration
Signed-off-by: onox <[email protected]>
1 parent 5fd9f67 commit 83ac169

File tree

7 files changed

+50
-168
lines changed

7 files changed

+50
-168
lines changed

Makefile

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,25 @@
1-
.PHONY: build fast debug clean prove tests coverage
1+
.PHONY: build clean prove tests coverage
22

33
build:
4-
cd json && alr build
5-
6-
fast:
7-
cd json && alr build -- -XJSON_RUNTIME_CHECKS=none -XJSON_CONTRACTS=disabled
8-
9-
debug:
10-
cd json && alr build -- -XJSON_BUILD_MODE=debug
4+
cd json && alr build --validation
115

126
clean:
13-
-gnatprove --clean -P json/json.gpr
7+
-alr gnatprove --clean
148
cd json && alr clean
159
cd tests && alr clean
16-
rm -rf json/build tests/build tests/cov tests/TEST-*.xml
10+
rm -rf json/build tests/build tests/build/cov tests/TEST-*.xml
1711

1812
prove:
19-
gnatprove -P json/json.gpr
13+
alr gnatprove
2014

2115
tests:
22-
cd tests && alr build -- -XJSON_BUILD_MODE=coverage
16+
cd tests && alr build --development
2317
cd tests && alr run -s
2418

2519
coverage:
26-
mkdir -p tests/cov
27-
lcov -q -c -d json/build/obj -d tests/build/obj -o tests/cov/unit.info
28-
lcov -q -r tests/cov/unit.info */adainclude/* -o tests/cov/unit.info
29-
lcov -q -r tests/cov/unit.info */tests/* -o tests/cov/unit.info
30-
genhtml -q --ignore-errors source -o tests/cov/html tests/cov/unit.info
31-
lcov -l tests/cov/unit.info
20+
mkdir -p tests/build/cov
21+
lcov -q -c -d json/build/obj -d tests/build/obj -o tests/build/cov/unit.info
22+
lcov -q -r tests/build/cov/unit.info */adainclude/* -o tests/build/cov/unit.info
23+
lcov -q -r tests/build/cov/unit.info */tests/* -o tests/build/cov/unit.info
24+
genhtml -q --ignore-errors source -o tests/build/cov/html tests/build/cov/unit.info
25+
lcov -l tests/build/cov/unit.info

json/alire.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ authors = ["onox"]
1313
maintainers = ["onox <[email protected]>"]
1414
maintainers-logins = ["onox"]
1515

16-
[configuration]
17-
disabled = true
16+
[build-switches]
17+
validation.compile_checks = "warnings"
18+
"*".style_checks = ["-gnatygAO-Is"]

json/json.gpr

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
1-
with "json_config";
1+
with "config/json_config";
22

3-
project Json is
3+
project JSON is
44

5-
for Library_Name use "json";
6-
for Library_Version use "5.0.0";
5+
for Library_Name use "json-ada";
6+
for Library_Version use Project'Library_Name & ".so." & Json_Config.Crate_Version;
77

8-
for Source_Dirs use ("src");
8+
for Create_Missing_Dirs use "True";
99

10-
for Object_Dir use "build/obj";
10+
for Source_Dirs use ("src");
11+
for Object_Dir use "build/obj/" & Json_Config.Build_Profile;
1112
for Library_Dir use "build/lib";
1213

13-
package Compiler extends JSON_Config.Compiler is
14+
type Library_Type_Type is ("relocatable", "static", "static-pic");
15+
Library_Type : Library_Type_Type :=
16+
external ("JSON_LIBRARY_TYPE", external ("LIBRARY_TYPE", "static"));
17+
for Library_Kind use Library_Type;
18+
19+
package Compiler is
20+
for Default_Switches ("Ada") use Json_Config.Ada_Compiler_Switches & ("-gnatyM99");
1421
for Local_Configuration_Pragmas use "gnat.adc";
1522
end Compiler;
1623

17-
package Binder renames JSON_Config.Binder;
18-
19-
package Prove is
20-
for Proof_Switches ("Ada") use ("--checks-as-errors", "--level=4", "--no-axiom-guard", "--mode=check", "--prover=all", "--cwe", "--pedantic", "-k", "-j0", "--output-header");
21-
end Prove;
24+
package Binder is
25+
for Switches ("Ada") use ("-Es"); -- Symbolic traceback
26+
end Binder;
2227

23-
end Json;
28+
end JSON;

json/json_config.gpr

Lines changed: 0 additions & 107 deletions
This file was deleted.

json/json_pretty_print.gpr

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
with "json_config";
21
with "json";
2+
with "config/json_config";
33

44
project JSON_Pretty_Print is
55

66
for Create_Missing_Dirs use "True";
77

88
for Source_Dirs use ("src/tools");
9-
for Object_Dir use "build/tools/obj";
9+
for Object_Dir use "build/tools/obj/" & Json_Config.Build_Profile;
1010
for Library_Dir use "build/tools/lib";
1111

1212
for Exec_Dir use "build/bin";
@@ -16,13 +16,4 @@ project JSON_Pretty_Print is
1616
package Compiler renames JSON.Compiler;
1717
package Binder renames JSON.Binder;
1818

19-
package Linker is
20-
case JSON_Config.Build_Mode is
21-
when "coverage" =>
22-
for Switches ("Ada") use ("-lgcov");
23-
when others =>
24-
null;
25-
end case;
26-
end Linker;
27-
2819
end JSON_Pretty_Print;

tests/alire.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@ authors = ["onox"]
1111
maintainers = ["onox <[email protected]>"]
1212
maintainers-logins = ["onox"]
1313

14-
[configuration]
15-
disabled = true
16-
1714
[[depends-on]]
1815
aunit = "^21.0.0"
1916
json = "^5.0.2"
2017

2118
[[pins]]
2219
json = { path = "../json" }
20+
21+
[build-switches]
22+
validation.compile_checks = "warnings"
23+
"*".style_checks = ["-gnatygAO-Is"]

tests/json_tests.gpr

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,36 +14,33 @@
1414
-- See the License for the specific language governing permissions and
1515
-- limitations under the License.
1616

17-
with "../json/json_config";
18-
with "json";
1917
with "aunit";
18+
with "json";
19+
with "config/json_tests_config";
2020

2121
project JSON_Tests is
2222

2323
for Create_Missing_Dirs use "True";
2424

2525
for Source_Dirs use ("src");
26-
27-
for Object_Dir use "build/obj";
28-
for Library_Dir use "build/lib";
26+
for Object_Dir use "build/obj/" & JSON_Tests_Config.Build_Profile;
2927

3028
for Exec_Dir use "build/bin";
3129

3230
for Main use ("test_bindings.adb");
3331

34-
package Binder renames JSON.Binder;
35-
36-
package Compiler extends JSON.Compiler is
32+
package Compiler is
33+
for Default_Switches ("Ada") use Json_Tests_Config.Ada_Compiler_Switches &
34+
("-gnatyM99", "--coverage");
3735
for Local_Configuration_Pragmas use "gnat.adc";
3836
end Compiler;
3937

38+
package Binder is
39+
for Switches ("Ada") use ("-Es"); -- Symbolic traceback
40+
end Binder;
41+
4042
package Linker is
41-
case JSON_Config.Build_Mode is
42-
when "coverage" =>
43-
for Switches ("Ada") use ("-lgcov");
44-
when others =>
45-
null;
46-
end case;
43+
for Switches ("Ada") use ("-lgcov");
4744
end Linker;
4845

4946
end JSON_Tests;

0 commit comments

Comments
 (0)