= Compiling BOINC client software =
The BOINC client software includes:
* The core client
* The BOINC Manager
* boinc_cmd (Unix/Linux only)
* The BOINC screensaver (Windows and Mac only)
== Linux/x86 ==
If you want to build the client software for local use on your machine only, it is enough to simply build it using
{{{
./_autosetup
./configure --disable-server --enable-client CXXFLAGS="-O3 -funroll-loops -fforce-addr -ffast-math"
make
}}}
If instead you intend to build portable binaries of the client software that should run on a wide variety of GNU/Linux platforms, it
is recommended to build the client software using a virtual machine (e.g. running under Microsoft Virtual PC, download the [VirtualMachines Compatibility] virtual machine image).
In this case you should build using
{{{
./_autosetup
./configure --disable-server --enable-client-release --build=i686-pc-linux-gnu \
CXXFLAGS="-O3 -funroll-loops -fforce-addr -ffast-math"
make
}}}
See [BuildSystem details of the build system].
The result (in the sea/ directory) will be a self-extracting archive (boinc_x.y.z_i686-pc-linux-gnu.sh) containing the BOINC client software.
== Other Unix ==
* Download and install [http://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix prerequisites]
* [SourceCode Download current source code]
* [BuildSystem Configure (with --disable_server) and make]
The result (in the sea/ directory) will be a self-extracting archive (boinc_x.y.z_PLATFORM.sh) containing the BOINC client software. If you have old versions of libraries (curl, openssl etc.) in /usr/lib, and newer versions somewhere else (like /usr/local/lib) you must tell the linker where to find the newer versions:
{{{
./configure LDFLAGS=-L/usr/local/lib
}}}
Here is the list of packages that are needed to compile the BOINC graphics libs on Debian (the same packages should also be available on Ubuntu):
{{{freeglut3-dev libsm-dev libice-dev libxmu-dev libxi-dev libx11-dev libjpeg62-dev}}}
== Windows ==
Use Microsoft Visual Studio 2005. Or download and install [http://msdn.microsoft.com/vstudio/express/downloads/ Visual C++ 2005 Express Edition] (part of Visual Studio 8 Express).
Do not forget to update to [http://www.microsoft.com/downloads/details.aspx?familyid=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&displaylang=en Visual Studio 2005 Service Pack 1]
NOTE: When using Visual C++ 2005 Express Edition, you will also need to download and install the Windows Platform SDK. See this [http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ article] for further details.
* [SourceCode Download the current BOINC source code].
* Download [http://www.wxwidgets.org/ WxWidgets].
* Install the !WxWidgets source according to instructions on the web site.
|| Build Target || Build Platform || wxWidget Version || Environment Variable ||
|| Release || Win32 || 2.8.x || WXWIN ||
|| Release || x64 || 2.8.x || WXWINX64 ||
|| Debug || Win32 || 2.8.x || WXWIN ||
|| Debug || x64 || 2.8.x || WXWINX64 ||
|| ReleaseSigned || Win32 || 2.6.x || WXWINPROD ||
|| ReleaseSigned || x64 || 2.6.x || WXWINPRODX64 ||
* In Windows, Start->(Settings)->Control Panel->System, select Advanced; click Environment Variables. Under 'User variables' click New. Create a variable named 'wxwin' with value 'c:\wx' (or wherever you installed it). Then restart Visual Studio.
{{{
Example Environment Variables:
WXWIN=C:\Src\SDKs\wx28
WXWINPROD=C:\Src\SDKs\wx26
WXWINPRODX64=C:\Src\SDKs\wx26x64
WXWINX64=C:\Src\SDKs\wx28x64
}}}
* Build !WxWidgets. See [http://www.wxwidgets.org/wiki/index.php/Compiling_WxWidgets Compiling WxWidgets] for details. You'll need to compile both the Debug and Release targets.
* When done, go File->Close Solution.
* Then go File->Open Solution->\win_build\boinc.sln and press Open.
* Set up Visual Studio to use the correct platform. From the drop-down menu choose either Win32 (for 32 bit platforms) or x64 (for 64 bit platforms) and choose to make it a Release/Debug version.
* Go to the Build menu, Build Solution.
All files will be built to \win_build\Build\Win32\Release (or Build/x64/Release for 64 bit versions).
Versions compiled with Visual C++ 2005 Express use the optimizing compiler. Benchmarks are the same as on versions released by Berkeley.
You can easily ignore all of the warnings that you get when building. Most of them are for the eyes of the developers.
TODO: instructions for creating an installer with Installshield X.
== Mac OS X ==
Instructions for building the BOINC client on Mac OS X are [MacBuild here].