.. _About_This_Guide: **************** About This Guide **************** .. only:: PRO For ease of exposition, 'GNAT Pro' will generally be referred to simply as 'GNAT' in the remainder of this document. This guide describes the use of GNAT, a compiler and software development toolset for the full Ada programming language, in a cross compilation environment. It supplements the information presented in the :title:`GNAT User's Guide for Native Platforms`. It describes the features of the compiler and tools, and details how to use them to build Ada applications that run on a target processor. GNAT implements Ada 95, Ada 2005 and Ada 2012, and it may also be invoked in Ada 83 compatibility mode. By default, GNAT assumes Ada 2012, but you can override with a compiler switch to explicitly specify the language version. (Please refer to the section ``Compiling Different Versions of Ada`` in the :title:`GNAT User's Guide for Native Platforms` for details on these switches.) Throughout this manual, references to 'Ada' without a year suffix apply to all Ada 95/2005/2012 versions of the language. This guide contains some basic information about using GNAT in any cross environment, but the main body of the document is a set of Appendices on topics specific to the various target platforms. What This Guide Contains ======================== This guide contains the following chapters: * :ref:`introduction` describes GNAT for cross platforms and the key concepts behind using GNAT in a cross environment. * :ref:`The_Primary_and_Secondary_Stacks` describes the purposes of the two stacks and how to set their sizes. * :ref:`The_Predefined_Profiles` presents the different profiles (restricted feature sets). * :ref:`The_GNAT_Runtimes` presents the different run-time libraries provided by GNAT Pro. * :ref:`The_GNAT_Configurable_Run_Time_Facility` explains how to configure the GNAT run-time library or define a specific Ada feature profile based on application requirements. * :ref:`Support_for_Certified_Systems` describes both the general philosophy and specific features that relate to the use of GNAT for software that has high assurance requirements, for example for safety or security. * :ref:`VxWorks_Topics` presents information relevant to the various VxWorks targets for cross-compilation. * :ref:`Deos_Topics` presents information relevant to the Deos targets for cross-compilation configurations. * :ref:`Bareboard_Topics` describes how to build, load, and run programs on a target without requiring the services of an underlying kernel. * :ref:`Customized_Bareboard_Run-Time_Libraries` presents information relevant to the customization of run-time libraries on bare-board targets. * :ref:`ARM-ELF_Topics_and_Tutorial` describes topics specific to the use of bareboard platforms supporting ARM processors and presents a tutorial on how to build Ada applications that will run on such platforms. * :ref:`AArch64-ELF_Topics` describes topics relevant to bareboard AArch64 and also presents a tutorial on building, running, and debugging an Ada application on this platform. * :ref:`LEON3_Topics` presents information relevant to the LEON3 targets for cross-compilation configurations. * :ref:`Morello-ELF_Topics` describes topics relevant to bareboard Morello and also presents a tutorial on building, running, and debugging an Ada application on this platform. * :ref:`RISCV32-ELF_Topics_and_Tutorial` describes topics relevant to GNAT for bareboard 32-bit RISC-V and also presents a tutorial on building, running, and debugging an Ada application on this platform. * :ref:`RISCV64-ELF_Topics_and_Tutorial` describes topics relevant to GNAT for bareboard 64-bit RISC-V and also presents a tutorial on building, running, and debugging an Ada application on this platform. * :ref:`x86_64-ELF_Topics` describes topics relevant to GNAT for bareboard Intel 64 and also presents a tutorial on building, running, and debugging an Ada application on this platform. * :ref:`Cross_Linux_Topics` presents information relevant to the Cross Linux targets for cross-compilation configurations. * :ref:`PikeOS_Topics` presents information relevant to PikeOS targets for cross-compilation configurations. * :ref:`QNX_Topics` presents information relevant to QNX targets for cross-compilation configurations. What You Should Know before Reading This Guide ============================================== This user's guide assumes a basic familiarity with the Ada 95 language, as described in the International Standard ISO/IEC-8652:1995, January 1995. It does not require knowledge of the new features introduced by Ada 2005, (officially known as ISO/IEC 8652:1995 with Technical Corrigendum 1 and Amendment 1) or the features added by Ada 2012. All Ada reference manuals are included in the GNAT documentation package. This user's guide also assumes that you are familiar with the :title:`GNAT User's Guide for Native Platforms`, and that you know how to use GNAT on a native platform. Related Information =================== For further information about Ada and related tools, please refer to the following documents: * :title:`Ada 95 Reference Manual`, :title:`Ada 2005 Reference Manual`, and :title:`Ada 2012 Reference Manual`, which contain reference material for the several revisions of the Ada language standard. * :title:`GNAT Reference_Manual`, which contains all reference material for the GNAT implementation of Ada. * :title:`Using GNAT Studio`, which describes the GNAT Studio Integrated Development Environment. * :title:`GNAT Programming Studio Tutorial`, which introduces the main GNAT Studio features through examples. * :title:`Debugging with GDB`, for all details on the use of the GNU source-level debugger. .. index:: Typographical conventions Conventions =========== Following are examples of the typographical and graphic conventions used in this guide: * ``Functions``, ``utility program names``, ``standard names``, and ``classes``. * ``Option flags`` * :file:`File names` * ``Variables`` * *Emphasis* * [optional information or parameters] * Examples are described by text :: and then shown this way. * Commands that are entered by the user are shown as preceded by a prompt string consisting of the ``$`` character followed by a space. * Full file names are shown with the '/' character as the directory separator; e.g., :file:`parent-dir/subdir/myfile.adb`. If you are using GNAT on a Windows platform, please note that the '\\' character should be used instead.