Some system headers (notably <stdarg.h> on FreeBSD) get upset when they
see an unexpected compiler. We go out of our way to pass -U__GNUC__ to
cpp from the scanner code during gen-introspect and this is causing
problems.
As a workaround, we can pretend to be lint, which fixes the issue at
least for FreeBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=722954
int tmp;
char *tmpname;
- cpp_argv = g_new0 (char *, g_list_length (cpp_options) + 4);
+ cpp_argv = g_new0 (char *, g_list_length (cpp_options) + 5);
cpp_argv[cpp_argc++] = "cpp";
cpp_argv[cpp_argc++] = "-C";
/* Disable GCC extensions as we cannot parse them yet */
cpp_argv[cpp_argc++] = "-U__GNUC__";
+ /* Help system headers cope with the lack of __GNUC__ by pretending to be lint */
+ cpp_argv[cpp_argc++] = "-Dlint";
+
for (l = cpp_options; l; l = l->next)
cpp_argv[cpp_argc++] = (char*)l->data;