[distcc] Re: ARM Tools / ADS (tcc tccp armcomp) porting

Aaron Perez Aaron.Perez at Hospira.com
Wed Apr 16 03:20:51 GMT 2008


Fergus Henderson <fergus <at> google.com> writes:

> 
> 
> Hi Aaron,Can you please use "diff -u" rather than "diff" to produce patches?
Also, it would be nice to update the man page to describe the new environment 
variable.Cheers,  Fergus.
> On Tue, Apr 15, 2008 at 5:25 PM, Aaron Perez <Aaron.Perez <at> hospira.com> 
wrote:
> 
> 
> Wang Lixin <wanglx <at> huawei.com> writes:
> >
> >
> > Hi,
> >
> >  
> > I am
> > interesting in DISTCC porting for ARM/ADS. How can i get this patch?
> > Can you send it to me by email.
> > Thanks.
> >
> >  
> > B.R. 
> > Wang Lixin
> >
> >
> >
> 
> > __
> > distcc mailing list            http://distcc.samba.org/
> > To unsubscribe or change options:
> > https://lists.samba.org/mailman/listinfo/distcc
> All,
>     I've been playing with the distcc/armcc combo for a while now and though
> I'd like to go through the formal development process, it's not all that
> straightforward and I don't have that much free time (enough ranting).
>     To the point, armcc/armcpp won't compile anything that it's not expecting
> (*.i, *.ii, etc. vs. *.c, *.cpp, etc). Apparently it doesn't even try to open
> it, it just dies with a semi-cryptic C3065E: type of <file> unknown. I wrote a
> DISTCC_KEEP_FILETYPE flag so that armcc is happy and it appears to working
> correctly (I haven't gotten a full compile yet due to lack of time and a
> complex makefile system).
>     Also, I had to setup TMPDIR=c:/cygwin/tmp/ or armcc kept erroring with a
> can't find /tmp/file.c. If I gave it a relative path it was fine but it didn't
> like an absolute path. A co-worker and I stumbled upon giving it the DOS path
> instead of /cygdrive/c/cygwin/tmp/ that CygWin thinks it is and that was the
> last piece of the puzzle.
>     Hope this helps everybody running a distcc/armcc/cygwin chain.
> Here's the diff
> diff ./distcc-2.18.3/src/filename.c ./original/distcc-2.18.3/src/filename.c
> 140,167c140,157
> <
> <     /*
> <      * Keep the file's extension *.c, *.cpp, etc. instead of *.i, *.ii, etc.
> <      * Some compiler's (i.e. ARM's armcc, armcpp, etc.) will only compile
> expected filetypes
> <      * and *.i, *.ii, etc. are not expected.
> <      */
> <     if (dcc_getenv_bool("DISTCC_KEEP_FILETYPE", 1)) {
> <         return e;
> <       } else {
> <           e++;
> <         if (!strcmp(e, "i") || !strcmp(e, "c")) {
> <             return ".i";
> <         } else if (!strcmp(e, "c") || !strcmp(e, "cc")
> <                    || !strcmp(e, "cpp") || !strcmp(e, "cxx")
> <                    || !strcmp(e, "cp") || !strcmp(e, "c++")
> <                    || !strcmp(e, "C") || !strcmp(e, "ii")) {
> <             return ".ii";
> <         } else if(!strcmp(e,"mi") || !strcmp(e, "m")) {
> <             return ".mi";
> <         } else if(!strcmp(e,"mii") || !strcmp(e,"mm")
> <                     || !strcmp(e,"M")) {
> <             return ".mii";
> <         } else if (!strcasecmp(e, "s")) {
> <             return ".s";
> <         } else {
> <             return NULL;
> <         }
> <     }
> ---
> >     e++;
> >     if (!strcmp(e, "i") || !strcmp(e, "c")) {
> >         return ".i";
> >     } else if (!strcmp(e, "c") || !strcmp(e, "cc")
> >                || !strcmp(e, "cpp") || !strcmp(e, "cxx")
> >                || !strcmp(e, "cp") || !strcmp(e, "c++")
> >                || !strcmp(e, "C") || !strcmp(e, "ii")) {
> >         return ".ii";
> >     } else if(!strcmp(e,"mi") || !strcmp(e, "m")) {
> >         return ".mi";
> >     } else if(!strcmp(e,"mii") || !strcmp(e,"mm")
> >                 || !strcmp(e,"M")) {
> >         return ".mii";
> >     } else if (!strcasecmp(e, "s")) {
> >         return ".s";
> >     } else {
> >         return NULL;
> >     }
> __
> distcc mailing list            http://distcc.samba.org/
> To unsubscribe or change 
options:https://lists.samba.org/mailman/listinfo/distcc
> 
> 
> -- Fergus Henderson <fergus <at> google.com>
> 
> __ 
> distcc mailing list            http://distcc.samba.org/
> To unsubscribe or change options: 
> https://lists.samba.org/mailman/listinfo/distcc

I'll try to do the man pages this weekend, if I'm not working. Here's the diff -
u output:

bash$ diff -u ./distcc-2.18.3/src/ ./original/distcc-2.18.3/src/
diff -u ./distcc-2.18.3/src/filename.c ./original/distcc-2.18.3/src/filename.c
--- ./distcc-2.18.3/src/filename.c      2008-04-15 14:54:05.660072600 -0700
+++ ./original/distcc-2.18.3/src/filename.c     2004-10-23 22:05:26.000000000 -0
700
@@ -137,34 +137,24 @@
 {
     if (e[0] != '.')
         return NULL;
-
-    /*
-     * Keep the file's extension *.c, *.cpp, etc. instead of *.i, *.ii, etc.
-     * Some compiler's (i.e. ARM's armcc, armcpp, etc.) will only compile 
expected filetypes
-     * and *.i, *.ii, etc. are not expected.
-     */
-    if (dcc_getenv_bool("DISTCC_KEEP_FILETYPE", 1)) {
-        return e;
+    e++;
+    if (!strcmp(e, "i") || !strcmp(e, "c")) {
+        return ".i";
+    } else if (!strcmp(e, "c") || !strcmp(e, "cc")
+               || !strcmp(e, "cpp") || !strcmp(e, "cxx")
+               || !strcmp(e, "cp") || !strcmp(e, "c++")
+               || !strcmp(e, "C") || !strcmp(e, "ii")) {
+        return ".ii";
+    } else if(!strcmp(e,"mi") || !strcmp(e, "m")) {
+        return ".mi";
+    } else if(!strcmp(e,"mii") || !strcmp(e,"mm")
+                || !strcmp(e,"M")) {
+        return ".mii";
+    } else if (!strcasecmp(e, "s")) {
+        return ".s";
     } else {
-        e++;
-        if (!strcmp(e, "i") || !strcmp(e, "c")) {
-            return ".i";
-        } else if (!strcmp(e, "c") || !strcmp(e, "cc")
-                   || !strcmp(e, "cpp") || !strcmp(e, "cxx")
-                   || !strcmp(e, "cp") || !strcmp(e, "c++")
-                   || !strcmp(e, "C") || !strcmp(e, "ii")) {
-            return ".ii";
-        } else if(!strcmp(e,"mi") || !strcmp(e, "m")) {
-            return ".mi";
-        } else if(!strcmp(e,"mii") || !strcmp(e,"mm")
-                    || !strcmp(e,"M")) {
-            return ".mii";
-        } else if (!strcasecmp(e, "s")) {
-            return ".s";
-        } else {
-            return NULL;
-        }
-    }
+        return NULL;
+    }
 }



More information about the distcc mailing list