boinc/doc/build.txt

299 lines
9.2 KiB
Plaintext
Executable File

=========================================================================
BOINC Client Build and Installation Information
-------------------------------------------------------------------------
What's in this file:
Conventions
Overview
Setup Build Environments
Build Source Release
Build Windows
Build Macintosh
Build UNIX
Build X11
-------------------------------------------------------------------------
Conventions
* Drive and Path Indicator (".../boinc/client")
For Mac and Windows-related build information, this is used to indicate
the developer's local hard drive and path on which the given subsequent
path can be found.
For example, ".../boinc/client" may actually map out
to be "C:/Program Files/Dev Studio/MyProjects/boinc/client"
on one developer's system, while it may be "E:/boinc/client" on
another's.
* Drive Indicator ("{D:}")
For Mac and Windows-related build information, this is used to indicate
the developer's local hard drive on which the given path can be found.
Note that this differs from the "Drive and Path Indicator" above, in
that the given path is an absolute and must progress only from the
root of the developer's drive.
For example, "{D:}/Program Files/DevStudio" may actually be
"E:/Program Files/DevStudio" on one developer's system, while it may
map to "G:/Program Files/DevStudio" on another's.
* Path Separator Character ('/')
For ease of typing as well as for cross-platform purposes, the '/'
(forward-slash) character is to be used as the path separator character
on all paths, whether Unix, Windows or Macintosh.
-------------------------------------------------------------------------
Overview
TBD
-------------------------------------------------------------------------
Get the source
- released distribution from http://boinc.berkeley.edu/
- CVS:
CVSROOT=anonymous@cvs.boinc.sourceforge.net:/cvsroot/boinc
authentication: pserver, password=(blank)
- Command-Line CVS (UNIX/CygWin):
1 At command line, enter:
cvs -d:pserver:anonymous@cvs.boinc.sourceforge.net:/cvsroot/boinc login
Enter a blank password.
2 At command line, enter:
cvs -z3 -d:pserver:anonymous@cvs.boinc.sourceforge.net:/cvsroot/boinc co boinc
- WinCVS
1 Menu item Create->Checkout module
2 Under General Tab, set CVSROOT to "anonymous@cvs.boinc.sourceforge.net:/cvsroot/boinc"
3 Under General Tab, Set authentication to "'passwd' file on the cvs server"
4 Under Checkout settings tab, set module name to "boinc"
5 Under Checkout settings tab, checkout location to "C:\", click OK
-------------------------------------------------------------------------
Setup Build Environments
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UNIX/Linux
* g++ (tested with 2.95, 3.3)
* standard build tools: make (and ...?)
* If you modify make files: autoconf 2.57, automake 1.7
* for building source distributions: perl, tar, gzip, zip
* for running server and testing: apache (or other server), php, python
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Windows
* Intel Pentium machine running Win95 or WinNT 4.0 or later.
* Visual C++ 6.0 Enterprise Edition.
* Apply Visual Studio 97 Service Pack 3.
* InstallShield 5.5 Professional Edition.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Macintosh
* Development Level PPC Macintosh running OS X 10.1 or later.
* July 2002 Mac OS X Developer Tools.
* Installer Vise Lite 3.6 SDK(?)
-------------------------------------------------------------------------
Build Source Release
0 Get latest source using CVS
0.1 At command line, enter:
cvs -d:pserver:anonymous@cvs.boinc.sourceforge.net:/cvsroot/boinc login
Enter a blank password.
0.2 At command line, enter:
cvs -z3 -d:pserver:anonymous@cvs.boinc.sourceforge.net:/cvsroot/boinc co boinc
1 Make source distributions (.tar.gz, .tar.bz2, .zip)
1.1 ./configure && make dist
-------------------------------------------------------------------------
Build Windows
///////////////////////////////////////
// //
// Outline: //
// 1 Build client //
// 2 Make installer //
// 3 Create self-extracting EXE //
// //
///////////////////////////////////////
1 Build Client exe, screensaver, dll
1.1 Boot Visual C++ 6.0.
1.2 Load boinc/win_build/boinc.dsw workspace
1.3 Select "FileView" tab.
1.4 Update MAJOR_VERSION and MINOR_VERSION in boinc_gui project settings as needed.
1.5 Menu item Build->Set Active Configuration, set to "boinc_gui - Win32 Release"
1.6 Build->Rebuild All
1.7 Also rebuild DEBUG version if desired for future development.
2 Make installer
2.1 Unzip "boinc_installshield.zip" into a directory
2.2 Open InstallShield project
BOINC Installshield\BOINC.ipr
2.3 Confirm location of source files
BOINC Installshield\BOINC Files\setup.bmp
BOINC Installshield\BOINC Files\license.txt
BOINC Installshield\BOINC Files\readme.txt
2.4 Update Project
2.4.1 Update Resources
2.4.1.1 Update Installer version
2.4.1.2 Select Resources in left-hand pane of InstallShield's window.
2.4.1.3 Select String Table, English
2.4.1.4 Double-click on "PRODUCT_VERSION" in right-hand pane.
2.4.1.5 Edit version number.
2.4.1.6 From menu, update: Project -> Settings -> Owner -> Version
2.4.2 Update Files
2.4.2.1 Select "Setup Files" tab in window on upper left.
2.4.2.2 Select Language Independent->Operating System Independent in left-hand panel.
2.4.2.3 Update license.txt
2.4.2.3.1 Double click on file in right panel
2.4.2.3.2 Edit version number
2.4.2.3.3 Close and save file
2.4.2.4 Update readme.txt
2.4.2.4.1 Double click on file in right panel
2.4.2.4.2 Edit version number
2.4.2.4.3 Close and save file
2.5 Build
2.5.1 Select "Build->Media->Build Default Media" menu item
2.6 Exit Install Shield
3 Create Self-Extracting EXE
3.1 Open PackageForTheWeb project
BOINC Installshield\BOINC.pfw
3.2 Configure and create the package
3.2.1 Update version, other info as necessary, Next
3.2.2 Select "No welcome dialog" dialog button, Next
3.2.3 Select "Intel Self-extracting EXE (32-bit)", Next
3.2.4 Check "Include Sub-Folders", "Live folder", Next
3.2.5 Confirm all the files are there, Next
3.2.6 Uncheck "Use Package Language File", "Prompt the user with",
"Password protect the package", and
"Display License Agreement from file", Next
3.2.7 Installation program is "Disk1\Setup.exe", command line options is "/SMS",
window display is Normal, no default installation folder, Next
3.2.8 Uncheck "Sign my installation", Next
3.2.9 Select package output location, Next
3.2.10 Make sure summary is correct, Next
3.2.11 Finish
3.3 Run a virus checker over all the individual (uncompressed) files
as well as the final build
4 Generate the boinc_x_yz.zip archive if this is a new version
(where x.yz is the release version number).
4.1 Make Zip file
4.1.1 Boot WinZip 8.0
4.1.2 File->New Archive
4.1.3 Point to C:\ directory
4.1.4 Make name based on version number, e.g., boinc_1_42.zip
4.1.5 In the Add Files dialog, browse to the "C:\boinc" directory.
4.1.6 In the Folders area of this dialog, check both "Include subfolders"
and "Save extra folder info".
4.1.7 Select "Add with Wildcards ".
4.1.8 Close WinZip
5 Have a beer. You're done.
-------------------------------------------------------------------------
Build Macintosh
///////////////////////////////////////
// //
// Outline: //
// 1 Build client //
// 2 Make installer //
// 3 Create self-extracting EXE //
// //
///////////////////////////////////////
1 Build client
1.1 Boot Project Builder
1.2 Open boinc/mac_build/boinc.pbproj
1.3 Select "Targets" tab, choose "boinc" target
1.4 Under "GCC Compiler Settings", edit the MAJOR_VERSION and MINOR_VERSION to the appropriate values
2 Make installer
3 Create Self-Extracting EXE
CAUTION: Stuffit Expander has a default option to convert the format of
text files to use Macintosh line endings ('\r' only). Many of the source
files involved here are cross-platform files, and have Unix line endings.
If you use Stuffit Expander to expand compressed source files, be sure to
turn off this feature as follows:
Double click on Stuffit Expander, and select File / Preferences.... Under
cross-platform, select NEVER Convert text files to Macintosh format.
------------------
Building the Installer
-------------------------------------------------------------------------
Build UNIX
Building everything (scheduling server, test files, client):
./configure && make
Building client only:
./configure && cd client && make
-------------------------------------------------------------------------
Build X11