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. --- INSTALL | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'INSTALL') diff --git a/INSTALL b/INSTALL index 93b4650..9984671 100644 --- a/INSTALL +++ b/INSTALL @@ -119,8 +119,14 @@ are relevant during the build: libdir The directory for binary libraries to be used by other software, and the - top-level directory for other architecture-specific files, used only if no - directories project is provided. Default: /lib + top-level directory for other architecture-specific files, used for + libraries only if no directories project is provided. + Default: /lib + + alidir + The parent of the library-specific directory for Ada library information + files for this library, used only if no directories project is provided. + Default: gprdir The directory for GNAT project files to be used in the building of software -- cgit v1.2.3 From 3dfe552131ed21d516263dae5efd89de29b17700 Mon Sep 17 00:00:00 2001 From: Björn Persson 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 'INSTALL') 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 'INSTALL') 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 'INSTALL') 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