Besides the information provided by the typesystem, the generator needs to gather more data from the library headers containing the classes to be exposed in Python. If there is a header that include all the others (or just one, as is the case of libfoo) this could be passed directly to the generator.
If such a file is not available, or only a subset of the library is desired, or if some flags must be defined before parsing the library headers, then a global.h file must be provided.
The use of a global.h file is preferred if some macros must be defined before the parser gather data from the headers. For example, if NULL is not defined and it is used as a default paramater for some constructor or method, the parser will not recognize it.
To solve this create a global.h including all the desired headers and the defined (and undefined) flags as follows:
foobinding/data/global.h
#undef QT_NO_STL
#undef QT_NO_STL_WCHAR
#ifndef NULL
#define NULL 0
#endif
#include <foo.h>