Developer Documentation
This information is only relevant if you would like to contribute to GPS-OSX.
Repository Layout
The GPS sources from AdaCore are contained in the branch upstream
. It is an orphan branch with no parents. If AdaCore releases a new version, it will be checked in into upstream
and will then be merged into the other branches.
The other two code branches are develop
and master
. They are childs of upstream
. Usually, develop
is based upon the latest master
revision. I do my work there and then merge it into master
, which serves as base for building binaries. If you want to send a pull request, commit your work into develop
.
Opening the source code in GPS
To be able to do this, you need to have the jhbuild/gtk-quartz toolchain installed (follow the instruction in the readme file). You also need to build and install GtkAda and XMLAda into the jhbuild directory (usually ~/gtk/inst
) and change the ADA_PROJECT_PATH
of your GPS app bundle to ~/gtk/inst/lib/gnat
so that GPS finds these two libraries (see the Usage page). Before opening the source, you should navigate to the source folder in the terminal and execute:
jhbuild shell
export GPR_PROJECT_PATH=$PREFIX/lib/gnat
export PATH=$PREFIX/bin:$PATH
./configure --prefix=$PREFIX --with-python=$PREFIX/bin/python --enable-gpl
exit
This generates the project file gnatlib/gnatcoll_shared.gpr
. After that, you should be able to open gps/gps.gpr
into GPS. If you want to actually build GPS from inside GPS, well, good luck - I never tried that. A starting point would be build-gps.sh
, where the lines above are taken from. In addition, you need to figure out what the Makefile does and tell GPS to do exactly that.