Rombobjörn

summaryrefslogtreecommitdiff
path: root/comfignat.gpr.gp
diff options
context:
space:
mode:
Diffstat (limited to 'comfignat.gpr.gp')
-rw-r--r--comfignat.gpr.gp279
1 files changed, 279 insertions, 0 deletions
diff --git a/comfignat.gpr.gp b/comfignat.gpr.gp
new file mode 100644
index 0000000..e334f00
--- /dev/null
+++ b/comfignat.gpr.gp
@@ -0,0 +1,279 @@
+-- Comfignat configuration variables for GNAT project files
+-- Copyright 2013 B. Persson, Bjorn@Rombobeorn.se
+--
+-- This material is provided as is, with absolutely no warranty expressed
+-- or implied. Any use is at your own risk.
+--
+-- Permission is hereby granted to use or copy this project file
+-- for any purpose, provided the above notices are retained on all copies.
+-- Permission to modify the code and to distribute modified code is granted,
+-- provided the above notices are retained, and a notice that the code was
+-- modified is included with the above copyright notice.
+
+
+-- This file is part of Comfignat – common, convenient, command-line-controlled
+-- compile-time configuration of software built with the GNAT tools. For more
+-- information about Comfignat, see http://www.Rombobeorn.se/Comfignat/.
+
+
+-- This project file defines directory variables for use in build-controlling
+-- project files. It is not to be installed on the target system.
+--
+-- Normally the preprocessing of this file will be controlled by comfignat.mk,
+-- which will make it import the directories project if one is provided. It can
+-- also be preprocessed manually if Make cannot be used for some reason. There
+-- are defaults that will be used if no preprocessor symbols are defined.
+
+
+#if Directories_GPR'Defined then
+ with $Directories_GPR;
+#end if;
+
+abstract project Comfignat is
+
+ #if not Invoked_By_Makefile'Defined then
+
+ --
+ -- These variables are used in constructing the default values of the
+ -- directory variables below. They're only needed when this file is
+ -- preprocessed manually.
+ --
+
+ #if Prefix'Defined then
+ Prefix := $Prefix;
+ #else
+ Prefix := "/usr/local";
+ #end if;
+ -- Prefix is used in the default locations for almost all files.
+
+ #if Exec_Prefix'Defined then
+ Exec_Prefix := $Exec_Prefix;
+ #else
+ Exec_Prefix := Prefix;
+ #end if;
+ -- Exec_Prefix is used in the default locations for programs, binary
+ -- libraries and other architecture-specific files.
+
+ #if Datarootdir'Defined then
+ Datarootdir := $Datarootdir;
+ #else
+ Datarootdir := Prefix & "/share";
+ #end if;
+ -- Datarootdir is the root of the directory tree for read-only
+ -- architecture-independent data files.
+
+ #if Localstatedir'Defined then
+ Localstatedir := $Localstatedir;
+ #else
+ Localstatedir := Prefix & "/var";
+ #end if;
+ -- Localstatedir is the root of the directory tree for data files that
+ -- programs modify while they run.
+
+ #end if;
+
+
+ --
+ -- The following variables may be compiled into programs or libraries to
+ -- tell them where to find or write different kinds of files at run time.
+ -- Most of the directory names are relative to Bindir if the software was
+ -- configured as a relocatable package. Otherwise they are absolute
+ -- pathnames.
+ --
+
+ -- Programs that can be run from a command prompt are in Bindir. This is
+ -- normally the same directory that the program itself is in, so this
+ -- variable is probably of little use at run time.
+ #if Bindir'Defined then
+ Bindir := $Bindir;
+ #else
+ Bindir := Exec_Prefix & "/bin";
+ #end if;
+
+ -- Programs that are intended to be run by other programs rather than by
+ -- users are under Libexecdir.
+ #if Libexecdir'Defined then
+ Libexecdir := $Libexecdir;
+ #else
+ Libexecdir := Exec_Prefix & "/libexec";
+ #end if;
+
+ -- Idiosyncratic read-only architecture-independent data files are under an
+ -- application-specific subdirectory of Datadir.
+ #if Datadir'Defined then
+ Datadir := $Datadir;
+ #else
+ Datadir := Datarootdir;
+ #end if;
+
+ -- Host-specific configuration files are under Sysconfdir.
+ #if Sysconfdir'Defined then
+ Sysconfdir := $Sysconfdir;
+ #else
+ Sysconfdir := Prefix & "/etc";
+ #end if;
+
+ -- Idiosyncratic variable data files shall be kept under an application-
+ -- specific subdirectory of Statedir.
+ #if Statedir'Defined then
+ Statedir := $Statedir;
+ #else
+ Statedir := Localstatedir & "/lib";
+ #end if;
+
+ -- Cached data files that the application can regenerate if they are deleted
+ -- shall be kept under an application-specific subdirectory of Cachedir.
+ #if Cachedir'Defined then
+ Cachedir := $Cachedir;
+ #else
+ Cachedir := Localstatedir & "/cache";
+ #end if;
+
+ -- Log files shall be written under Logdir.
+ #if Logdir'Defined then
+ Logdir := $Logdir;
+ #else
+ Logdir := Localstatedir & "/log";
+ #end if;
+
+ -- Source files to be used in the compilation of software using libraries
+ -- are under Includedir.
+ #if Includedir'Defined then
+ Includedir := $Includedir;
+ #else
+ Includedir := Prefix & "/include";
+ #end if;
+
+ -- Binary libraries and other architecture-specific files are under Libdir.
+ #if Libdir'Defined then
+ Libdir := $Libdir;
+ #else
+ Libdir := Exec_Prefix & "/lib";
+ #end if;
+
+ -- GNAT project files are under GPRdir.
+ #if GPRdir'Defined then
+ GPRdir := $GPRdir;
+ #else
+ GPRdir := Datarootdir & "/gpr";
+ #end if;
+
+ -- Locale-specific message catalogs are under Localedir.
+ #if Localedir'Defined then
+ Localedir := $Localedir;
+ #else
+ Localedir := Datarootdir & "/locale";
+ #end if;
+
+ -- Documentation in the Man format is under Mandir.
+ #if Mandir'Defined then
+ Mandir := $Mandir;
+ #else
+ Mandir := Datarootdir & "/man";
+ #end if;
+
+ -- Documentation in the Info format is in Infodir.
+ #if Infodir'Defined then
+ Infodir := $Infodir;
+ #else
+ Infodir := Datarootdir & "/info";
+ #end if;
+
+ -- Other documentation files are under an application-specific subdirectory
+ -- of Miscdocdir.
+ #if Miscdocdir'Defined then
+ Miscdocdir := $Miscdocdir;
+ #else
+ Miscdocdir := Datarootdir & "/doc";
+ #end if;
+
+ -- Small files that take part in describing the state of the system, and
+ -- that exist only while the program is running, such as process identifier
+ -- files and transient Unix-domain sockets, shall be created under
+ -- Runtimedir. (This is NOT the place for temporary files in general.)
+ #if Runtimedir'Defined then
+ Runtimedir := $Runtimedir;
+ #else
+ Runtimedir := "/run";
+ #end if;
+
+ -- Lock files that are used to prevent multiple programs from trying to
+ -- access a device or other resource at the same time shall be created under
+ -- Lockdir.
+ #if Lockdir'Defined then
+ Lockdir := $Lockdir;
+ #else
+ Lockdir := Runtimedir & "/lock";
+ #end if;
+
+
+ --
+ -- The following variables are for use in attributes to control where
+ -- generated files are placed.
+ --
+
+ -- Various generated files are kept in Builddir.
+ #if Builddir'Defined then
+ Builddir := $Builddir;
+ #else
+ Builddir := ".";
+ #end if;
+
+ -- Intermediate files produced during the build shall be kept in Objdir.
+ #if Objdir'Defined then
+ Objdir := $Objdir;
+ #else
+ Objdir := Builddir & "/obj";
+ #end if;
+
+ #if Directories_Project'Defined then
+ -- Put intermediate files for different architectures in subdirectories
+ -- where they won't conflict with each other. (This is useful especially
+ -- with binder files when they are packaged in debug information packages
+ -- for multiarch systems.)
+ Objdir := Objdir & "/" & $Directories_Project.Hardware_Platform;
+ #end if;
+
+ -- Files to be installed shall be placed under Stagedir instead of the root
+ -- directory. (This variable is unused by Comfignat when Make is used and no
+ -- directories project is provided.)
+ #if Stagedir'Defined then
+ Stagedir := $Stagedir;
+ #else
+ Stagedir := external("DESTDIR", "");
+ #end if;
+
+ -- Programs that can be run from a command prompt shall be installed in
+ -- Stage_Bindir.
+ #if Stage_Bindir'Defined then
+ Stage_Bindir := $Stage_Bindir;
+ #else
+ Stage_Bindir := Stagedir & Bindir;
+ #end if;
+
+ -- Programs that are only to be run by other programs, not by users, shall
+ -- be installed under Stage_Libexecdir.
+ #if Stage_Libexecdir'Defined then
+ Stage_Libexecdir := $Stage_Libexecdir;
+ #else
+ Stage_Libexecdir := Stagedir & Libexecdir;
+ #end if;
+
+ -- Source files needed for compiling code that uses a library shall be
+ -- installed under Stage_Includedir.
+ #if Stage_Includedir'Defined then
+ Stage_Includedir := $Stage_Includedir;
+ #else
+ Stage_Includedir := Stagedir & Includedir;
+ #end if;
+
+ -- Binary libraries shall be installed in Stage_Libdir.
+ -- ALI files shall be installed in a library-specific subdirectory of
+ -- Stage_Libdir.
+ #if Stage_Libdir'Defined then
+ Stage_Libdir := $Stage_Libdir;
+ #else
+ Stage_Libdir := Stagedir & Libdir;
+ #end if;
+
+end Comfignat;