gmcs is the C# compiler used by mono.
gmcs is the C# compiler used by mono. It has supplanted the older mcs which does not support generics.
A full explanation of the relationship between mcs, gmcs, and other Mono CSharp compilers is at the Mono Project website.