Development sources can be downloaded via git but they must be grafted carefully onto an existing GCC release. The notes in this section document how this is achieved, however a prepared git and GCC release is available and it is created upon each commit.
The source code in the git can be browsed. However if you want to obtain the latest sources via git then type the following:
$ git clone git://git.sv.gnu.org/gm2.git
This will checkout a copy of GNU Modula-2 into one subdirectory, gm2. The checkout also includes the complete testsuite and gm2 libraries.
This version of GNU Modula-2 needs to be placed on top of the GCC source tree and have various patches applied before GNU Modula-2 can be built. Please check the GNU Modula-2 homepage for details about which GCC releases are supported by GNU Modula-2.
Once you have downloaded the correct GCC release from http://gcc.gnu.org or a mirror site you should unpack the GCC archive. Assuming that both the gcc-6.4.0 and gm2 directories are at the same level, you can graft gm2 onto gcc-6.4.0 by:
$ mkdir -p combined/gm2 $ mv gcc-6.4.0 combined/gm2/gcc-versionno $ tar cf - gm2 | ( cd combined ; tar xf - )
If the directory combined/gm2/gcc-versionno/gcc/gm2/patches/gcc/6.4.0 exists then the patch files inside that directory can be applied to the gcc-versionno tree. This is done via:
$ cd combined/gm2/gcc-versionno $ if [ -d gcc/gm2/patches/gcc/6.4.0 ] ; then for i in gcc/gm2/patches/gcc/6.4.0/* ; do if [ -f $i ] ; then patch -p1 < $i fi done fi
Note that if you download a tarball from http://floppsie.comp.glam.ac.uk then any patching will have already been applied. .