GNAT is a free, high-quality, complete compiler for Ada, integrated into the
GCC compiler system; the front-end and run-time are written in Ada. GNAT
supports Ada ISO Standards from 1985 to 2022.
Ada was designed for embedded and real-time systems, its features include:
* Strong static typing
* Modular programming (via the package)
* Encapsulation
* Readability
* Optional run-time checking
* Concurrency (via tasks and protected objects), and message passing, as
constructs in the language itself
* Generics
Ada is designed for "Programming in the large", it suits rapid development, and
directly supports structured, object-oriented, generic, distributed and
concurrent programming paradigms. Ada is considered a Design Programming
Language, as a result of the expressive abstractions and features that informed
it's design, and provided to the user. Its expressiveness allows users to
clearly represent design solutions modeled on their problem domain, in
accessible language.
===> The following configuration options are available for gnat15-15.2.0:
ASSETS=off: Build an asset for future bootstrap on the target platform
NLS=on: Native Language Support
====> Options available for the radio BOOTSTRAP: you can only select none or one of them
GNAT14=off: Bootstrap from lang/gnat14
PREVASSET=on: Bootstrap from the previous asset (if available)
===> Use 'make config' to modify these settings
lang/gnat15: remove -Werror
Compilation fails on arm64 because
enable-execute-stack.c:33:13: error: 'check_enabling' declared 'static' but
never defined [-Werror=unused-function]
33 | static void check_enabling (void) __attribute__ ((unused));
| ^~~~~~~~~~~~~~
cc1: all warnings being treated as errors
PR: 292708
Reported by: pkg-fallout
lang/gnat15: New GCC-15 Ada Port
GCC-15 Ada Port:
* Add GNAT-15 to the Ports Tree
* Add xz:threads option to ${TAR} to make use of multi-threaded
compression
* Add GNU OpenMP libraries. This is required for GNATColl Bindings
* Add GNAT and GNAT_SO_VERSION to ${PLIST_SUB} to remove hard-coded
version dependent information. The aim here is to reduce work
updating the Port, or using the pkg-plist to bootstrap the next major
release
* Complete ${LICENSE} block
* Expand pkg-message and make UCL compliant
* Modernise and update ${COMMENT}, ${WWW} and pkg-descr
https://gcc.gnu.org/gcc-15/changes.html#ada
PR: 292708
Co-authored-by: Alastair Hogge <agh@riseup.net>
Co-authored-by: Marcin Cieślak <saper@saper.info>