The GNUstep suite consists of the core packages, the development tools and some auxiliary libraries. You can see a representation of how they are related on the library map.
The core packages of libraries and tools are the basis of GNUstep. There are four parts at present: makefiles, base library, GUI library and the back-end. All four are available in the Startup package from the downloads pages.
- Make: The GNUstep Makefile Package is a configuration system and set of rules that makes compilation of GNUstep source as easy as simply listing the files.
- Base Library: Our base library implements the FoundationKit part of the OpenStep specification.
- GUI Library: This implements the ApplicationKit from the OpenStep spec.
- Backend: The back-end provides a small set of functions used by the GUI library to interface to the actual window system (X11, etc). It also has a drawing engine which emulates common PostScript functions.
- GNU Objective-C Compiler (GCC): To produce applications, we compile source code to make executable binaries. The GNU C compiler has supported Objective-C for years, and it has been ported to almost every operating system.
- GNU Debugger (GDB): GDB version 6.0, and higher, supports debugging Objective-C code natively. See our instructions for Objective-C debugging with gdb.
- ProjectCenter: Good development systems always build on project management. Project Center lets you search, edit, debug and design your applications and libraries with a range of tools.
- Gorm: The Graphical Object Relationship Modeller lets you graphically design a user interface for your application.
- A list of currently available libraries and frameworks can be found here.
- GNUstep Database Library Version 2 (GDL2)
- GNUstep Web Applications Framework (GSWeb): The GNUstepWeb library is a logic extension of the GNUstep project designed to be compatible with NeXT's WebObjects 4.x.
- Foundation Extensions Library (extensions): This library contains some classes and extensions that are not required for GNUstep, but provide some useful functions none the less.
- libFoundation (no longer developed): An alternate implementation of FoundationKit. libFoundation is more slim than gnustep-base, but still lacks several features of Foundation. It implements some extensions to Foundation that are also available separately for use with gnustep-base.