diff options
| author | Björn Persson <bjorn@rombobjörn.se> | 2013-10-08 20:05:56 +0200 | 
|---|---|---|
| committer | Björn Persson <bjorn@rombobjörn.se> | 2013-10-08 20:05:56 +0200 | 
| commit | f0bbafed015258350f317558da62dd7be442be3c (patch) | |
| tree | fc586950141a5130776bee7f764ad520fe10e9be /manual.en.html | |
| parent | 779e60ca47698eca02da97cdc97ab96d4bfcc5fa (diff) | |
Documented archincludedir.
Diffstat (limited to 'manual.en.html')
| -rwxr-xr-x | manual.en.html | 48 | 
1 files changed, 32 insertions, 16 deletions
| diff --git a/manual.en.html b/manual.en.html index 1a9e249..b27f463 100755 --- a/manual.en.html +++ b/manual.en.html @@ -280,12 +280,6 @@ to create the subdirectory under <var>stage_cachedir</var>.</p></li>  install log files but you may want to create a separate subdirectory under  <var>stage_logdir</var> if your program writes its own log files.</p></li> -<li><p>Ada specifications, C headers and other source files that are needed for -compilation of other software that uses your libraries shall be placed under -<var>Comfignat.Stage_Includedir</var> by build project files, usually under a -separate subdirectory. Usage project files shall get the directory from the -preprocessor symbol <var>Includedir</var>.</p></li> -  <li><p>Binary libraries shall be placed in <var>Comfignat.Stage_Libdir</var>  by build project files. Usage project files shall get the directory from the  preprocessor symbol <var>Libdir</var>.</p></li> @@ -301,6 +295,21 @@ subdirectory that ALI files are placed in when  <var>alidir</var> = <var>libdir</var>.) Programs shall look for them under  <var>Comfignat.Libdir</var>.</p></li> +<li><p>Ada specifications, C headers and other source files that are needed for +compilation of other software that uses your libraries shall be placed under +<var>Comfignat.Stage_Includedir</var> by build project files, usually under a +separate subdirectory. Usage project files shall get the directory from the +preprocessor symbol <var>Includedir</var>. These files should normally be +architecture-independent.</p></li> + +<li><p>If you have architecture-specific source files that you need to make +available to other software that uses your libraries, then you should refactor +your code to encapsulate the architecture-specific bits in the compiled code +and keep the API clean. But if you really must install such files, then you may +put them under a separate subdirectory of <var>stage_archincludedir</var>. +Usage project files shall get the directory from the preprocessor symbol +<var>Archincludedir</var>.</p></li> +  <li><p>Comfignat puts usage project files in <var>stage_gprdir</var>.</p></li>  <li><p>Locale-specific message catalogs shall be placed in the appropriate @@ -341,10 +350,6 @@ target architecture.</dd>  <dd>The top-level directory for programs that are intended to be run by other  programs rather than by users.</dd> -<dt><var>Includedir</var></dt> -<dd>The top-level directory for source files to be used in the compilation of -software using libraries.</dd> -  <dt><var>Libdir</var></dt>  <dd>The directory for binary libraries to be used by other software, and the  top-level directory for other architecture-specific files.</dd> @@ -354,6 +359,16 @@ top-level directory for other architecture-specific files.</dd>  Ada library information files.</dd>  </dl> +<dt><var>Includedir</var></dt> +<dd>The top-level directory for architecture-independent source files to be +used in the compilation of software using libraries.</dd> + +<dt><var>Archincludedir</var></dt> +<dd>The parent of libraries' separate library-specific directories for +architecture-specific source files to be used in the compilation of software +using libraries, for any libraries that absolutely must install such +files.</dd> +  <p>Here's an example of what a directories project may look like:</p>  <pre class="example gpr">abstract project System_Directories is @@ -369,18 +384,19 @@ Ada library information files.</dd>     end case;     Libdir := "/usr/" & Lib; -   Bindir     := "/usr/bin"; -   Libexecdir := "/usr/libexec"; -   Includedir := "/usr/include"; -   Alidir     := Libdir; +   Bindir         := "/usr/bin"; +   Libexecdir     := "/usr/libexec"; +   Includedir     := "/usr/include"; +   Alidir         := Libdir; +   Archincludedir := Libdir & "/include";  end System_Directories;</pre>  <p>This directories project belongs in a multiarch operating system where  libraries are kept in either <var>/usr/lib</var> or <var>/usr/lib64</var>  depending on which architecture they are compiled for. The directories project -sets <var>Libdir</var> and <var>Alidir</var> -to the right directory for the target architecture based +sets <var>Libdir</var>, <var>Alidir</var> and <var>Archincludedir</var> +to the right directories for the target architecture based  on an environment variable. A library project that uses this directories  project will therefore automatically adapt to the current target architecture,  so that 32-bit and 64-bit instances of the library can be installed in parallel |