mirror of https://github.com/BOINC/boinc.git
Mac: update build instructions
This commit is contained in:
parent
030a55796e
commit
9a92474055
|
@ -2,9 +2,7 @@
|
|||
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 Courier;\f2\fswiss\fcharset0 ArialMT;
|
||||
\f3\fnil\fcharset0 Menlo-Regular;\f4\fnil\fcharset0 LucidaGrande;}
|
||||
{\colortbl;\red255\green255\blue255;\red186\green0\blue0;\red14\green14\blue255;\red245\green245\blue245;
|
||||
\red69\green60\blue204;\red246\green246\blue246;}
|
||||
{\*\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}}
|
||||
\red246\green246\blue246;}
|
||||
\margl1440\margr1440\vieww14780\viewh11840\viewkind0
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
|
||||
|
||||
|
@ -14,10 +12,10 @@
|
|||
\b0\fs24 \cf0 \
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
|
||||
\cf0 Written by Charlie Fenton\
|
||||
Last updated 9/10/16\
|
||||
Last updated 6/5/17\
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 \
|
||||
This document applies to BOINC version 7.6.34 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}}. \
|
||||
This document applies to BOINC version 7.7.2 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}}. \
|
||||
\
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
|
||||
|
@ -46,17 +44,7 @@ Contents of this document:\
|
|||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 \
|
||||
\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
|
||||
\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
|
||||
\b0 : 64-bit Intel processors running OS 10.5.0 and above\
|
||||
\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 parts of the BOINC client package built as 64-bit executables are the screensaver coordinator and the BOINC client itself. The BOINC libraries also include a 64-bit build so that they can be linked with 64-bit project applications.\
|
||||
\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.6.0 and above, the only parts of the BOINC client package built as 64-bit executables are the screensaver coordinator and the BOINC client itself. 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.8.x or later 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
|
||||
\cf0 \
|
||||
|
@ -69,15 +57,15 @@ You need to take certain steps to ensure that you use only APIs that are availab
|
|||
\cf0 Be sure to follow the directions in this document to ensure that these requirements are met.\
|
||||
\
|
||||
\pard\pardeftab720\sa260
|
||||
\cf0 Starting with version 7.3.0, the BOINC Client supports only Mac OS 10.5.0 and later. Starting with version 7.5.0, the BOINC screensaver supports only Mac OS 10.6.0 and later.\
|
||||
\cf0 Starting with version 7.5.0, the BOINC screensaver supports only Mac OS 10.6.0 and later.\
|
||||
\pard\pardeftab720\sa260\qc
|
||||
|
||||
\b\fs28 \cf0 Cross-Platform Development
|
||||
\f2\fs32 \
|
||||
\pard\pardeftab720\sa260
|
||||
|
||||
\f0\b0\fs24 \cf0 Apple provides the tools necessary to cross-compile for both BOINC Mac platforms on any Mac running OS 10.8.x or later.\
|
||||
You get these tools, including the GCC compilers and system library header files, by installing the Xcode Tools package. \
|
||||
\f0\b0\fs24 \cf0 Apple provides the tools necessary to build BOINC on any Mac running OS 10.8.x or later.\
|
||||
You get these tools, including the GCC or Apple LLVM compiler 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 4.6 or later.
|
||||
|
@ -85,7 +73,7 @@ You get these tools, including the GCC compilers and system library header files
|
|||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 \
|
||||
\pard\pardeftab720\sa260
|
||||
\cf0 You can download Xcode 4.6 or later from Apple's App Store (it is large: about 2 GB). If you are a member of Apple's Mac Developer Program, you can also download it from Apple's web site: {\field{\*\fldinst{HYPERLINK "http://developer.apple.com"}}{\fldrslt
|
||||
\cf0 You can download Xcode 4.6 or later from Apple's App Store (it is large: about 4 GB). If you are a member of Apple's Mac Developer Program, you can also download it from Apple's web site: {\field{\*\fldinst{HYPERLINK "http://developer.apple.com"}}{\fldrslt
|
||||
\f1\fs26 http://developer.apple.com}}\cf2 .\cf0 \
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 Source files are now archived using git. For details, see:\
|
||||
|
@ -216,11 +204,9 @@ Important: do not change the names of any of these 7 directories. Remember that
|
|||
\
|
||||
\pard\pardeftab720
|
||||
|
||||
\f1\fs26 \cf0 cd \{path\}/BOINC_dev/
|
||||
\f0\fs24 \
|
||||
\f1\fs26 \cf0 cd \{path\}/BOINC_dev/\
|
||||
\pard\pardeftab720
|
||||
|
||||
\f1\fs26 \cf0 \cb4 git clone http://boinc.berkeley.edu/git/boinc-v2.git boinc
|
||||
\cf0 \cb4 git clone \cb1 https://github.com/BOINC/boinc.git \cb4 boinc
|
||||
\f0\fs24 \cb1 \
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 \
|
||||
|
@ -230,17 +216,6 @@ Important: do not change the names of any of these 7 directories. Remember that
|
|||
\pard\pardeftab720
|
||||
\cf0 \
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 If the above method does not work try the following alternate method:\
|
||||
\pard\pardeftab720
|
||||
|
||||
\f1 \cf5 \expnd0\expndtw0\kerning0
|
||||
\
|
||||
|
||||
\fs26 \cf0 git clone git://boinc.berkeley.edu/boinc-v2.git boinc\
|
||||
\pard\pardeftab720
|
||||
|
||||
\f0\fs24 \cf0 \kerning1\expnd0\expndtw0 \
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 The command above retrieves the source code from the HEAD / MASTER (TRUNK) or development branch of the git repository. For more information on getting the BOINC source code, see:\
|
||||
{\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/trac/wiki/SourceCodeGit"}}{\fldrslt
|
||||
\f1\fs26 http://boinc.berkeley.edu/trac/wiki/SourceCodeGit}}\
|
||||
|
@ -278,7 +253,9 @@ If you don't wish to force a full rebuild of everything, omit the -clean argumen
|
|||
\b0 You don't need to type the path to a file or folder into Terminal; just drag the file or folder icon from a Finder window onto the Terminal window.\
|
||||
|
||||
\b Note 4:
|
||||
\b0 To be compatible with OS 10.6 and OS 10.7 (in addition to later versions of OS X), the screensaver must be built with Garbage Collection supported (and without Automatic Reference Counting) and so must be built using Xcode 5.x or earlier. If you build with Xcode 6 or later, Xcode will force a conversion to ARC, and the screensaver will still work with OS 10.8 or later.\
|
||||
\b0 To be compatible with OS 10.6 and OS 10.7, the screensaver must be built with Garbage Collection (GC) supported (and without Automatic Reference Counting) , but Xcode versions later than 5.0.2 do not allow building with GC. To allow building with newer versions of Xcode while keeping backward compatibility to OS 10.6, the GIT repository includes the screensaver executable built with GC, while the Xcode project builds the screensaver with ARC (for newer versions of OS X.) The
|
||||
\f1\fs26 release_boinc.sh
|
||||
\f0\fs24 script (described later in this document) adds both the GC and ARC builds of the screensaver to the installer; the installer code selects the correct screensaver for the target version of OS X at install time.\
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 \
|
||||
[6] Build BOINC as follows:\
|
||||
|
@ -469,18 +446,12 @@ Developer ID Application: John Smith\
|
|||
\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 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
|
||||
\i \CocoaLigature1 Development
|
||||
\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. \
|
||||
\
|
||||
The
|
||||
\i Development
|
||||
\i0 build
|
||||
\i only
|
||||
\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.6, choose "Build" from the product menu, or enter command-B on the keyboard.)\
|
||||
\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. 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.6, choose "Build" from the product menu, or enter command-B on the keyboard.)\
|
||||
\
|
||||
To restore the standard ownerships and permissions, run the installer.\
|
||||
\
|
||||
\pard\pardeftab720\sa260
|
||||
\cf0 \cb6 \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 \
|
||||
\cf0 \cb5 \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 \
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
|
||||
|
||||
\b\fs28 \cf0 Debugging into wxWidgets
|
||||
|
@ -488,11 +459,7 @@ To restore the standard ownerships and permissions, run the installer.\
|
|||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
|
||||
\cf0 \
|
||||
\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.\
|
||||
\
|
||||
You can find instructions for doing this in the comments in the file
|
||||
\f1\fs26 \CocoaLigature1 BOINC_dev/boinc/\CocoaLigature0 clientgui/mac/MacGUI.pch
|
||||
\f0\fs24 .\
|
||||
\cf0 \CocoaLigature0 The BOINC Xcode project links the BOINC Manager with the non-debugging (Deployment) build of wxWidgets for the Deployment build configuration of the Manager, and with the debugging (Development) build of wxWidgets for the Development build configuration of the Manager. You should use the Development build of the Manager and wxWidgets for debugging; this allows you to step into internal wxWidgets code. With the Development build, you can even put breakpoints in wxWidgets; this is most easily done after stepping into a function in wxWidgets source file containing the code where you wish to put the breakpoint.\
|
||||
\
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
|
||||
|
||||
|
|
Loading…
Reference in New Issue