GNUstep is a cross-platform, object oriented environment composed of frameworks, tools, and servers (daemons). It is very similar to the Cocoa frameworks from Apple, and tries to maintain compatibility with Cocoa wherever it is desired and possible. The frameworks provide classes for containers, distributed objects, object archiving, file management, text system, font management, image composition, WYSIWYG PostScript graphics, and more.
GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any programming language makes it much more versatile than cpp, while its syntax is lighter and more flexible than that of m4. The syntax is fully customizable, which makes it possible to process text files, HTML, or source code equally efficiently in a variety of languages.
JIGS (Java Interface for GnuStep) allows Java programmers to use the GNUstep libraries from Java, but it is more than a set of bindings for GNUstep from Java: it takes advantage of the fact that Objective-C and Java are very similar languages to make it possible to use Objective-C classes from Java using exactly the same API (and vice versa). Moreover, JIGS can generate automatically wrappers for your own Objective-C GNUstep libraries.