ArchWiki / Ada
ArchWiki / Ada
Ada is a general purpose, compiled programming language. It features strong static typing, packages, exceptions, generics, tasking, object-orientation and contracts.
Installation
Install the gcc-ada package. This will install the GNAT compiler, which is an Ada front-end for the GNU Compiler Collection (GCC).
Additional packages:
all-ada - A meta package which installs all Ada tools and components.
adacurses - An Ada binding to the 'ncurses' C library.
adaogg - A complete interface layer that brings the Ogg, Vorbis, and Theora libraries to the Ada 2012 programming language.
ada_language_server - High performance syntactic and semantic engine for the Ada programming language.
ada-libfswatch - An Ada binding to the libfswatch library in the fswatch project.
adasat - Implementation of a DPLL-based SAT solver in Ada.
adasockets - BSD sockets in Ada.
ada_spawn - A simple Ada API to start processes and communicate with them.
ada-web-server - Ada Web Server
ahven - A simple unit test framework for the Ada programming language.
alire - A catalog of ready-to-use Ada libraries plus a command-line package manager tool (alr) to use them.
aunit - Ada Unit Testing Framework
florist - An open-source implementation of IEEE Standard 1003.5b-1996, the POSIX Ada binding.
gcc-ada-debug - Ada front-end for GCC (GNAT) with an unstripped runtime for effective debugging in gdb.
GNATColl - GNAT Components Collection
gnatcoverage-bin - A tool to analyze and report program coverage of Ada and C programs.
gnatdoc - GNAT documentation generation tool.
gnatstudio - GnatStudio for Ada.
gnatstudio-bin - GnatStudio binary for Ada.
gnatsymbolize - Translates addresses into their corresponding filename, line number, and function names for Ada programs.
gprbuild or gprbuild-git - GPRbuild build system.
gprbuild-toolbox - Meta builder toolbox for multi-language systems.
gpr - Parser for Ada GPR project files.
gpr-unit-provider - A unit provider for Libadalang based on GPR project analysis library.
gtkada - Ada bindings for the Gtk+ library.
ini_file_manager - Ini configuration file reader and manipulator package for Ada.
inotify-ada - An Ada 2012 library to monitor filesystem events using the Linux inotify API.
kazakov_simple_components - A set of low-level Ada components by Dmitri Kazakov.
langkit - Compiler for syntactic and semantic language analysis libraries.
libadalang - A high performance semantic engine for the Ada programming language.
libadalang-tools - Libadalang-based tools for Ada: gnatpp, gnatmetric and gnatstub.
libgpr - Ada library to handle Gnat project files.
vss-text - A high level Unicode text processing library for Ada.
markdown - A markdown parser for Ada.
polyorb - Provides the Distributed Systems Annex (DSA) to build distributed applications with Ada.
sdlada - An Ada binding to the Simple DirectMedia Layer (SDL) library.
spark2014 - Formally defined programming language based on Ada (GNAT FSF version).
templates_parser - Ada tools to create templated text streams, such as dynamic HTML documents.
vulkada - A complete Vulkan 1.3 binding for the Ada 2012 programming language.
xmlada or xmlada-git - XML/Ada
Signed, pre-built packages are available from the unofficial Ada repository.
Test your installation
Check that GNAT is installed correctly by building a simple program, as follows:
with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line ("Hello, Arch!");
end Hello;hello.adbYou can compile it with gnatmake:
gcc -c hello.adb
gnatbind -x hello.ali
gnatlink hello.ali$ gnatmake helloThen run it:
Hello, Arch!$ ./hello