System Headers
From MDC
In the Mozilla codebase, the compiler, at least recent version of gcc, is set to default to hidden symbols, in order to avoid a some problems.
Note: Include the whole rationale here
For this reason any system header included in the build has to be wrapped to make the symbols it defines visible. These so called system headers are listed in mozilla/config/system-headers
The main symptom of the problem is if you get a message like this at link time:
/usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: libwidget_gtk2.so: hidden symbol `gtk_tree_view_new' isn't defined
This means that the header that declares gtk_tree_view_new(), gtk/gtktreeview.h in this case, is not in mozilla/config/system-headers.