Jump to: navigation, search

Add support for more compilers to distcc

1,744 bytes added, 19:10, 13 December 2007
Added 0.3 release
== Project Details/News ==
=== Plans for 0.3 release (Under construction)======= Code ====All the code for the 0.3 release can be found [ here]. This contains three files:While all <ul><li>pcallaghanzeropointthreeWHOLE.txt - the required functions exist, unit tests would streamline entire patch</li><li>pcallaghanzeropointthreeCODE.txt - the changes to the src directory</li><li>pcallaghanzeropointthreeTEST.txt - the testing process and ensure each function does exaclty what it's supposed changes totest/</li></ul>These should be applied from the trunk directory. ThereforeNOTE: use either pcallaghanzeropointthreeWHOLE.txt OR both the others, depending on your preference. The end result is the major component of same. For more details see the 0instructions section.3 release is going  ==== Instructions ====In order to use this program, several steps must be a series of tests for completed. <ol> <li>download the Mono C# [ compiler]</li> <ul> <li>put mono in your PATH</li> </ul> <li>set up an environment variable DISTCC_MCS_HOSTS=localhost</li> <li>Checkout the distcc source</li> <ul> <li>svn co svn://</li> <li>You should get revision 117</li> </ul> <li>If you are using windows [ get cygwin]</li> <ul> <li>configure cygwin by running the functions setup file that can be run after any changesgets downloaded. I used the mirror:</li> <li>NOTE: This is the step where most errors will stem from, so pay careful attention to detail.</li> <ul> <li>In additionto the default, get the following packages:</li> <ul> <li>under development</li> </ul> <li>modify the cygwin.bat file</li> <li>Copy and paste the following file, then change the paths so they accurately represent your system. It's VERY important</li> <li>The particular lines to change (Time permittingif yours are different) Iare: 4,9,12,16,19,22</li> <li>If you copy and paste you should not have to make any changes past line 22.</li> <pre>@echo off C:chdir C:\cygwin\bin rem --- Set HOME so that cvs and ssh work correctlyrem --- cvs uses HOME to locate your .cvspass file, and ssh to locate your .ssh filerem --- if you are using ssh, your HOME should match the home directory specified in /etc/passwd. See HOME=C:\home rem --- Set VCVARS to wherever the MSVC vcvars.bat file is foundset VCVARS=C:\ff\vcvars32.bat rem --- Set MSSDK to wherever the MS SDK is installedrem --- Only required for MSVC7 or the Free MSVC editions that don'll clean up t come with an SDKset MSSDK=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2 rem --- Set MOZ_TOOLS to wherever you have the moztools packaged installedset MOZ_TOOLS=C:\moztoolsrem --- Set MONO to wherever you have mono installed.rem --- Make sure there are no spaces in the path, otherwise the instructions unit tests won't workset MONO=C:\Mono- rem --- Set CYGWINBASE to wherever cygwin is installedrem --- Do not use CYGWIN or else cygserver, cygrunsrv, and make them clearerCygwin services will not function properlyrem --- Variable CYGWIN is also used to modify Cygwin's behaviour a little bit.set CYGWINBASE=C:\cygwinrem --- Make sure Cygwin does not print out a DOS style path warningset CYGWIN=nodosfilewarning rem --- Prepend Cygwin pathrem --- This is necessary so that cygwin find is ahead of windows find.exe in the PATH, but cgywin link is after MSVC link.exe. set PATH=%CYGWINBASE%\bin;%PATH%set PATH=%MONO%\bin;%PATH%rem --- Set MSVC environment varscall "%VCVARS%" See Below.rem --- Prepend SDK pathsrem --- Only required for MSVC7 or the Free MSVC editions that don't come with an SDKset PATH=%MSSDK%\bin;%PATH%;set INCLUDE=%MSSDK%\include;%MSSDK%\include\atl;%INCLUDE%set LIB=%MSSDK%\lib;%LIB% rem --- moztools comes lastset PATH=%PATH%;%MOZ_TOOLS%\bin;C:\ff\distcc\src;  rem --- Now the PATH variable contains:rem MS-SDK; MSVC; Cygwin; Windows; glib/libIDL; Moztools
Having found that these instructions are inadequate, I'm setting out to fix them. First up rem --- Typically the last thing the script does is configuring launch a cygwinshellrem --- watch for your ~/. profile and /etc/profile which may overwrite your carefully setup PATH!bash --login -i</pre> </ul> </ul> The Instructions given <li>get the 0.3 [http://zenit.senecac.on .ca/wiki/imgs/ patch]</li> <li>apply the patch</li> <ul> <li>from the trunk directory</li> <li>patch -p0 < pcallaghanzeropointthreeWHOLE.txt</li> <li>OR</li> <ul> <li>patch -p0 < pcallaghanzeropointthreeCODE.txt</li> <li>patch -p0 < pcallaghanzeropointthreeTEST.txt</li> </ul> </ul> <li>configure and build distcc</li> <ul> <li>from the linked page aren't enough to trunk directory</li> <li>./configure && make && make install</li> </ul> <li>get a simple C# [ file]</li> <li>compile it</li> <ul> <li>distcc withmcs hello. cs</li> </ul> What follows is an alphabetic list of all the packages (with versions and locations) currently in my installation of <li>run it (with the exception of those downloaded by default)</li> <ul> <li>. Most of them are going /hello</li> </ul> <li>As an alternative to be extraneous but I'm not ruling any out until I steps 8 through 10, find or write some other c# files and test them, so I'll weed them out over time, until we're left with just the required packages.</li> <li>Tell me how it went.</li></ol>
<ul>=== Plans for 0.3 release ===While all the required functions exist, unit tests would streamline the testing process and ensure each function does exaclty what it's supposed to. Therefore, the major component of the 0.3 release is going to be a series of tests for the functions that can be run after any changes. In addition, (Time permitting) I'll clean up the instructions and make them clearer.
<li>bash-completion 20060301-2 (Shells)</li><li>binutils 20060817-1 (Devel)</li><li>boost 1.33.1-3 (DevelHaving found that these instructions are inadequate, Libs)</li><li>boost-devel 1I'm setting out to fix them.33 First up is configuring cygwin.1-3 (Devel,Libs)</li><li>c-client 2002e-3 (Devel)</li><li>cmake 2.4.7-2 (Devel)</li><li>diffutils 2.8.7-1 (Utils)</li><li> The Instructions given on the linked page aren't enough to compile distcc 2.18.3-1 (Devel)</li><li>e2fsprogs 1.35-3 (Devel)</li><li>fontconfig 2.4.1-5 (Libs)</li><li>freetyps2 2.3.4-2 (Libs)</li><li>gcc 3.4.4-3 (Devel)</li><li>gcc-core 3.4.4-3 (Devel)</li><li>gcc-g++ 3.4.4-3 (Devel)</li><li>gcc-mingw 20040810-1 (Devel)</li><li>gcc-mingw-core 20050522-1 (Devel)</li><li>gcc-mingw-g++ 20050522-1 (Devel)</li><li>gettext 0.15-1 (Devel, Libs)</li><li>glib-devel 1.2.10-3 (Devel, Libs)</li><li>glib2 2.10.3-1 (Gnome, Libs)</li><li>glib2-devel 2.10.3-1 (Gnome, Libs)</li><li>indent 2.2.9-2 (Devel)</li><li>ioperm 0.4-1 (Devel, Libs, System)</li><li>libapr1 1.2.11-1 (Libs)</li><li>libaprutil1 1.2.10-1 (Libs)</li><li>libboost 1.33.1-3 (Devel, Libs)</li><li>libbz2-devel 1.0.3-2 (Libs)</li><li>libcharset1 1.11-1 (Libs)</li><li>libfontconfig1 2.4with.1-5 (Libs)</li><li>libfreetype26 2 There's a list of some 165 packages I had.3.4-2 (Libs)</li><li>libiconv 1.11-1 (Devel, Libs)</li><li>libintl1 0.10 Most of them were obviously extraneous and quite a few were downloaded by default. So I'm down to about 40-1 (Libs)</li><li>libncurses7 5.3-4 (Libs)</li><li>libneon26 0.26.4-1 (Libs)</li><li>libXft 2.1.6-1 (Libs)</li><li>libXft1 1.0.0-1 (Libs)</li><li>libXft2 2.1.6-1 (Libs)</li><li>libxml2 2.6.28-2 (Devel, Doc, Gnome, Interpreters, Libs, Text)</li><li>m4 1.4.10-1 (interpreters)</li><li>make 3.81-1 (Devel)</li><li>mingw-bzip2 1.0.3-2 (Mingw)</li><li>mingw-libbz2_1 1.0.3-2 (Mingw)</li><li>mingw_runtime 3.13-1 (Devel, Libs)</li><li>mingw-zlib 1.2.3-2 (Mingw)</li><li>ncurses 5.5-3 (Libs)</li><li>openjade 1.3.3-1 (Libs, Text)</li><li>OpenSP 1.5.1-1 (Libs, Text)</li><li>openssl 0.9.8g-1 (Libs, Net)</li><li>openssl-devel 0.9.8g-1 (Devel, Libs)</li><li>pango 1.8.1-1 (Devel, Libs, Text)</li><li>pango-runtime 1.8.1-1 (Devel, Libs, Text)</li><li>patch 2.5.8-9 (Utils)</li><li>patchutils 0.2.31-1 (Devel, Libs, Text)</li><li>pcre 7.2-1 (Devel, Utils)</li><li>pkg-config 0.21-1 (Devel)</li><li>pkgconfig 0.17.2-3 (_obsolete)</li><li>popt 1.6.4-4 (Libs)</li><li>pylibxml2 2.6.28-2 (Gnome, Python)</li><li>python 2.5.1-2 (Interpreters, Python)</li><li>subversion 1.4.5-2 (Devel)</li><li>tcltk 20060202-1 (Libs)</li><li>tcsh 6.15.00-4 (Base, Libs)</li><li>unzip 5.52-2 (Archive)</li><li>util-linux 2.12r-2 (System, Text, Utils)</li><li>uw-imap 2002e-3 (Mail)</li><li>w32api 3.10-1 (Libs)</li><li>x-startup-scripts 1to test. The required ones will be listed with the 0.11-1 (X11)</li><li>xorg-x11-base (X11)</li><li>xorg-x11-bin (X11)</li><li>xorg-x11-bin-dlls (X11)</li><li>xorg-x11-bin-lndir (X11)</li><li>xorg-x11-etc (X11)</li><li>xorg-x11-fenc (X11)</li><li>xorg-x11-fnts (X11)</li><li>xorg-x11-libs-data (X11)</li><li>xorg-x11-xwin (X11)</li><li>xterm 229-1 (X11)</li><li>zip 2.32-2 (Archive)</li><li>zlib 1.2.3-2 (Libs)</li><li>zsh 4.3release instructions.4-1 (Shells)</li></ul>
=== 0.25 Release (Obsolete) ===
A new [ patch] has been created. All required functions are now complete for the Mono C# compiler. Now is a great time for more contributors to test this project and try to find (or fix) any bugs that pop up. I'm still having trouble with SVN, but I expect to get that sorted out soon.

Navigation menu