[distcc] Re: ARM Tools / ADS (tcc tccp armcomp) porting
Aaron Perez
Aaron.Perez at Hospira.com
Tue Apr 15 21:25:33 GMT 2008
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;
> }
More information about the distcc
mailing list