Autoconf, Automake, Libtool and related bits and pieces. The configure script is the best-known artifact of this family of software. They are probably the best available solution for widespread portability available, which says depressing things about how good the available solutions are.
These tools usually do their job quite well when properly deployed. They're also very, very hard for developers to use for significant projects. I have no idea how the major projects start using them, but minor projects usually don't use them (or use them incorrectly) because they're so hard to set up properly.
Autoconf is used for automatic configuration. Automake is a set of Autoconf macros that do approprite things for common setups. Many libraries, such as GNOME, add more Autoconf macros for other options. Libtool is used to generate shared libraries. m4 is an old macro-generation tool which underlies all of this. Usually all of these tools are used together in a single lump, which is part of why their functionality is so difficult to comprehend. There are many layers, and each layer is distinctly non-obvious.
Glade is the most common of the Unix-based UI builders. It can be used to generate static code for a GTK+-based (or other) interface, and it can be used with libglade to dynamically load chunks of interface. Very nice, easy to use and well-respected.
Compatible with all major platforms. This is a C portability library for types and data structures, with a little additional overlying functionality.
Compatible with all major Unix platforms. Mostly compatible with Win32, BeOS and a few others. Has bindings to most major languages, and is native to C. GTK+ is the windowing toolkit which was taken from the GIMP originally, and is now the basis of GNOME. It's one of two major competing Unix windowing toolkits, along with Qt. Uses Glib underneath.
Compatible with all major Linux distributions. Mostly compatible with various BSD unices. Some patchy compatibility with Win32 and non-Linux Unices. Has bindings to several major languages, but is native to C. Uses GTK+ underneath.
Compatible with all major platforms, though not all components are compatible with all wxWindows platforms. Compatible to some extent even with WinCE. #ifdefs and configure scripts attempt to make up the shortfall, and mostly do it well. Native to C++. Excellent Python bindings and adequate Perl bindings are also available.
Recently renamed from wxWindows to wxWidgets. This library includes a UI toolkit, but also libraries for threading, network access and other general cross-platform concerns. It will normally have to be installed by the end user, but is very old and well-tested. Only a few newer, more experimental tools are likely to cause any deployment problems or require non-stable versions.