From 9473da72d789c945d35e737cc3dff9582f158a43 Mon Sep 17 00:00:00 2001
From: Björn Persson
Date: Sun, 15 Sep 2013 01:31:39 +0200
Subject: Added alidir to the documentation.
---
manual.en.html | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
(limited to 'manual.en.html')
diff --git a/manual.en.html b/manual.en.html
index a9d125a..a8a46a8 100755
--- a/manual.en.html
+++ b/manual.en.html
@@ -290,8 +290,16 @@ preprocessor symbol Includedir.
by build project files. Usage project files shall get the directory from the
preprocessor symbol
Date: Sun, 15 Sep 2013 10:51:08 +0200
Subject: Finished adding alidir to the documentation.
---
INSTALL | 1 +
manual.en.html | 16 +++++++++-------
2 files changed, 10 insertions(+), 7 deletions(-)
(limited to 'manual.en.html')
diff --git a/INSTALL b/INSTALL
index 9984671..5833d80 100644
--- a/INSTALL
+++ b/INSTALL
@@ -190,6 +190,7 @@ invoke Gnatprep. You may need to define them if you run Gnatprep manually.
Logdir
Includedir
Libdir
+ Alidir
GPRdir
Localedir
Mandir
diff --git a/manual.en.html b/manual.en.html
index a8a46a8..1a9e249 100755
--- a/manual.en.html
+++ b/manual.en.html
@@ -147,7 +147,7 @@ that the project Comfignat defines.
If your project file builds a library, then use a subdirectory of
Comfignat.Stage_Includedir for Library_Src_Dir,
Comfignat.Stage_Libdir for Library_Dir, and a
- subdirectory of Comfignat.Stage_Libdir for
+ subdirectory of Comfignat.Stage_Alidir for
Library_ALI_Dir.
@@ -159,8 +159,8 @@ project file without the ".gp" suffix. Make it import the project
file that the preprocessor symbol Directories_GPR specifies, but
only if Directories_GPR is defined. Do not import
comfignat.gpr. Use the symbol Includedir in the value of
-Source_Dirs, and use Libdir for Library_Dir
-and as part of Library_ALI_Dir.
+Source_Dirs, use Libdir for Library_Dir, and
+use Alidir as part of Library_ALI_Dir.
Write a makefile that includes comfignat.mk. The makefile
shall set the variable build_GPRs to the filename of the
@@ -187,7 +187,7 @@ library project Build_Example is
for Object_Dir use Comfignat.Objdir;
for Library_Src_Dir use Comfignat.Stage_Includedir & "/example";
for Library_Dir use Comfignat.Stage_Libdir;
- for Library_ALI_Dir use Comfignat.Stage_Libdir & "/example";
+ for Library_ALI_Dir use Comfignat.Stage_Alidir & "/example";
end Build_Example;
example.gpr.gp
@@ -200,7 +200,7 @@ library project Example is
for Library_Kind use "dynamic";
for Source_Dirs use ($Includedir & "/example");
for Library_Dir use $Libdir;
- for Library_ALI_Dir use $Libdir & "/example";
+ for Library_ALI_Dir use $Alidir & "/example";
for Externally_Built use "true";
end Example;
@@ -296,7 +296,7 @@ project files shall get the directory from the preprocessor symbol
Alidir.
Other architecture-specific files shall usually be placed under a
-separate subdirectory of stage_libdir. (It may be the same
+separate subdirectory of stage_libdir. (It will be the same
subdirectory that ALI files are placed in when
alidir = libdir.) Programs shall look for them under
Comfignat.Libdir.
@@ -372,13 +372,15 @@ Ada library information files.
Bindir := "/usr/bin";
Libexecdir := "/usr/libexec";
Includedir := "/usr/include";
+ Alidir := Libdir;
end System_Directories;
This directories project belongs in a multiarch operating system where
libraries are kept in either /usr/lib or /usr/lib64
depending on which architecture they are compiled for. The directories project
-sets Libdir to the right directory for the target architecture based
+sets Libdir and Alidir
+to the right directory 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
--
cgit v1.2.3
From f0bbafed015258350f317558da62dd7be442be3c Mon Sep 17 00:00:00 2001
From: Björn Persson
Date: Tue, 8 Oct 2013 20:05:56 +0200
Subject: Documented archincludedir.
---
INSTALL | 17 +++++++++++------
manual.en.html | 48 ++++++++++++++++++++++++++++++++----------------
2 files changed, 43 insertions(+), 22 deletions(-)
(limited to 'manual.en.html')
diff --git a/INSTALL b/INSTALL
index 5833d80..9353fe4 100644
--- a/INSTALL
+++ b/INSTALL
@@ -112,11 +112,6 @@ are relevant during the build:
logdir
The top-level directory for log files. Default: /log
- includedir
- The top-level directory for source files to be used in the compilation of
- software using libraries, used only if no directories project is provided.
- Default: /include
-
libdir
The directory for binary libraries to be used by other software, and the
top-level directory for other architecture-specific files, used for
@@ -128,6 +123,15 @@ are relevant during the build:
files for this library, used only if no directories project is provided.
Default:
+ includedir
+ The top-level directory for source files to be used in the compilation of
+ software using libraries, used only if no directories project is provided.
+ Default: /include
+
+ archincludedir
+ Like includedir but for architecture-specific source files, in case this
+ library must install such files. Default: /include
+
gprdir
The directory for GNAT project files to be used in the building of software
using libraries. If you set this to a directory that GPRbuild and Gnatmake
@@ -188,9 +192,10 @@ invoke Gnatprep. You may need to define them if you run Gnatprep manually.
Statedir
Cachedir
Logdir
- Includedir
Libdir
Alidir
+ Includedir
+ Archincludedir
GPRdir
Localedir
Mandir
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 stage_cachedir.
install log files but you may want to create a separate subdirectory under
stage_logdir if your program writes its own log files.
-Ada specifications, C headers and other source files that are needed for
-compilation of other software that uses your libraries shall be placed under
-Comfignat.Stage_Includedir by build project files, usually under a
-separate subdirectory. Usage project files shall get the directory from the
-preprocessor symbol Includedir.
-
Binary libraries shall be placed in Comfignat.Stage_Libdir
by build project files. Usage project files shall get the directory from the
preprocessor symbol Libdir.
@@ -301,6 +295,21 @@ subdirectory that ALI files are placed in when
alidir = libdir.) Programs shall look for them under
Comfignat.Libdir.
+Ada specifications, C headers and other source files that are needed for
+compilation of other software that uses your libraries shall be placed under
+Comfignat.Stage_Includedir by build project files, usually under a
+separate subdirectory. Usage project files shall get the directory from the
+preprocessor symbol Includedir. These files should normally be
+architecture-independent.
+
+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 stage_archincludedir.
+Usage project files shall get the directory from the preprocessor symbol
+Archincludedir.
+
Comfignat puts usage project files in stage_gprdir.
Locale-specific message catalogs shall be placed in the appropriate
@@ -341,10 +350,6 @@ target architecture.
The top-level directory for programs that are intended to be run by other
programs rather than by users.
-Includedir
-The top-level directory for source files to be used in the compilation of
-software using libraries.
-
Libdir
The directory for binary libraries to be used by other software, and the
top-level directory for other architecture-specific files.
@@ -354,6 +359,16 @@ top-level directory for other architecture-specific files.
Ada library information files.
+Includedir
+The top-level directory for architecture-independent source files to be
+used in the compilation of software using libraries.
+
+Archincludedir
+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.
+
Here's an example of what a directories project may look like:
abstract project System_Directories is
@@ -369,18 +384,19 @@ Ada library information files.
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;
This directories project belongs in a multiarch operating system where
libraries are kept in either /usr/lib or /usr/lib64
depending on which architecture they are compiled for. The directories project
-sets Libdir and Alidir
-to the right directory for the target architecture based
+sets Libdir, Alidir and Archincludedir
+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
--
cgit v1.2.3
From f4b3c51803cb6e0cb915e9e84129c6d9df3352cb Mon Sep 17 00:00:00 2001
From: Björn Persson
Date: Wed, 9 Oct 2013 17:19:42 +0200
Subject: Moved some paragraphs back.
---
INSTALL | 22 +++++++++++-----------
manual.en.html | 50 +++++++++++++++++++++++++-------------------------
2 files changed, 36 insertions(+), 36 deletions(-)
(limited to 'manual.en.html')
diff --git a/INSTALL b/INSTALL
index 9353fe4..5a45025 100644
--- a/INSTALL
+++ b/INSTALL
@@ -112,6 +112,15 @@ are relevant during the build:
logdir
The top-level directory for log files. Default: /log
+ includedir
+ The top-level directory for source files to be used in the compilation of
+ software using libraries, used only if no directories project is provided.
+ Default: /include
+
+ archincludedir
+ Like includedir but for architecture-specific source files, in case this
+ library must install such files. Default:
+
libdir
The directory for binary libraries to be used by other software, and the
top-level directory for other architecture-specific files, used for
@@ -123,15 +132,6 @@ are relevant during the build:
files for this library, used only if no directories project is provided.
Default:
- includedir
- The top-level directory for source files to be used in the compilation of
- software using libraries, used only if no directories project is provided.
- Default: /include
-
- archincludedir
- Like includedir but for architecture-specific source files, in case this
- library must install such files. Default: /include
-
gprdir
The directory for GNAT project files to be used in the building of software
using libraries. If you set this to a directory that GPRbuild and Gnatmake
@@ -192,10 +192,10 @@ invoke Gnatprep. You may need to define them if you run Gnatprep manually.
Statedir
Cachedir
Logdir
- Libdir
- Alidir
Includedir
Archincludedir
+ Libdir
+ Alidir
GPRdir
Localedir
Mandir
diff --git a/manual.en.html b/manual.en.html
index b27f463..d46954d 100755
--- a/manual.en.html
+++ b/manual.en.html
@@ -280,21 +280,6 @@ to create the subdirectory under stage_cachedir.
install log files but you may want to create a separate subdirectory under
stage_logdir if your program writes its own log files.
-Binary libraries shall be placed in Comfignat.Stage_Libdir
-by build project files. Usage project files shall get the directory from the
-preprocessor symbol Libdir.
-
-Ada library information (ALI) files shall be placed under a separate
-subdirectory of Comfignat.Stage_Alidir by build project files. Usage
-project files shall get the directory from the preprocessor symbol
-Alidir.
-
-Other architecture-specific files shall usually be placed under a
-separate subdirectory of stage_libdir. (It will be the same
-subdirectory that ALI files are placed in when
-alidir = libdir.) Programs shall look for them under
-Comfignat.Libdir.
-
Ada specifications, C headers and other source files that are needed for
compilation of other software that uses your libraries shall be placed under
Comfignat.Stage_Includedir by build project files, usually under a
@@ -310,6 +295,21 @@ put them under a separate subdirectory of stage_archincludedir.
Usage project files shall get the directory from the preprocessor symbol
Archincludedir.
+Binary libraries shall be placed in Comfignat.Stage_Libdir
+by build project files. Usage project files shall get the directory from the
+preprocessor symbol Libdir.
+
+Ada library information (ALI) files shall be placed under a separate
+subdirectory of Comfignat.Stage_Alidir by build project files. Usage
+project files shall get the directory from the preprocessor symbol
+Alidir.
+
+Other architecture-specific files shall usually be placed under a
+separate subdirectory of stage_libdir. (It will be the same
+subdirectory that ALI files are placed in when
+alidir = libdir.) Programs shall look for them under
+Comfignat.Libdir.
+
Comfignat puts usage project files in stage_gprdir.
Locale-specific message catalogs shall be placed in the appropriate
@@ -350,6 +350,16 @@ target architecture.
The top-level directory for programs that are intended to be run by other
programs rather than by users.
+Includedir
+The top-level directory for (normally architecture-independent) source
+files to be used in the compilation of software using libraries.
+
+Archincludedir
+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.
+
Libdir
The directory for binary libraries to be used by other software, and the
top-level directory for other architecture-specific files.
@@ -359,16 +369,6 @@ top-level directory for other architecture-specific files.
Ada library information files.
-Includedir
-The top-level directory for architecture-independent source files to be
-used in the compilation of software using libraries.
-
-Archincludedir
-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.
-
Here's an example of what a directories project may look like:
abstract project System_Directories is
--
cgit v1.2.3