From: Ryan Lortie Date: Sat, 25 Jan 2014 06:57:31 +0000 (-0500) Subject: gen-introspect: pretend to be lint X-Git-Tag: 0.23.3~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aff8625e4ec24129294b1557ec6756e0abdfa5eb;p=thirdparty%2Fvala.git gen-introspect: pretend to be lint Some system headers (notably 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 --- diff --git a/gobject-introspection/scanner.c b/gobject-introspection/scanner.c index f691e78b8..40e4efec5 100644 --- a/gobject-introspection/scanner.c +++ b/gobject-introspection/scanner.c @@ -1531,13 +1531,16 @@ g_igenerator_start_preprocessor (GIGenerator *igenerator, 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;