2012-06-26 07:24:07 +00:00
{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
2010-10-08 08:41:36 +00:00
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 Courier;\f2\fswiss\fcharset0 ArialMT;
\f3\fnil\fcharset0 LucidaGrande;}
2012-01-27 00:42:45 +00:00
{\colortbl;\red255\green255\blue255;\red186\green0\blue0;\red246\green246\blue246;}
2010-10-08 08:41:36 +00:00
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}}
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
2007-04-27 23:12:34 +00:00
\margl1440\margr1440\vieww14740\viewh11840\viewkind0
2005-03-11 15:22:30 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
2008-04-04 05:32:16 +00:00
\f0\b\fs28 \cf0 Building BOINC Client and Manager on Macintosh OSX\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2005-03-11 15:22:30 +00:00
2007-11-14 13:27:01 +00:00
\b0\fs24 \cf0 \
2005-03-31 03:16:17 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
\cf0 Written by Charlie Fenton\
2012-06-26 07:54:38 +00:00
Last updated 6/26/12\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2005-03-31 03:16:17 +00:00
\cf0 \
2012-06-26 07:54:38 +00:00
This document applies to BOINC version 7.0.31 and later. It has instructions for building the BOINC Client and Manager for Macintosh OSX. Information for building science project applications to run under BOINC on Macintosh OSX can be found {\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/trac/wiki/BuildMacApp"}}{\fldrslt here}}. \
2006-02-22 11:18:36 +00:00
\
2006-10-03 08:52:39 +00:00
Note: the information in this document changes from time to time for different versions of BOINC. For any version of BOINC source files, the corresponding version of this document can be found in the source tree at:\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-10-03 08:52:39 +00:00
2007-11-14 13:27:01 +00:00
\f1\fs26 \cf0 boinc/mac_build/HowToBuildBOINC_XCode.rtf\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-10-03 08:52:39 +00:00
2007-11-14 13:27:01 +00:00
\f0\fs24 \cf0 \
2006-02-27 10:09:28 +00:00
Contents of this document:\
2007-11-14 13:27:01 +00:00
\'95 Important requirements for building BOINC software for the Mac.\
2008-04-08 02:33:37 +00:00
\'95 Cross-Platform Development.\
2008-04-04 05:32:16 +00:00
\'95 Building BOINC Manager, BOINC Client and boinc_cmd.\
2007-11-14 13:27:01 +00:00
\'95 Building BOINC Manager Installer.\
\'95 Debugging and BOINC security.\
2008-05-09 07:00:36 +00:00
\'95 Debugging into wxWidgets.\
2006-02-23 02:58:36 +00:00
\
2005-07-22 08:09:59 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
2007-11-14 13:27:01 +00:00
\b\fs28 \cf0 Important requirements for building BOINC software for the Mac
\b0\fs24 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-02-22 11:18:36 +00:00
\cf0 \
2011-10-26 12:13:00 +00:00
\pard\pardeftab720\sa260
\cf0 Building BOINC for Macintosh OS X is complicated by the fact that Mac OS X is actually 2 different platforms:\
\pard\tx220\tx720\pardeftab720\li720\fi-720
2008-04-04 05:32:16 +00:00
\ls1\ilvl0\cf0 {\listtext \'95 }
\b i686-apple-darwin
\b0 : 32-bit intel processors running OS 10.4.0 and above\
{\listtext \'95 }
\b x86_64-apple-darwin
2010-10-08 08:41:36 +00:00
\b0 : 64-bit Intel processors running OS 10.5.0 and above\
2011-10-26 12:13:00 +00:00
\pard\pardeftab720\sa260
\cf0 As of version 6.13.0, BOINC does not support Macintosh PowerPC processors.\
Although BOINC supports 64-bit Intel project applications on Mac OS 10.5.0 and above, the only part of the BOINC client package built as a 64-bit executable is the screensaver coordinator for OS 10.6.x and later. The BOINC libraries also include a 64-bit build so that they can be linked with 64-bit project applications.\
You need to take certain steps to ensure that you use only APIs that are available in all the OS versions BOINC supports for each architecture. The best way to accomplish this is to use a single development system running OS 10.7.x and cross-compile for the various platforms. The remainder of this document describes that process.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
2008-04-04 05:32:16 +00:00
\cf0 \
2011-10-26 12:13:00 +00:00
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
2005-08-23 06:58:50 +00:00
2012-06-26 07:54:38 +00:00
\b \cf0 The above requirements apply not only to BOINC itself, but also to the WxWidgets, JPEG, c-ares, cURL and openSSL libraries, as well as all project applications
2012-01-27 00:42:45 +00:00
\b0 . Note: only the JPEG library must be built for the x86_64 architecture, since it is used by the libboinc_graphics_api library.\
2011-10-26 12:13:00 +00:00
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2007-12-04 13:46:35 +00:00
\cf0 Be sure to follow the directions in this document to ensure that these requirements are met.\
2012-01-27 00:42:45 +00:00
\
\pard\pardeftab720\sa260
\cf0 Starting with version 6.1.0, the BOINC Client supports only Mac OS X 10.3.9 and later; support for OS 10.3.0 through 10.3.8 has been discontinued. This allows us to build the BOINC Client and Manager using only GCC 4.0, which offers a number of advantages.\
Starting with version 6.10.58, the BOINC Client supports only Mac OS X 10.4.0 and later. This allows it to be built with XCode 3.2 under OS 10.6.x, which does not support the Mac OS 10.3.9 SDK.\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
2008-04-08 02:33:37 +00:00
\cf0 \
2008-04-04 05:32:16 +00:00
\pard\pardeftab720\sa260\qc
\b\fs28 \cf0 Cross-Platform Development
2010-10-08 08:41:36 +00:00
\f2\fs32 \
2011-10-26 12:13:00 +00:00
\pard\pardeftab720\sa260
2008-04-04 05:32:16 +00:00
2012-01-27 00:42:45 +00:00
\f0\b0\fs24 \cf0 Apple provides the tools necessary to cross-compile for both BOINC Mac platforms on any Mac running OS 10.6.x or OS 10.7.x.\
2011-10-26 12:13:00 +00:00
You get these tools, including the GCC compilers and system library header files, by installing the Xcode Tools package. \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\b \cf0 Building BOINC now requires Xcode Tools version 3.2 or later but Xcode 4.2 or later is recommended.
\b0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2008-01-11 03:11:07 +00:00
\cf0 \
2011-10-26 12:13:00 +00:00
\pard\pardeftab720\sa260
\cf0 If you have the OS 10.6 installation DVD for your system, you can install Xcode Tools 3.2 at the time you install the OS, or you can install it later by opening the file
\f1\fs26 Optional Installs/XCode Tools/XCodeTools.mpkg
2012-01-27 00:42:45 +00:00
\f0\fs24 . \
You can download Xcode 3.2 or 4.2 from Apple's web site: {\field{\*\fldinst{HYPERLINK "http://developer.apple.com"}}{\fldrslt http://developer.apple.com}} (it is large: 1.1 GB). You must be a member of the Apple Developer Connection to download the software, but you can join for free at: {\field{\*\fldinst{HYPERLINK "http://connect.apple.com/"}}{\fldrslt \cf2 http://connect.apple.com}}\cf2 .\cf0 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
\cf0 Source files are now archived using Subversion. You can download svnX, a free GUI application for running Subversion from either\
2007-04-27 11:24:07 +00:00
{\field{\*\fldinst{HYPERLINK "http://www.apple.com/downloads/macosx/development_tools/svnx.html"}}{\fldrslt http://www.apple.com/downloads/macosx/development_tools/svnx.html}}\
or\
{\field{\*\fldinst{HYPERLINK "http://www.lachoseinteractive.net/en/community/subversion/svnx/"}}{\fldrslt http://www.lachoseinteractive.net/en/community/subversion/svnx/}}\
\
2010-10-08 08:41:36 +00:00
You also need to install Subversion itself in the
\f1\fs26 /usr/local/bin/
\f3 directory
2011-10-26 12:13:00 +00:00
\f0\fs24 . By default, OS X and Xcode install it in
2010-10-08 08:41:36 +00:00
\fs26 /
\f1 usr/bin/
\f0\fs24 . To copy it into
\f1\fs26 /usr/local/bin/
\f0 , enter the following in the Terminal utility application:\
\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2010-10-08 08:41:36 +00:00
2010-10-08 08:50:07 +00:00
\f1\fs24 \cf0 cd /usr/bin\
2010-10-08 08:41:36 +00:00
sudo cp -p svn* /usr/local/bin\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2010-10-08 08:41:36 +00:00
2010-10-08 08:50:07 +00:00
\f0 \cf0 \
2010-10-08 08:41:36 +00:00
Enter your administrator password when prompted to do so.\
2007-04-27 11:24:07 +00:00
\
2006-02-23 02:58:36 +00:00
\
2006-02-22 11:18:36 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
2005-05-15 14:42:34 +00:00
2008-04-04 05:32:16 +00:00
\b\fs28 \cf0 Building BOINC Manager with embedded Core Client\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2005-07-01 08:52:22 +00:00
2007-11-14 13:27:01 +00:00
\b0\fs24 \cf0 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
2012-06-26 07:54:38 +00:00
\cf0 BOINC depends on four third-party libraries: wxMac-2.8.10, c-ares-1.9.1, curl-7.26.0, openssl-1.0.1c and jpeg-6b. The source files for jpeg-6b are included with the BOINC sources. You can obtain the other three from the following URLs:\
2005-07-01 08:52:22 +00:00
\
2009-06-05 10:31:26 +00:00
wxMac-2.8.10 (needed only if you are building the BOINC Manager):\
2006-02-22 11:42:03 +00:00
{\field{\*\fldinst{HYPERLINK "http://www.wxwidgets.org"}}{\fldrslt
2007-11-14 13:27:01 +00:00
\f1\fs26 http://www.wxwidgets.org}}
\f1\fs26 \
2006-02-22 11:42:03 +00:00
2009-06-05 10:31:26 +00:00
\f0\fs24 {\field{\*\fldinst{HYPERLINK "http://prdownloads.sourceforge.net/wxwindows/wxMac-2.8.10.tar.gz"}}{\fldrslt
\f1\fs26 http://prdownloads.sourceforge.net/wxwindows/wxMac-2.8.10.tar.gz}}
2007-11-14 13:27:01 +00:00
\f1\fs26 \
2007-04-13 05:25:16 +00:00
2007-11-14 13:27:01 +00:00
\f0\fs24 \
2012-06-26 07:24:07 +00:00
curl-7.26.0:\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
2006-02-22 11:42:03 +00:00
2007-11-14 13:27:01 +00:00
\f1\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "http://curl.haxx.se"}}{\fldrslt http://curl.haxx.se}}\
2012-06-26 07:24:07 +00:00
{\field{\*\fldinst{HYPERLINK "http://curl.haxx.se/download/curl-7.26.0.tar.gz"}}{\fldrslt http://curl.haxx.se/download/curl-7.26.0.tar.gz}}\
2008-01-29 11:18:45 +00:00
\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
2008-01-29 11:18:45 +00:00
2012-06-26 07:24:07 +00:00
\f0\fs24 \cf0 c-ares-1.9.1 (used by curl):\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
2008-01-29 11:18:45 +00:00
\f1\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "http://daniel.haxx.se/projects/c-ares/"}}{\fldrslt http://daniel.haxx.se/projects/c-ares/}}\
2012-06-26 07:24:07 +00:00
{\field{\*\fldinst{HYPERLINK "http://c-ares.haxx.se/download/c-ares-1.9.1.tar.gz"}}{\fldrslt http://c-ares.haxx.se/download/c-ares-1.9.1.tar.gz}}\
2012-01-26 23:38:54 +00:00
\
2012-06-26 07:54:38 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
\f0\fs24 \cf0 openssl-1.0.1c:\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
\f1\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "http://www.openssl.org/"}}{\fldrslt http://www.openssl.org/}}\
{\field{\*\fldinst{HYPERLINK "http://www.openssl.org/source/openssl-1.0.1c.tar.gz"}}{\fldrslt openssl-1.0.1c.tar.gz}}\
\
2011-10-26 12:13:00 +00:00
\pard\pardeftab720\sa260
2012-01-26 23:38:54 +00:00
\f0\fs24 \cf0 (Don't forget to expand the tar files by double-clicking on them.)\
XCode will automatically check compatibility back to OS 10.4 if the following are defined during compilation:\
2011-10-26 12:13:00 +00:00
\pard\pardeftab720
2011-10-27 00:04:30 +00:00
\f1\fs26 \cf0 MAC_OS_X_VERSION_MAX_ALLOWED=1040\
2011-10-26 12:13:00 +00:00
MAC_OS_X_VERSION_MIN_REQUIRED=1040\
\pard\pardeftab720
2011-10-27 00:04:30 +00:00
\f0\fs24 \cf0 \
2011-10-26 12:13:00 +00:00
\pard\pardeftab720\sa260
2012-06-26 07:54:38 +00:00
\cf0 These are not done automatically by either the Xcode projects which come with wxMac-2.8.10, nor the AutoMake scripts supplied with wxMac-2.8.10, c-ares-1.9.1, curl-7.26.0 and openssl-1.0.1c. So be sure to use our special scripts to build these packages.\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2008-04-04 05:32:16 +00:00
\cf0 [1] Create a parent directory within which to work. In this description , we will call it BOINC_dev, but you can name it anything you wish.\
2005-05-13 07:49:19 +00:00
\
2011-10-26 12:13:00 +00:00
[2] Put the following 3 directories inside the BOINC_dev folder (omit any you don't need):\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2008-04-08 02:33:37 +00:00
2011-07-06 11:02:50 +00:00
\f1\fs26 \cf0 c-ares-
2012-06-26 07:24:07 +00:00
\f0\fs24 1.9.1
2011-07-06 11:02:50 +00:00
\f1\fs26 \
2012-06-26 07:24:07 +00:00
curl-7.26.0\
2012-06-26 07:54:38 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
\cf0 openssl-1.0.1c\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
\cf0 wxMac-2.8.10\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2008-04-08 02:33:37 +00:00
\f0\fs24 \cf0 \
2011-10-26 12:13:00 +00:00
Important: do not change the names of any of these 3 directories.\
2005-05-15 14:42:34 +00:00
\
2007-04-27 23:12:34 +00:00
[3] Get the BOINC source tree from Subversion, and put it in the same BOINC_dev folder. To do this, type the following in Terminal:\
2006-02-22 11:18:36 +00:00
\
2011-10-26 12:13:00 +00:00
\pard\pardeftab720
2005-05-15 14:42:34 +00:00
2007-11-14 13:27:01 +00:00
\f1\fs26 \cf0 cd \{path\}/BOINC_dev/
\f0\fs24 \
2005-05-15 14:42:34 +00:00
2007-11-14 13:27:01 +00:00
\f1\fs26 svn co http://boinc.berkeley.edu/svn/trunk/boinc
\f0\fs24 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-02-22 11:18:36 +00:00
\cf0 \
2008-04-08 02:33:37 +00:00
(You may change the name of the
\f1\fs26 boinc
2008-04-14 09:37:19 +00:00
\f0\fs24 directory to anything you wish.) Hint: if you have trouble getting this to work, try using
\f1\fs26 https
\f0\fs24 instead of
\f1\fs26 http
\f0\fs24 .\
2005-05-15 14:42:34 +00:00
\
2007-12-04 13:46:35 +00:00
The command above retrieves the source code from the HEAD (TRUNK) or development branch of the CVS repository. For more information on getting the BOINC source code, see:\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2007-04-27 23:12:34 +00:00
{\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/trac/wiki/SourceCode"}}{\fldrslt
2007-11-14 13:27:01 +00:00
\f1\fs26 \cf0 http://boinc.berkeley.edu/trac/wiki/SourceCode}}\
2006-02-22 12:27:03 +00:00
\
2012-06-26 07:54:38 +00:00
[4] Run the script to build the c-ares, curl, openssl and wxMac libraries as follows:\
2005-05-13 09:09:47 +00:00
\
2011-10-26 12:13:00 +00:00
\pard\pardeftab720
2005-07-22 08:09:59 +00:00
2007-11-14 13:27:01 +00:00
\f1\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/mac_build/\
2006-02-22 12:27:03 +00:00
source setupForBoinc.sh -clean
2007-11-14 13:27:01 +00:00
\f0\fs24 \
2005-08-23 06:58:50 +00:00
\
2006-02-22 12:27:03 +00:00
If you don't wish to force a full rebuild of everything, omit the -clean argument.\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-02-22 11:18:36 +00:00
\cf0 \
2012-06-26 07:54:38 +00:00
Note: this script builds c-ares and curl first, followed by openssl, then jpeg and finally wxMac. If you haven't downloaded wxMac because you aren't building the BOINC Manager, the script will build c-ares, curl, openssl and jpeg before quitting. \
2005-08-23 06:58:50 +00:00
\
2006-02-22 11:18:36 +00:00
[5] Build BOINC as follows:\
2005-07-22 08:09:59 +00:00
\
2011-10-26 12:13:00 +00:00
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
2008-01-10 11:28:11 +00:00
\cf0 BOINC itself is built using the
\b boinc.xcodeproj
2011-10-26 12:13:00 +00:00
\b0 file. You can either build directly in Xcode
2008-01-10 11:28:11 +00:00
\b
\b0 (more information below) or run the
\b BuildMacBOINC.sh
\b0 script:\
\
2011-10-26 12:13:00 +00:00
\pard\pardeftab720
2005-03-31 03:16:17 +00:00
2007-11-14 13:27:01 +00:00
\f1\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/mac_build/\
2006-02-22 11:18:36 +00:00
source BuildMacBOINC.sh
2007-11-14 13:27:01 +00:00
\f0\fs24 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2005-03-31 03:16:17 +00:00
\cf0 \
2006-02-22 11:18:36 +00:00
The complete syntax for this script is\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2005-05-20 09:05:01 +00:00
2010-10-08 08:41:36 +00:00
\f1\fs26 \cf0 source BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-help]
2007-11-14 13:27:01 +00:00
\f0\fs24 \
2005-05-20 09:05:01 +00:00
\
2006-02-22 11:18:36 +00:00
The options for BuildMacBOINC.sh are:\
-dev build the development (debug) version (native architecture only). \
2011-10-26 12:13:00 +00:00
default is deployment (release) version (universal binary: i386 and x86_64).\
2005-05-20 09:05:01 +00:00
\
2006-02-22 11:18:36 +00:00
-noclean don't do a "clean" of each target before building.\
default is to clean all first.\
\
The following arguments determine which targets to build\
-all build all targets (i.e. target "Build_All" -- this is the default)\
2005-05-20 09:05:01 +00:00
\
2011-10-26 12:13:00 +00:00
-lib build the five libraries: libboinc_api.a, libboinc_graphics_api.a, libboinc.a, libboinc_opencl.a, jpeglib.a\
2005-05-20 09:05:01 +00:00
\
2012-01-27 00:42:45 +00:00
-client build two targets: boinc client and command-line utility {\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/wiki/Boinccmd_tool"}}{\fldrslt boinc_cmd}}\
2006-02-22 11:18:36 +00:00
(also builds libboinc.a, since boinc_cmd requires it.)\
\
2011-10-26 12:13:00 +00:00
Both -lib and -client may be specified to build seven targets (no BOINC Manager or screensaver.)\
2005-05-20 09:05:01 +00:00
\
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-02-23 02:58:36 +00:00
2007-11-14 13:27:01 +00:00
\b \cf0 Note:
2011-10-26 12:13:00 +00:00
\b0 You may find two Xcode projects in the BOINC_dev/boinc/mac_build/ directory: \
2007-11-14 13:27:01 +00:00
\'95
\b wxMac-BOINC.xcodeproj
\b0 was needed for building older versions of the wxMac library in conjunction with the older versions of the setupForBoinc.sh or buildWxMac.sh scripts. It is not used for BOINC 5.9.2 or later. \
\'95
\b boinc.xcodeproj
2010-10-08 08:41:36 +00:00
\b0 builds BOINC. It can be used either with the BuildMacBOINC.sh script or as a stand-alone project. The
2008-04-08 02:33:37 +00:00
\i Development
\i0 build configuration builds only the native architecture and is used for debugging. The
\i Deployment
2011-10-26 12:13:00 +00:00
\i0 build configuration builds a universal binary and is suitable for release builds. If there are any other build configurations, they should not be used as they are obsolete. \
2010-10-11 11:59:05 +00:00
\
2006-02-23 02:58:36 +00:00
2011-10-26 12:13:00 +00:00
\b Note:
2012-01-27 00:42:45 +00:00
\b0 To perform a release build under Xcode 4.2 when not using the BuildMacBOINC.sh script, select "Build for archiving" from Xcode's Product menu. Do
2011-10-26 12:13:00 +00:00
\b not
\b0 select "Archive."\
\
2011-10-27 00:04:30 +00:00
The standard release of BOINC version 6.13.0 and later builds only for Macintosh computers with Intel processors. Most of the executables are built only for the i386 architecture. The libraries and the screensaver are built as universal binaries containing builds for two architectures: i386 and x86_64.\
\
\b Important compatibility note
\b0 : Xcode 4.x comes with only two Mac SDKs: MacOSX10.6.sdk and MacOSX10.7.sdk. The BOINC Xcode project uses MacOSX10.6.sdk so that it can build with either Xcode 4.x or Xcode 3.2. However, a couple of the libraries in MacOSX10.6.sdk require OS 10.6 or later to run. If you are building only to run on OS 10.6 or later, you don't need to do anything else.\
2011-10-26 12:13:00 +00:00
\
2011-10-27 00:04:30 +00:00
However, if you want to build BOINC so it will run on OS 10.4 and OS 10.5, you must either:\
\'95 build with Xcode 3.2, or \
\'95 build with Xcode 4.x after copying the MacOSX10.5.sdk from an older version of Xcode to your
\f1\fs26 /Developer/SDKs/
2012-01-27 00:42:45 +00:00
\f0\fs24 folder. The BOINC Xcode project will automatically detect the presence of that SDK and use the two older libraries needed for backward compatibility.\
2011-10-26 12:13:00 +00:00
\
2006-02-23 02:58:36 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
2007-11-14 13:27:01 +00:00
\b\fs28 \cf0 Building BOINC Manager Installer
\b0\fs24 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-02-23 02:58:36 +00:00
\cf0 \
2010-10-08 11:10:26 +00:00
In order to execute BOINC Manager, you have to install it using BOINC Manager Installer. Otherwise, you will encounter an error prompting for proper installation.\
\
2007-12-04 13:46:35 +00:00
To build the Installer for the BOINC Manager, you must be logged in as an administrator. If you are building BOINC version number x.y.z, type the following in Terminal, then enter your administrator password when prompted by the script:\
2006-02-23 02:58:36 +00:00
\
2011-10-26 12:13:00 +00:00
\pard\pardeftab720
2006-02-23 02:58:36 +00:00
2007-11-14 13:27:01 +00:00
\f1\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/\
2006-02-27 12:48:08 +00:00
source \{path\}/BOINC_dev/boinc/mac_installer/release_boinc.sh x y z\
2011-10-27 00:04:30 +00:00
\pard\pardeftab720
2006-02-23 02:58:36 +00:00
2011-10-27 00:04:30 +00:00
\f0\fs24 \cf0 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
\cf0 Substitute the 3 parts of the BOINC version number for x y and z in the above. For example, to build the installer for BOINC version 6.13.9, the command would be\
\pard\pardeftab720
2006-02-23 02:58:36 +00:00
2011-10-26 12:13:00 +00:00
\f1\fs26 \cf0 source \{path\}/BOINC_dev/boinc/mac_installer/release_boinc.sh 6 13 9\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-02-23 02:58:36 +00:00
2011-10-26 12:13:00 +00:00
\f0\fs24 \cf0 This will create a directory "BOINC_Installer/New_Release_6_13_9" in the BOINC_dev directory, and the installer will be located in '
\f1\fs26 \{path\}/BOINC_dev/BOINC_Installer/New_Release_6_13_9/boinc_6.13.0_macOSX_universal
2010-10-08 11:10:26 +00:00
\f0\fs24 '.
2007-11-14 13:27:01 +00:00
\f1 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-06-28 07:59:25 +00:00
2010-10-08 08:41:36 +00:00
\f3 \cf0 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-02-23 02:58:36 +00:00
2007-11-14 13:27:01 +00:00
\f0 \cf0 \
2006-06-28 07:59:25 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
2007-11-14 13:27:01 +00:00
\b\fs28 \cf0 Debugging and BOINC security
\b0\fs24 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2006-06-28 07:59:25 +00:00
\cf0 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
2008-04-08 02:33:37 +00:00
\cf0 Version 5.5.4 of BOINC Manager for the Macintosh introduced new, stricter security measures. For details, please see the file
\f1\fs26 boinc/mac_installer/Readme.rtf
\f0\fs24 and {\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/sandbox.php"}}{\fldrslt http://boinc.berkeley.edu/sandbox.php}} and {\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/trac/wiki/SandboxUser"}}{\fldrslt
2007-11-14 13:27:01 +00:00
\f1 http://boinc.berkeley.edu/trac/wiki/SandboxUser}}\
2006-09-02 23:40:05 +00:00
\
2011-10-26 12:13:00 +00:00
\pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\tx10560\tx11520\tx12480\tx13440\tx14400\tx15360\tx16320\tx17280\tx18240\tx19200\tx20160\tx21120\tx22080\tx23040\tx24000\tx24960\tx25920\tx26880\tx27840\tx28800\tx29760\tx30720\tx31680\tx32640\tx33600\tx34560\tx35520\tx36480\tx37440\tx38400\tx39360\tx40320\tx41280\tx42240\tx43200\tx44160\tx45120\tx46080\tx47040\tx48000\tx48960\tx49920\tx50880\tx51840\tx52800\tx53760\tx54720\tx55680\tx56640\tx57600\tx58560\tx59520\tx60480\tx61440\tx62400\tx63360\tx64320\tx65280\tx66240\tx67200\tx68160\tx69120\tx70080\tx71040\tx72000\tx72960\tx73920\tx74880\tx75840\tx76800\tx77760\tx78720\tx79680\tx80640\tx81600\tx82560\tx83520\tx84480\tx85440\tx86400\tx87360\tx88320\tx89280\tx90240\tx91200\tx92160\tx93120\tx94080\tx95040\tx96000\pardirnatural
2010-10-08 08:41:36 +00:00
\cf0 \CocoaLigature0 The GDB debugger can't attach to applications which are running as a different user or group so it ignores the S_ISUID and S_ISGID permission bits when launching an application. To work around this, the BOINC
2008-04-08 02:33:37 +00:00
\i \CocoaLigature1 Development
2011-10-26 12:13:00 +00:00
\i0 \CocoaLigature0 build does not use the special boinc_master or boinc_project users or groups, and so can be run under the debugger from Xcode. \
2006-02-23 02:58:36 +00:00
\
2006-06-28 07:59:25 +00:00
The
2007-11-14 13:27:01 +00:00
\i Development
\i0 build
\i only
2011-10-26 12:13:00 +00:00
\i0 of the BOINC Manager allows you to change the ownership and permission settings of the BOINC Data and executables by entering an administrator user name and password. This also streamlines the development cycle by avoiding the need to run the installer for every change. (To generate the development build under Xcode 4.2, choose "Build" from the product menu, or enter command-B on the keyboard.)\
2006-06-28 07:59:25 +00:00
\
To restore the standard ownerships and permissions, run the installer.\
2012-01-27 00:42:45 +00:00
\
\pard\pardeftab720\sa260
\cf0 \cb3 \CocoaLigature1 For information on interpreting crash dumps and backtraces, see {\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/trac/wiki/MacBacktrace"}}{\fldrslt \cf2 Mac Backtrace}}.\cb1 \CocoaLigature0 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2008-05-09 07:00:36 +00:00
2010-10-08 08:41:36 +00:00
\f3 \cf0 \CocoaLigature1 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2008-05-09 07:00:36 +00:00
\f0 \cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
\b\fs28 \cf0 Debugging into wxWidgets
\b0\fs24 \
2011-10-26 12:13:00 +00:00
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
2008-05-09 07:00:36 +00:00
\cf0 \
2011-10-26 12:13:00 +00:00
\pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\tx10560\tx11520\tx12480\tx13440\tx14400\tx15360\tx16320\tx17280\tx18240\tx19200\tx20160\tx21120\tx22080\tx23040\tx24000\tx24960\tx25920\tx26880\tx27840\tx28800\tx29760\tx30720\tx31680\tx32640\tx33600\tx34560\tx35520\tx36480\tx37440\tx38400\tx39360\tx40320\tx41280\tx42240\tx43200\tx44160\tx45120\tx46080\tx47040\tx48000\tx48960\tx49920\tx50880\tx51840\tx52800\tx53760\tx54720\tx55680\tx56640\tx57600\tx58560\tx59520\tx60480\tx61440\tx62400\tx63360\tx64320\tx65280\tx66240\tx67200\tx68160\tx69120\tx70080\tx71040\tx72000\tx72960\tx73920\tx74880\tx75840\tx76800\tx77760\tx78720\tx79680\tx80640\tx81600\tx82560\tx83520\tx84480\tx85440\tx86400\tx87360\tx88320\tx89280\tx90240\tx91200\tx92160\tx93120\tx94080\tx95040\tx96000\pardirnatural
\cf0 \CocoaLigature0 The BOINC Xcode project normally links the BOINC Manager with the non-debugging (Deployment) build of wxWidgets, even for the Development build configuration of the Manager. However, there may be times when you wish to link the Development build of the Manager to the Development build of wxWidgets for debugging, as when you want to step into internal wxWidgets code or put breakpoints in wxWidgets.\
2008-05-09 07:00:36 +00:00
\
You can find instructions for doing this in the comments in the file
\f1\fs26 boinc/clientgui/mac/MacGUI.pch
\f0\fs24 .\
2005-03-11 15:22:30 +00:00
}