Specifying a Run-Time Library (GNAT User’s Guide for Native Platforms)

### 7.2 Specifying a Run-Time Library ¶

The `adainclude` subdirectory containing the sources of the GNAT run-time library and the `adalib` subdirectory containing the `ALI` files and the static and/or shared GNAT library are located in the gcc target-dependent area:

>     target=$prefix/lib/gcc/gcc-*dumpmachine*/gcc-*dumpversion*/

As indicated above, on some platforms, several run-time libraries are supplied. These libraries are installed in the target dependent area and contain a complete source and binary subdirectory. The detailed description below explains the differences between the different libraries in terms of their thread support.

The default run-time library (when GNAT is installed) is ‘rts-native’. This default run-time is selected by the means of soft links. For example on x86-linux:

                   $(target-dir)
                  __/ /      \ \___
          _______/   /        \    \_________________
         /          /          \                     \
        /          /            \                     \
    ADAINCLUDE  ADALIB      rts-native             rts-sjlj
       :          :            /    \                 /   \
       :          :           /      \               /     \
       :          :          /        \             /       \
       :          :         /          \           /         \
       +-------------> adainclude     adalib   adainclude   adalib
                  :                     ^
                  :                     :
                  +---------------------+

                  Run-Time Library Directory Structure
       (Upper-case names and dotted/dashed arrows represent soft links)

If you want to select the ‘rts-sjlj’ library on a permanent basis, you can modify these soft links with the following commands:

>     $ cd $target
>     $ rm -f adainclude adalib
>     $ ln -s rts-sjlj/adainclude adainclude
>     $ ln -s rts-sjlj/adalib adalib

Alternatively, you can specify `rts-sjlj/adainclude` in the file `$target/ada_source_path` and `rts-sjlj/adalib` in `$target/ada_object_path`.

You can select another run-time library temporarily by using the `--RTS` switch, e.g., `--RTS=sjlj`