- Give all included projects.
- Give all included sources (transitive or not).
- Give all included source directories (transitive or not).
- Give all main files.
- Give all main directories.
- Give all included object paths.
- Give project zombies (duplicated .o or .ali when a source file
are moved from one project to another).
There are 2 ways of accessing those services :
- In a shell using the gnatgpr binary.
- In Ada using the GNAT_GPR package specification interface.
GNATGPR is based on :
- A modified version of the GNAT GPL 2008 (GPL) compiler front-
end.
- It gets his own Namet and so on.
- It can extracts some especially craft comments in the gpr
project file.
- AdaControl (GMGPL), for option analyzis.
- Only the Options_Analyzer package have been re-used
(without any change).
- AUnit 3 (GPL), for unit testing.
GNATGPR works successfully on :
- x86/Linux (GNAT GPL 2010).
- x86/Linux (GCC FSF 4.4.3 Ubuntu 10.04).
- x86/Mac OS X (GNAT GPL 2010).
- Sparc/Solaris (GNAT Pro 6.1.2).
GNATGPR roadmap :
- Selection of the next gnatgpr engine (GCC FSF 4.4/GPRBuild/GNAT
GPL 2010/GNATColl).
- Shift to GPL v3.
- Documentation.
- GNATGPR production for non-GNAT Ada compilers.
- GNAT_GPR package interface clean-up.
- Non transitive analysis for main files, binary directories and
object paths.
- Multi languages processing.
- Multi root-projects processing.
- Comply to Debian packaging guidelines (removal of debian
directory at upstream level, ...).
[1] GNATGPR
http://www.adalabs.com/products.html#Gnatgpr
http://gna.org/projects/gnatgpr