Rombobjörn

summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL148
1 files changed, 148 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..7efb59b
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,148 @@
+Building and Installing System_Log
+==================================
+
+Requirements
+------------
+
+These instructions assume a Unix-like system with the GNAT tools and GNU Make.
+The makefiles may not work with other Make clones than GNU Make. If you can't
+use Make you will need to manually preprocess some GNAT project files with
+Gnatprep. If you have another Ada compiler than GNAT, then the included build
+system will probably not work and you should do whatever that compiler requires
+you to do to compile the code.
+
+GPRbuild is used by default but Gnatmake can be used instead.
+
+
+Basic Installation
+------------------
+
+The simplest way to build and install System_Log is:
+
+ 1: Go to the directory that contains this file and the makefiles, and run
+ "make" to build the library.
+
+ 2: Run "make install" to copy the files to the default locations. You will
+ probably need root privileges if you install to the default locations.
+
+
+Testing
+-------
+
+"make test" will build a very simple demo program that can be used to check
+that the library is usable.
+
+
+Installation Directories
+------------------------
+
+By default the files are installed in directories under /usr/local. You can
+specify other locations by setting variables on the Make command line, or on
+the Gnatprep command line if you can't use Make. The following Make variables
+are relevant during the build:
+
+ dirgpr
+ The filename of the directory project, if your system has one and you want
+ to install to the directories it specifies. A directory project is a GNAT
+ project file that defines directory variables for use by other project
+ files. Multilib support requires a directory project that can refer to
+ different directories depending on the target architecture. A directory
+ project overrides some but not all of the directory variables listed below.
+
+ prefix
+ A prefix used in the default values of the directory variables listed
+ below. Default: /usr/local
+
+ exec_prefix
+ A prefix used in the default locations for architecture-specific files.
+ Default: <prefix>
+
+ datarootdir
+ The root of the directory tree for read-only architecture-independent data
+ files. Default: <prefix>/share
+
+ includedir
+ The directory for source files that are needed for compilation of code that
+ uses the library, used only if no directory project is provided.
+ Default: <prefix>/include
+
+ libdir
+ The directory for binary libraries and other architecture-specific files,
+ used only if no directory project is provided. Default: <exec_prefix>/lib
+
+ gprdir
+ The directory for GNAT project files. Default: <datarootdir>/gpr
+
+If you want to install to a staging directory from which the files will later
+be copied to their final locations, then set DESTDIR to the staging directory.
+All the other directory variables shall be the final locations. Unlike the
+variables listed above, DESTDIR is effective in the installation step.
+
+The following preprocessor symbols are defined by the makefiles, and may be
+defined manually if Make can't be used:
+
+ Directory_GPR
+ The filename of the directory project, if any; corresponding to dirgpr.
+
+ Directory_Project
+ The name of the directory project, if any. This is supposed to be the
+ filename without a path or a suffix.
+
+ Prefix
+ Exec_Prefix
+ Includedir
+ Libdir
+ These correspond to the like-named Make variables.
+
+
+Build Tools and Options
+-----------------------
+
+The following variables, which may be set in the environment or on the Make
+command line, control which programs are invoked to do the build and which
+options are passed to them:
+
+ GNATPREP
+ The command for invoking Gnatprep, in case you want to use a nondefault
+ version of Gnatprep or a wrapper for example. Default: gnatprep
+
+ GNAT_BUILDER
+ The command for invoking the builder, that is GPRbuild or Gnatmake.
+ Default: gprbuild
+
+ GNATFLAGS
+ A space-separated list with all of the optional parameters to be passed to
+ the builder, including any options to be forwarded to the compiler, binder
+ and linker. If GNATFLAGS is defined it overrides the options variables
+ listed below.
+
+ GNAT_BUILDER_FLAGS
+ A space-separated list of options for the builder, used only if GNATFLAGS
+ is undefined. This may include not only options for the builder itself but
+ also command line separators (also called mode switches) followed by
+ options to be forwarded to the compiler, binder or linker.
+
+ ADAFLAGS
+ A space-separated list of options to be passed to the compiler when
+ compiling Ada code, used only if GNATFLAGS is undefined.
+
+ LDFLAGS
+ A space-separated list of options to be passed to the linker, used only if
+ GNATFLAGS is undefined. (Unfortunately neither GPRbuild nor Gnatmake can
+ forward command line options to the linker when linking a shared library,
+ so LDFLAGS affects only the demo program.)
+
+
+Copyright of This File
+----------------------
+
+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 documentation file
+for any purpose, provided the above notices are retained on all copies.
+Permission to modify the text and to distribute modified text is granted,
+provided the above notices are retained, and a notice that the text was
+modified is included with the above copyright notice.