summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-4.3.2/zecke-no-host-includes.patch
blob: 8b05cb73a98a2a333abd952c502b5aa1004786c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Index: gcc-4.0.2/gcc/c-incpath.c
===================================================================
--- gcc-4.0.2.orig/gcc/c-incpath.c	2005-01-23 16:05:27.000000000 +0100
+++ gcc-4.0.2/gcc/c-incpath.c	2006-05-15 21:23:02.000000000 +0200
@@ -350,6 +350,26 @@
   p->construct = 0;
   p->user_supplied_p = user_supplied_p;
 
+#ifdef CROSS_COMPILE
+    /* A common error when cross compiling is including
+    host headers. This code below will try to fail fast
+    for cross compiling. Currently we consider /usr/include,
+    /opt/include and /sw/include as harmful.  */
+	{
+		/* printf("Adding Path: %s\n", p->name ); */
+		if( strstr(p->name, "/usr/include" ) == p->name ) {
+			fprintf(stderr, _("BUILD ISOLATION FAILURE: /usr/include in INCLUDEPATH: %s\n Please fix the flags passed to the compiler to use the correct prefix.\n"), p->name);
+			abort();
+		} else if( strstr(p->name, "/sw/include") == p->name ) {
+			fprintf(stderr, _("BUILD ISOLATION FAILURE: /sw/include in INCLUDEPATH: %s\n Please fix the flags passed to the compiler to use the correct prefix.\n"), p->name);
+			abort();
+		} else if( strstr(p->name, "/opt/include") == p->name ) {
+			fprintf(stderr, _("BUILD ISOLATION FAILURE: /opt/include in INCLUDEPATH: %s\n Please fix the flags passed to the compiler to use the correct prefix.\n"), p->name);
+			abort();
+		 }
+	}
+#endif
+
   add_cpp_dir_path (p, chain);
 }