@@ -28,7 +28,9 @@ Not only can the WolfSSL Ada binding be used in Ada applications but
2828also SPARK applications (a subset of the Ada language suitable
2929formal verification). To formally verify the Ada code in this repository
3030open the client.gpr with GNAT Studio and then select
31- SPARK -> Prove All Sources and use Proof Level 2.
31+ SPARK -> Prove All Sources and use Proof Level 2. Or when using the command
32+ line, use ` gnatprove -Pclient.gpr --level=4 -j12 ` (` -j12 ` is there in
33+ order to instruct the prover to use 12 CPUs if available).
3234
3335```
3436Summary of SPARK analysis
@@ -67,19 +69,17 @@ dependency by running `alr with gnatprove` and then running `alr gnatprove`,
6769which will execute the SPARK solver. If you get warnings, it is recommended to
6870increase the prove level: ` alr gnatprove --level=4 ` .
6971
70- ### GNAT Community Edition 2021
71- Download and install the GNAT community Edition 2021 compiler and studio:
72- https://www.adacore.com/download
73-
74- Linux Install:
72+ ### GNAT FSF Compiler and GPRBuild manual installation
73+ In May 2022 AdaCore announced the end of the GNAT Community releases.
74+ Pre-built binaries for the GNAT FSF compiler and GPRBuild can be
75+ downloaded and manually installed from here:
76+ https://github.com/alire-project/GNAT-FSF-builds/releases
77+ Make sure the executables for the compiler and GPRBuild are on the PATH
78+ and use gprbuild to build the source code.
7579
76- ``` sh
77- chmod +x gnat-2021-20210519-x86_64-linux-bin
78- ./gnat-2021-20210519-x86_64-linux-bin
79- ```
80+ #### Manual build of the project
8081
8182``` sh
82- export PATH=" /opt/GNAT/2021/bin:$PATH "
8383cd wrapper/Ada
8484gprclean
8585gprbuild default.gpr
@@ -96,15 +96,6 @@ gprbuild -XOS=Windows default.gpr
9696gprbuild -XOS=Windows client.gpr
9797```
9898
99-
100- ### GNAT FSF Compiler and GPRBuild manual installation
101- In May 2022 AdaCore announced the end of the GNAT Community releases.
102- Pre-built binaries for the GNAT FSF compiler and GPRBuild can be
103- downloaded and manually installed from here:
104- https://github.com/alire-project/GNAT-FSF-builds/releases
105- Make sure the executables for the compiler and GPRBuild are on the PATH
106- and use gprbuild to build the source code.
107-
10899## Files
109100The (D)TLS v1.3 client example in the Ada/SPARK programming language
110101using the WolfSSL library can be found in the files:
@@ -117,15 +108,3 @@ using the WolfSSL library can be found in the files:
117108tls_server_main.adb
118109tls_server.ads
119110tls_server.adb
120-
121- A feature of the Ada language that is not part of SPARK is exceptions.
122- Some packages of the Ada standard library and GNAT specific packages
123- provided by the GNAT compiler can therefore not be used directly but
124- need to be put into wrapper packages that does not raise exceptions.
125- The packages that provide access to sockets and command line arguments
126- to applications implemented in the SPARK programming language can be
127- found in the files:
128- spark_sockets.ads
129- spark_sockets.adb
130- spark_terminal.ads
131- spark_terminal.adb
0 commit comments