Using AWS with Alire and SSL

By default when you use AWS in an Alire project, you have executed some alr with aws command or added the following line to your Alire toml configuration file:

aws = "~23.0"

Then you are happy to compile your project and use AWS but you may get a cryptic Program_Error exception that is raised when you have your AWS client that tries to connect to a server using https:

aws-client.adb:608 finalize/adjust raised exception

Despite the fact that AWS project is configured with OpenSSL support, it will not use it by default.
Indeed, the AWS project is using the SOCKET configuration which is not configured by default in the GNAT project. Hopefully, you can fix that by building your project with:

alr build -- -XSOCKET=openssl

Now, to avoid the cryptic Program_Error exception, it is also best to check for SSL support in AWS by using a test such as:

if not AWS.Net.SSL.Is_Supported then
  -- No SSL support, report a cleaver error message
end if;

Would it be an issue to enable openssl by default in the AWS toml file?

We could define that env variable in the AWS manifest.