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

Fergus Henderson fergus at google.com
Tue Jun 10 18:55:44 GMT 2008


Hi Aaron,

I suspect that using pump mode (new in distcc 3.0) probably solves this
issue without any need for a new DISTCC_KEEP_FILETYPE environment variable.
So if that works, that would be my preferred solution.

Cheers,
  Fergus.

On Tue, Apr 15, 2008 at 11:20 PM, Aaron Perez <Aaron.Perez at hospira.com>
wrote:

> 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;
> +    }
>  }
>
> __
> 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>
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the distcc mailing list