Awesome
LibGPR2 - Parser for GPR Project files
INSTALLING THIS LIBRARY
The LibGPR2 library depends on some other external libraries:
Both must be installed on the system to be able to compile LibGPR2.
The library also depends on the Knowledge Base containing information of different targets, runtimes, compilers, etc.:
To regenerate the GPR parser from the Langkit grammar the following additional external modules are required:
-
Python
-
Langkit (build directory)
CONFIGURING LibGPR2
The following variables can be used to configure the libGPR2 library:
-
prefix
: Location of the installation, the default is the running GNAT installation root. -
GPR2_BUILD
: Control the build options:release
(default) ordebug
. -
PROCESSORS
: Parallel compilation (default is 0, depends on the number of cores). -
TARGET
: For cross-compilation, auto-detected for native platforms. -
SOURCE_DIR
: For out-of-tree build. -
GPR2KBDIR
: Location of the Knowledge Base contents (by default library expects them in src/kb/gprconfig_kb). -
ENABLE_SHARED
: Enables the build of libgpr2 as a dynamic library if set to "yes". Otherwise only the static library is built.
To use the default options:
$ make setup
For example, to setup LibGPR2 to install a debug version on /opt/libgpr2
:
$ make setup prefix=/opt/libgpr2 GPR2_BUILD=debug install
To point out the location of the Knowledge Base (assuming it has been checked out to /usr/share/gprconfig_kb):
$ make setup GPR2KBDIR=/usr/share/gprconfig_kb/db
BUILDING LibGPR2
To build all versions of the library (static, relocatable and static-pic) plus the associated tools use the provided Makefile:
$ make
Then, to install it:
$ make install
USING THE LIBRARY
See the LibGPR2 examples.
TESTING THE LIBRARY
To run the testsuite e3-core and e3-testsuite are required:
$ cd testsuite
$ ./testsuite.py
BUG REPORTS
If you got this source file from GNATtracker, please send questions and bug reports to report@gnat.com following the same procedures used to submit reports with the GNAT toolset itself.
If you read this from the GitHub repository, please open issues to send questions and bug reports.
LICENSE
The gpr2 library (gpr2.gpr), and bindings (gpr2-c.gpr, gpr2-python.gpr) are licensed under Apache License, Version 2.0 (see LICENSE).
The gpr2 tools (gpr2-name.gpr, gpr2-tools.gpr) are licensed under GNU General Public License, Version 3 or later (see COPYING3).