========================================================================= 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/ ------------------------------------------------------------------------- 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 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 Testing (requires Python 2.2, MySQLdb - see install_python_mysqldb.txt) after build: make check ------------------------------------------------------------------------- Build X11