[vala] gen-introspect: pretend to be lint



commit aff8625e4ec24129294b1557ec6756e0abdfa5eb
Author: Ryan Lortie <desrt desrt ca>
Date:   Sat Jan 25 01:57:31 2014 -0500

    gen-introspect: pretend to be lint
    
    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

 gobject-introspection/scanner.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gobject-introspection/scanner.c b/gobject-introspection/scanner.c
index f691e78..40e4efe 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;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]