Re: [distcc] Re: ARM Tools / ADS (tcc tccp armcomp) porting
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 [EMAIL PROTECTED] 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 listhttp://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 listhttp://distcc.samba.org/ To unsubscribe or change options:https://lists.samba.org/mailman/listinfo/distcc -- Fergus Henderson fergus at google.com __ distcc mailing listhttp://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.0 -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)) { -
Re: [distcc] Re: ARM Tools / ADS (tcc tccp armcomp) porting
On Tue, Jun 10, 2008 at 3:12 PM, Perez, Aaron P. [EMAIL PROTECTED] wrote: I was looking at the online man pages this morning and wondering the same thing myself. When I get the time to try it out I will let you know. One thing that I wasn't clear on (as I only scanned over this) does pump mode require source (or directory structure) on all machines or are all of the necessary source and headers sent over to the volunteer machine? All of the application source files and headers are sent to the volunteer machines running the distccd servers. System header files, however, are not sent. By system header files I mean those on the default search path (which is output by e.g. gcc -x c++ -c -v /dev/null -o /dev/null). Cheers, Fergus. -- Fergus Henderson [EMAIL PROTECTED] __ distcc mailing listhttp://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc
Re: [distcc] Re: ARM Tools / ADS (tcc tccp armcomp) porting
Just adding to this: we didn't investigate how to extract this default search path for other platforms than gcc. The include server assumes that the output of gcc -v is an very particular format. You may need to extend this parser or perhaps simply extend the include processor with a flag to explictily pass the default system dirs. For testing purposes, you could comment out the current code that queries the compiler and set the involved variables to empty. You'd still need the default system headers on your servers. /Nils On Tue, Jun 10, 2008 at 3:59 PM, Fergus Henderson [EMAIL PROTECTED] wrote: On Tue, Jun 10, 2008 at 3:12 PM, Perez, Aaron P. [EMAIL PROTECTED] wrote: I was looking at the online man pages this morning and wondering the same thing myself. When I get the time to try it out I will let you know. One thing that I wasn't clear on (as I only scanned over this) does pump mode require source (or directory structure) on all machines or are all of the necessary source and headers sent over to the volunteer machine? All of the application source files and headers are sent to the volunteer machines running the distccd servers. System header files, however, are not sent. By system header files I mean those on the default search path (which is output by e.g. gcc -x c++ -c -v /dev/null -o /dev/null). Cheers, Fergus. -- Fergus Henderson [EMAIL PROTECTED] __ distcc mailing listhttp://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc -- Nils Klarlund Google, Inc. __ distcc mailing listhttp://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc
[distcc] Re: ARM Tools / ADS (tcc tccp armcomp) porting
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 listhttp://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 listhttp://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc
Re: [distcc] Re: ARM Tools / ADS (tcc tccp armcomp) porting
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 [EMAIL PROTECTED] 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 listhttp://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 listhttp://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc -- Fergus Henderson [EMAIL PROTECTED] __ distcc mailing listhttp://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc