diff --git a/mac_build/HowToBuildBOINC_XCode.pdf b/mac_build/HowToBuildBOINC_XCode.pdf index 4b981bfb1a..ac77cf8887 100644 Binary files a/mac_build/HowToBuildBOINC_XCode.pdf and b/mac_build/HowToBuildBOINC_XCode.pdf differ diff --git a/mac_build/HowToBuildBOINC_XCode.rtf b/mac_build/HowToBuildBOINC_XCode.rtf index 21e351d45b..4ae2efcd2f 100644 --- a/mac_build/HowToBuildBOINC_XCode.rtf +++ b/mac_build/HowToBuildBOINC_XCode.rtf @@ -1,6 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 Courier;\f2\fswiss\fcharset0 ArialMT; -\f3\fnil\fcharset0 Menlo-Regular;\f4\fnil\fcharset0 LucidaGrande;} +{\rtf1\ansi\ansicpg1252\cocoartf1671\cocoasubrtf500 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;\f2\fmodern\fcharset0 Courier; +\f3\fswiss\fcharset0 Arial-BoldMT;\f4\fnil\fcharset0 Menlo-Regular;\f5\fswiss\fcharset0 Helvetica-Oblique; +\f6\fnil\fcharset0 LucidaGrande;} {\colortbl;\red255\green255\blue255;\red186\green0\blue0;\red14\green14\blue255;\red245\green245\blue245; \red0\green0\blue0;\red255\green255\blue255;\red246\green246\blue246;} {\*\expandedcolortbl;;\csgenericrgb\c72941\c0\c0;\csgenericrgb\c5490\c5490\c100000;\csgenericrgb\c96078\c96078\c96078; @@ -11,7 +12,7 @@ \f0\b\fs28 \cf0 Building BOINC Client and Manager on Macintosh OSX\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\b0\fs24 \cf0 \ +\f1\b0\fs24 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 \cf0 Written by Charlie Fenton\ Last updated 1/22/19\ @@ -21,14 +22,14 @@ This document applies to BOINC version 7.15.0 and later. It has instructions fo \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\b \cf0 Note: -\b0 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:\ +\f0\b \cf0 Note: +\f1\b0 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:\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f1\fs26 \cf0 boinc/mac_build/HowToBuildBOINC_XCode.rtf\ +\f2\fs26 \cf0 boinc/mac_build/HowToBuildBOINC_XCode.rtf\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f0\fs24 \cf0 \ +\f1\fs24 \cf0 \ Contents of this document:\ \'95 Important requirements for building BOINC software for the Mac.\ \'95 Cross-Platform Development.\ @@ -41,23 +42,23 @@ Contents of this document:\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\b \cf0 Note: -\b0 -\f1\fs26 setupForBoinc.sh -\f0\fs24 (described late in this document) runs -\f1\fs26 buildWxMac.sh -\f0\fs24 to build the wxWidgets library used by BOINC Manager. If you built the wxWidgets library with an earlier version of -\f1\fs26 buildWxMac.sh -\f0\fs24 , then you must rebuild it with the -\f1\fs26 buildWxMac.sh -\f0\fs24 included in the newer source tree. Otherwise, the BOINC Manager build will fail with linker ( -\f1\fs26 ld -\f0\fs24 ) errors.\ +\f0\b \cf0 Note: +\f1\b0 +\f2\fs26 setupForBoinc.sh +\f1\fs24 (described late in this document) runs +\f2\fs26 buildWxMac.sh +\f1\fs24 to build the wxWidgets library used by BOINC Manager. If you built the wxWidgets library with an earlier version of +\f2\fs26 buildWxMac.sh +\f1\fs24 , then you must rebuild it with the +\f2\fs26 buildWxMac.sh +\f1\fs24 included in the newer source tree. Otherwise, the BOINC Manager build will fail with linker ( +\f2\fs26 ld +\f1\fs24 ) errors.\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 -\b\fs28 \cf0 Important requirements for building BOINC software for the Mac -\b0\fs24 \ +\f0\b\fs28 \cf0 Important requirements for building BOINC software for the Mac +\f1\b0\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ \pard\pardeftab720\sa260\partightenfactor0 @@ -67,8 +68,8 @@ You need to take certain steps to ensure that you use only APIs that are availab \cf0 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 -\b \cf0 The above requirements apply not only to BOINC itself, but also to the WxWidgets, c-ares, cURL, openSSL, freetype, ftgl and SQLite3 libraries, as well as all project applications -\b0 . \ +\f0\b \cf0 The above requirements apply not only to BOINC itself, but also to the WxWidgets, c-ares, cURL, openSSL, freetype, ftgl and SQLite3 libraries, as well as all project applications +\f1\b0 . \ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 Be sure to follow the directions in this document to ensure that these requirements are met.\ @@ -77,32 +78,32 @@ You need to take certain steps to ensure that you use only APIs that are availab \cf0 Starting with version 7.15.0, the BOINC screensaver supports only Mac OS 10.7.0 and later.\ \pard\pardeftab720\sa260\qc\partightenfactor0 -\b\fs28 \cf0 Cross-Platform Development -\f2\fs32 \ +\f0\b\fs28 \cf0 Cross-Platform Development +\f3\fs32 \ \pard\pardeftab720\sa260\partightenfactor0 -\f0\b0\fs24 \cf0 Apple provides the tools necessary to build BOINC on any Mac running OS 10.8.x or later.\ +\f1\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\partightenfactor0 -\b \cf0 Building BOINC now requires Xcode Tools version 6.0 or later. -\b0 \ +\f0\b \cf0 Building BOINC now requires Xcode Tools version 6.0 or later. +\f1\b0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ \pard\pardeftab720\sa260\partightenfactor0 \cf0 You can download Xcode from Apple's App Store (it is large: over 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 \ +\f2\fs26 http://developer.apple.com}}\cf2 .\cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 Source files are now archived using git. For details, see:\ {\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/trac/wiki/SourceCodeGit"}}{\fldrslt -\f1\fs26 http://boinc.berkeley.edu/trac/wiki/SourceCodeGit}}\ +\f2\fs26 http://boinc.berkeley.edu/trac/wiki/SourceCodeGit}}\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 -\b\fs28 \cf0 Building BOINC Manager with embedded Core Client\ +\f0\b\fs28 \cf0 Building BOINC Manager with embedded Core Client\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\b0\fs24 \cf0 \ +\f1\b0\fs24 \cf0 \ Note: building BOINC Manager 7.3.0 and later requires the OS 10.8 SDK or later.\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 @@ -110,81 +111,81 @@ Note: building BOINC Manager 7.3.0 and later requires the OS 10.8 SDK or later.\ \ wxWidgets-3.1.0 (needed only if you are building the BOINC Manager):\ {\field{\*\fldinst{HYPERLINK "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2"}}{\fldrslt -\f1\fs26 https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2}} -\f1\fs26 \ +\f2\fs26 https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2}} +\f2\fs26 \ -\f0\fs24 {\field{\*\fldinst{HYPERLINK "http://www.wxwidgets.org"}}{\fldrslt -\f1\fs26 http://www.wxwidgets.org}} -\f1\fs26 \ +\f1\fs24 {\field{\*\fldinst{HYPERLINK "http://www.wxwidgets.org"}}{\fldrslt +\f2\fs26 http://www.wxwidgets.org}} +\f2\fs26 \ -\f0\fs24 \ +\f1\fs24 \ sqlite-3.22.0 (needed only if you are building the BOINC Manager):\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f1 \cf0 {\field{\*\fldinst{HYPERLINK "https://www.sqlite.org/2018/sqlite-autoconf-3220000.tar.gz"}}{\fldrslt +\f2 \cf0 {\field{\*\fldinst{HYPERLINK "https://www.sqlite.org/2018/sqlite-autoconf-3220000.tar.gz"}}{\fldrslt \fs26 https://www.sqlite.org/2018/sqlite-autoconf-3220000.tar.gz}} -\f0 \ +\f1 \ -\f1 {\field{\*\fldinst{HYPERLINK "http://www.sqlite.org/"}}{\fldrslt +\f2 {\field{\*\fldinst{HYPERLINK "http://www.sqlite.org/"}}{\fldrslt \fs26 http://www.sqlite.org/}} \fs26 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 \ +\f1\fs24 \cf0 \ curl-7.58.0:\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f1\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "https://curl.haxx.se/download/curl-7.58.0.tar.gz"}}{\fldrslt https://curl.haxx.se/download/curl-7.58.0.tar.gz}}\ +\f2\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "https://curl.haxx.se/download/curl-7.58.0.tar.gz"}}{\fldrslt https://curl.haxx.se/download/curl-7.58.0.tar.gz}}\ {\field{\*\fldinst{HYPERLINK "http://curl.haxx.se"}}{\fldrslt http://curl.haxx.se}}\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 c-ares-1.13.0 (used by curl):\ +\f1\fs24 \cf0 c-ares-1.13.0 (used by curl):\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f1\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "https://c-ares.haxx.se/download/c-ares-1.13.0.tar.gz"}}{\fldrslt https://c-ares.haxx.se/download/c-ares-1.13.0.tar.gz}}\ +\f2\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "https://c-ares.haxx.se/download/c-ares-1.13.0.tar.gz"}}{\fldrslt https://c-ares.haxx.se/download/c-ares-1.13.0.tar.gz}}\ {\field{\*\fldinst{HYPERLINK "http://daniel.haxx.se/projects/c-ares/"}}{\fldrslt http://daniel.haxx.se/projects/c-ares/}}\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 openssl-1.1.0g\ +\f1\fs24 \cf0 openssl-1.1.0g\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f1\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "https://www.openssl.org/source/openssl-1.1.0g.tar.gz"}}{\fldrslt https://www.openssl.org/source/openssl-1.1.0g.tar.gz}}\ +\f2\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "https://www.openssl.org/source/openssl-1.1.0g.tar.gz"}}{\fldrslt https://www.openssl.org/source/openssl-1.1.0g.tar.gz}}\ {\field{\*\fldinst{HYPERLINK "http://www.openssl.org/"}}{\fldrslt http://www.openssl.org/}}\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 freetype-2.9 (needed only if you are building the BOINC default screensaver or a project screensaver):\ +\f1\fs24 \cf0 freetype-2.9 (needed only if you are building the BOINC default screensaver or a project screensaver):\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f3\fs22 \cf3 \CocoaLigature0 {\field{\*\fldinst{HYPERLINK "https://sourceforge.net/projects/freetype/files/freetype2/2.9/freetype-2.9.tar.bz2"}}{\fldrslt https://sourceforge.net/projects/freetype/files/freetype2/2.9/freetype-2.9.tar.bz2}}\ +\f4\fs22 \cf3 \CocoaLigature0 {\field{\*\fldinst{HYPERLINK "https://sourceforge.net/projects/freetype/files/freetype2/2.9/freetype-2.9.tar.bz2"}}{\fldrslt https://sourceforge.net/projects/freetype/files/freetype2/2.9/freetype-2.9.tar.bz2}}\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f1\fs26 \cf0 \CocoaLigature1 {\field{\*\fldinst{HYPERLINK "http://www.freetype.org/"}}{\fldrslt -\f3\fs22 \cf3 \CocoaLigature0 http://www.freetype.org/}} -\f3\fs22 \cf3 \CocoaLigature0 \ +\f2\fs26 \cf0 \CocoaLigature1 {\field{\*\fldinst{HYPERLINK "http://www.freetype.org/"}}{\fldrslt +\f4\fs22 \cf3 \CocoaLigature0 http://www.freetype.org/}} +\f4\fs22 \cf3 \CocoaLigature0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 \CocoaLigature1 \ +\f1\fs24 \cf0 \CocoaLigature1 \ ftgl-2.1.3~rc5 (needed only if you are building the BOINC default screensaver or a project screensaver):\ {\field{\*\fldinst{HYPERLINK "http://sourceforge.net/projects/ftgl/files/FTGL%20Source/2.1.3~rc5/ftgl-2.1.3-rc5.tar.gz"}}{\fldrslt http://sourceforge.net/projects/ftgl/files/FTGL%20Source/2.1.3%7Erc5/ftgl-2.1.3-rc5.tar.gz}}\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f1\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "http://sourceforge.net/projects/ftgl"}}{\fldrslt -\f3\fs22 \cf3 \CocoaLigature0 http://sourceforge.net/projects/ftgl}}\ +\f2\fs26 \cf0 {\field{\*\fldinst{HYPERLINK "http://sourceforge.net/projects/ftgl"}}{\fldrslt +\f4\fs22 \cf3 \CocoaLigature0 http://sourceforge.net/projects/ftgl}}\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 \ +\f1\fs24 \cf0 \ \pard\pardeftab720\sa260\partightenfactor0 \cf0 XCode will automatically check compatibility back to OS 10.7 if the following are defined during compilation:\ \pard\pardeftab720\partightenfactor0 -\f1\fs26 \cf0 MAC_OS_X_VERSION_MAX_ALLOWED=1070\ +\f2\fs26 \cf0 MAC_OS_X_VERSION_MAX_ALLOWED=1070\ MAC_OS_X_VERSION_MIN_REQUIRED=1070\ \pard\pardeftab720\partightenfactor0 -\f0\fs24 \cf0 \ +\f1\fs24 \cf0 \ \pard\pardeftab720\sa260\partightenfactor0 \cf0 These are not done automatically by either the Xcode projects which come with wxWidgets-3.1.0, nor the AutoMake scripts supplied with wxWidgets-3.1.0, c-ares-1.13.0, curl-7.58.0, openssl-1.1.0g, freetype-2.9, ftgl-2.1.3~rc5 and sqlite-3.22.0. So be sure to use our special scripts to build these packages.\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 @@ -193,7 +194,7 @@ MAC_OS_X_VERSION_MIN_REQUIRED=1070\ [2] Move the following 7 directories from the Downloads folder into the BOINC_dev folder (omit any you don't need):\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f1\fs26 \cf0 c-ares- +\f2\fs26 \cf0 c-ares- \fs24 1.13.0 \fs26 \ curl-7.58.0\ @@ -208,109 +209,109 @@ MAC_OS_X_VERSION_MIN_REQUIRED=1070\ \fs26 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f0\fs24 \cf0 \ +\f1\fs24 \cf0 \ Important: do not change the names of any of these 7 directories. Remember that the names are case sensitive.\ \ [3] If you have not yet done so, install Xcode and launch it once to accept the license agreement and complete the installation.\ \ [4] Get the BOINC source tree from the repository, and put it in the same BOINC_dev folder. To do this, type the following in Terminal (if you have problems, you may need to enter -\f1\fs26 sudo -\f0\fs24 and a space before the -\f1\fs26 git -\f0\fs24 command):\ +\f2\fs26 sudo +\f1\fs24 and a space before the +\f2\fs26 git +\f1\fs24 command):\ \ \pard\pardeftab720\partightenfactor0 -\f1\fs26 \cf0 cd \{path\}/BOINC_dev/\ +\f2\fs26 \cf0 cd \{path\}/BOINC_dev/\ \pard\pardeftab720\partightenfactor0 \cf0 \cb4 git clone \cb1 https://github.com/BOINC/boinc.git \cb4 boinc -\f0\fs24 \cb1 \ +\f1\fs24 \cb1 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ (You may change the name of the -\f1\fs26 boinc -\f0\fs24 directory to anything you wish.) \ +\f2\fs26 boinc +\f1\fs24 directory to anything you wish.) \ \pard\pardeftab720\partightenfactor0 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \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}}\ +\f2\fs26 http://boinc.berkeley.edu/trac/wiki/SourceCodeGit}}\ \ [5] Run the script to build the c-ares, curl, openssl, wxWidgets, freetype, ftgl and sqlite3 libraries as follows:\ \ \pard\pardeftab720\partightenfactor0 -\f1\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/mac_build/\ +\f2\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/mac_build/\ source setupForBoinc.sh -clean -\f0\fs24 \ +\f1\fs24 \ \ If you don't wish to force a full rebuild of everything, omit the -clean argument.\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\b \cf0 Note 1: -\b0 Be sure to run the script using the -\f1\fs26 source -\f0\fs24 command. Do not double-click on the scripts or use the -\f1\fs26 sh -\f0\fs24 command to run them.\ +\f0\b \cf0 Note 1: +\f1\b0 Be sure to run the script using the +\f2\fs26 source +\f1\fs24 command. Do not double-click on the scripts or use the +\f2\fs26 sh +\f1\fs24 command to run them.\ -\b Note 2: -\b0 This script tries to build all seven third-party libraries: wxWidgets-3.1.0, c-ares-1.13.0, curl-7.58.0, openssl-1.1.0g, freetype-2.9, ftgl-2.1.3~rc5 and sqlite-3.22.0. When the script finishes, it will display a warning about any libraries it was unable to build (for example, if you have not downloaded them.) To make it easier to find the error messages, clear the Terminal display and run the script again without -\f1 -clean -\f0 .\ +\f0\b Note 2: +\f1\b0 This script tries to build all seven third-party libraries: wxWidgets-3.1.0, c-ares-1.13.0, curl-7.58.0, openssl-1.1.0g, freetype-2.9, ftgl-2.1.3~rc5 and sqlite-3.22.0. When the script finishes, it will display a warning about any libraries it was unable to build (for example, if you have not downloaded them.) To make it easier to find the error messages, clear the Terminal display and run the script again without +\f2 -clean +\f1 .\ -\b Note 3: -\b0 -\f1\fs26 setupForBoinc.sh -\f0\fs24 runs -\f1\fs26 buildWxMac.sh -\f0\fs24 to build the wxWidgets library used by BOINC Manager. If you built the wxWidgets library with an earlier version of -\f1\fs26 buildWxMac.sh -\f0\fs24 , then you must rebuild it with the -\f1\fs26 buildWxMac.sh -\f0\fs24 included in the newer source tree. Otherwise, the BOINC Manager build will fail with linker ( -\f1\fs26 ld -\f0\fs24 ) errors.\ +\f0\b Note 3: +\f1\b0 +\f2\fs26 setupForBoinc.sh +\f1\fs24 runs +\f2\fs26 buildWxMac.sh +\f1\fs24 to build the wxWidgets library used by BOINC Manager. If you built the wxWidgets library with an earlier version of +\f2\fs26 buildWxMac.sh +\f1\fs24 , then you must rebuild it with the +\f2\fs26 buildWxMac.sh +\f1\fs24 included in the newer source tree. Otherwise, the BOINC Manager build will fail with linker ( +\f2\fs26 ld +\f1\fs24 ) errors.\ -\b Note 4: -\b0 The \{path\} must not contain any space characters.\ +\f0\b Note 4: +\f1\b0 The \{path\} must not contain any space characters.\ \pard\pardeftab720\partightenfactor0 -\b \cf0 Hint: -\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.\ +\f0\b \cf0 Hint: +\f1\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 5: -\b0 To be compatible with 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.7, 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.\ +\f0\b Note 5: +\f1\b0 To be compatible with 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.7, 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 +\f2\fs26 release_boinc.sh +\f1\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\partightenfactor0 \cf0 \ [6] Build BOINC as follows:\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \cf0 BOINC itself is built using the -\b boinc.xcodeproj -\b0 file. You can either build directly in Xcode -\b -\b0 (more information below) or run the -\b BuildMacBOINC.sh -\b0 script:\ +\f0\b boinc.xcodeproj +\f1\b0 file. You can either build directly in Xcode +\f0\b +\f1\b0 (more information below) or run the +\f0\b BuildMacBOINC.sh +\f1\b0 script:\ \ \pard\pardeftab720\partightenfactor0 -\f1\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/mac_build/\ +\f2\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/mac_build/\ source BuildMacBOINC.sh -\f0\fs24 \ +\f1\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ The complete syntax for this script is\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f1\fs26 \cf0 source BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-libc] [-c++11] [-help] -\f0\fs24 \ +\f2\fs26 \cf0 source BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-libc] [-c++11] [-help] +\f1\fs24 \ \ The options for BuildMacBOINC.sh are:\ -dev build the development (debug) build. \ @@ -335,74 +336,74 @@ The options for BuildMacBOINC.sh are:\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\b \cf0 Note 1: -\b0 -\b boinc.xcodeproj -\b0 in the BOINC_dev/boinc/mac_build/ directory builds BOINC. It can be used either with the -\f1 BuildMacBOINC.sh -\f0 script or as a stand-alone project. The -\i Development -\i0 build configuration builds only the native architecture and is used for debugging. The -\i Deployment -\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. \ +\f0\b \cf0 Note 1: +\f1\b0 +\f0\b boinc.xcodeproj +\f1\b0 in the BOINC_dev/boinc/mac_build/ directory builds BOINC. It can be used either with the +\f2 BuildMacBOINC.sh +\f1 script or as a stand-alone project. The +\f5\i Development +\f1\i0 build configuration builds only the native architecture and is used for debugging. The +\f5\i Deployment +\f1\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. \ \ -\b Note 2: -\b0 To perform a release build under Xcode 6 or later when not using the -\f1 BuildMacBOINC.sh -\f0 script, select "Build for Profiling" from Xcode's Product menu. To save disk space, do -\b not -\b0 select "Archive."\ +\f0\b Note 2: +\f1\b0 To perform a release build under Xcode 6 or later when not using the +\f2 BuildMacBOINC.sh +\f1 script, select "Build for Profiling" from Xcode's Product menu. To save disk space, do +\f0\b not +\f1\b0 select "Archive."\ \ -\b Note 3: -\b0 Using the -\f1\fs26 BuildMacBOINC.sh -\f0\fs24 script is generally easier than building directly in Xcode. The script will place the built products in the directory -\f1\fs26 BOINC_dev/boinc/mac_build/build/Deployment/ -\f0\fs24 or -\f1\fs26 BOINC_dev/boinc/mac_build/build/Development/ -\f0\fs24 where they are easy to find. Building directly in Xcode places the built products in a somewhat obscure location. To determine this location, control-click on -\i Products -\i0 in Xcode's Project Navigator and select "Show in Finder." \ +\f0\b Note 3: +\f1\b0 Using the +\f2\fs26 BuildMacBOINC.sh +\f1\fs24 script is generally easier than building directly in Xcode. The script will place the built products in the directory +\f2\fs26 BOINC_dev/boinc/mac_build/build/Deployment/ +\f1\fs24 or +\f2\fs26 BOINC_dev/boinc/mac_build/build/Development/ +\f1\fs24 where they are easy to find. Building directly in Xcode places the built products in a somewhat obscure location. To determine this location, control-click on +\f5\i Products +\f1\i0 in Xcode's Project Navigator and select "Show in Finder." \ \ -\b Note 4: -\b0 As of version 7.15.0, BOINC is always built using libc++. Project applications built for libstdc ++ with newer versions of Xcode will not link properly with BOINC libraries built for libc++. \ +\f0\b Note 4: +\f1\b0 As of version 7.15.0, BOINC is always built using libc++. Project applications built for libstdc ++ with newer versions of Xcode will not link properly with BOINC libraries built for libc++. \ \ -\b Hint: -\b0 You can install multiple versions of Xcode on the same Mac, either by putting them in different directories or by renaming Xcode.app of different versions. You can then specify which version the -\f1\fs26 BuildMacBOINC.sh -\f0\fs24 script should use by setting the -\f1\fs26 DEVELOPER_DIR -\f0\fs24 environment variable using the -\f1\fs26 env -\f0\fs24 command. For example, if you have installed Xcode 6.2 in the Applications directory and renamed -\f1\fs26 Xcode.app -\f0\fs24 to -\f1\fs26 Xcode_6_2.app -\f0\fs24 , you can invoke the script with:\ +\f0\b Hint: +\f1\b0 You can install multiple versions of Xcode on the same Mac, either by putting them in different directories or by renaming Xcode.app of different versions. You can then specify which version the +\f2\fs26 BuildMacBOINC.sh +\f1\fs24 script should use by setting the +\f2\fs26 DEVELOPER_DIR +\f1\fs24 environment variable using the +\f2\fs26 env +\f1\fs24 command. For example, if you have installed Xcode 6.2 in the Applications directory and renamed +\f2\fs26 Xcode.app +\f1\fs24 to +\f2\fs26 Xcode_6_2.app +\f1\fs24 , you can invoke the script with:\ \pard\pardeftab720\partightenfactor0 -\f1\fs26 \cf0 env DEVELOPER_DIR=/Applications/Xcode_6_2.app/Contents/Developer sh BuildMacBOINC.sh -\f0\fs24 \ +\f2\fs26 \cf0 env DEVELOPER_DIR=/Applications/Xcode_6_2.app/Contents/Developer sh BuildMacBOINC.sh +\f1\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ The BOINC Xcode project has built-in scripts which create a text file with the path to the built products at either -\f1\fs26 BOINC_dev/boinc/mac_build/Build_Deployment_Dir -\f0\fs24 or -\f1\fs26 BOINC_dev/boinc/mac_build/Build_Development_Dir -\f0\fs24 . These files are used by the -\f1\fs26 release_boinc.sh -\f0\fs24 script, but you can also use them to access the built products directly as follows; open the file with TextEdit and copy the path, then enter command-shift-G in the Finder and paste the path into the Finder's dialog.\ +\f2\fs26 BOINC_dev/boinc/mac_build/Build_Deployment_Dir +\f1\fs24 or +\f2\fs26 BOINC_dev/boinc/mac_build/Build_Development_Dir +\f1\fs24 . These files are used by the +\f2\fs26 release_boinc.sh +\f1\fs24 script, but you can also use them to access the built products directly as follows; open the file with TextEdit and copy the path, then enter command-shift-G in the Finder and paste the path into the Finder's dialog.\ \ The standard release of BOINC version 7.15.0 and later builds only for Macintosh computers with 64-bit Intel processors. The executables and libraries are built only for the x86_64 architecture.\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 -\b\fs28 \cf0 Building BOINC Manager Installer -\b0\fs24 \ +\f0\b\fs28 \cf0 Building BOINC Manager Installer +\f1\b0\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ In order to execute BOINC Manager, you must install it using BOINC Manager Installer. Otherwise, you will encounter an error prompting for proper installation.\ @@ -411,80 +412,80 @@ To build the Installer for the BOINC Manager, you must be logged in as an admini \ \pard\pardeftab720\partightenfactor0 -\f1\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/\ +\f2\fs26 \cf0 cd \{path\}/BOINC_dev/boinc/\ source \{path\}/BOINC_dev/boinc/mac_installer/release_boinc.sh x y z\ \pard\pardeftab720\partightenfactor0 -\f0\fs24 \cf0 \ +\f1\fs24 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \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 7.9.0, the command would be\ \pard\pardeftab720\partightenfactor0 -\f1\fs26 \cf0 source \{path\}/BOINC_dev/boinc/mac_installer/release_boinc.sh 7 9 0\ +\f2\fs26 \cf0 source \{path\}/BOINC_dev/boinc/mac_installer/release_boinc.sh 7 9 0\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f0\fs24 \cf0 This will create a directory "BOINC_Installer/New_Release_7_9_0" in the BOINC_dev directory, and the installer will be located in ' -\f1\fs26 \{path\}/BOINC_dev/BOINC_Installer/New_Release_7_9_0/boinc_7.9.0_macOSX_x86_64 -\f0\fs24 '.\ +\f1\fs24 \cf0 This will create a directory "BOINC_Installer/New_Release_7_9_0" in the BOINC_dev directory, and the installer will be located in ' +\f2\fs26 \{path\}/BOINC_dev/BOINC_Installer/New_Release_7_9_0/boinc_7.9.0_macOSX_x86_64 +\f1\fs24 '.\ \ The installer script uses the deployment (release) build of BOINC; it won't work with a development (debug) build.\ You can find the current version number in the file -\f1\fs26 \{path\}/BOINC_dev/boinc/version.h +\f2\fs26 \{path\}/BOINC_dev/boinc/version.h \fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f4 \cf0 \ +\f6 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 \f0\b\fs28 \cf0 Code Signing the BOINC Manager Installer and Uninstaller -\b0\fs24 \ +\f1\b0\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f4 \cf0 \ +\f6 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f0 \cf0 Mac OS 10.8 introduces a security feature called Gatekeeper, whose default settings won't allow a user to run applications or installers downloaded from the Internet unless they are signed by a registered Apple Developer. The -\f1\fs26 release_boinc.sh -\f0\fs24 script looks for a file -\f1\fs26 ~/BOINCCodeSignIdentities.txt -\f0\fs24 containing the name of a valid code signing identity stored in the user's Keychain. If this is found, the script will automatically sign the BOINC installer and BOINC uninstaller using that identity. For example, if your user name is John Smith, the first line of -\f1\fs26 ~/BOINCCodeSignIdentities.txt -\f0\fs24 would be something like the following: -\f1\fs26 \ +\f1 \cf0 Mac OS 10.8 introduces a security feature called Gatekeeper, whose default settings won't allow a user to run applications or installers downloaded from the Internet unless they are signed by a registered Apple Developer. The +\f2\fs26 release_boinc.sh +\f1\fs24 script looks for a file +\f2\fs26 ~/BOINCCodeSignIdentities.txt +\f1\fs24 containing the name of a valid code signing identity stored in the user's Keychain. If this is found, the script will automatically sign the BOINC installer and BOINC uninstaller using that identity. For example, if your user name is John Smith, the first line of +\f2\fs26 ~/BOINCCodeSignIdentities.txt +\f1\fs24 would be something like the following: +\f2\fs26 \ Developer ID Application: John Smith\ \ \pard\tx543\pardeftab543\pardirnatural\partightenfactor0 -\f0\fs24 \cf5 \cb6 If you wish to also code sign the installer package, add a second line to -\f1\fs26 ~/BOINCCodeSignIdentities.txt -\f0\fs24 with the installer code signing identity. This \cf0 \cb1 would be something like the following:\ +\f1\fs24 \cf5 \cb6 If you wish to also code sign the installer package, add a second line to +\f2\fs26 ~/BOINCCodeSignIdentities.txt +\f1\fs24 with the installer code signing identity. This \cf0 \cb1 would be something like the following:\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f1\fs26 \cf0 Developer ID Installer: John Smith\ +\f2\fs26 \cf0 Developer ID Installer: John Smith\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\f0\fs24 \cf0 If there is no -\f1\fs26 ~/BOINCCodeSignIdentities.txt -\f0\fs24 file, then the script will not sign the installer or uninstaller. Code signing is not necessary if you won't be transferring the built software over the Internet. For more information on code signing identities see the documentation for the {\field{\*\fldinst{HYPERLINK "https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/codesign.1.html"}}{\fldrslt -\f1\fs26 codesign}} utility, Apple's {\field{\*\fldinst{HYPERLINK "https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/"}}{\fldrslt Code Signing Guide}} and {\field{\*\fldinst{HYPERLINK "https://developer.apple.com/library/content/technotes/tn2206/_index.htm"}}{\fldrslt Tech Note 2206}}.\ +\f1\fs24 \cf0 If there is no +\f2\fs26 ~/BOINCCodeSignIdentities.txt +\f1\fs24 file, then the script will not sign the installer or uninstaller. Code signing is not necessary if you won't be transferring the built software over the Internet. For more information on code signing identities see the documentation for the {\field{\*\fldinst{HYPERLINK "https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/codesign.1.html"}}{\fldrslt +\f2\fs26 codesign}} utility, Apple's {\field{\*\fldinst{HYPERLINK "https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/"}}{\fldrslt Code Signing Guide}} and {\field{\*\fldinst{HYPERLINK "https://developer.apple.com/library/content/technotes/tn2206/_index.htm"}}{\fldrslt Tech Note 2206}}.\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 -\b\fs28 \cf0 Debugging and BOINC security -\b0\fs24 \ +\f0\b\fs28 \cf0 Debugging and BOINC security +\f1\b0\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 \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_dev/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 -\f1 http://boinc.berkeley.edu/trac/wiki/SandboxUser}}\ +\f2\fs26 BOINC_dev/boinc/mac_installer/Readme.rtf +\f1\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 +\f2 http://boinc.berkeley.edu/trac/wiki/SandboxUser}}\ \ \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\partightenfactor0 \cf0 \CocoaLigature0 The LLDB 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. This also streamlines the development cycle by avoiding the need to run the installer for every change. (To generate the development build under Xcode, choose "Build" from the product menu, or enter command-B on the keyboard.)\ +\f5\i \CocoaLigature1 Development +\f1\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, choose "Build" from the product menu, or enter command-B on the keyboard.)\ \ To restore the standard ownerships and permissions, run the installer or run the {\field{\*\fldinst{HYPERLINK "http://boinc.berkeley.edu/mac_build/Mac_SA_Secure.sh"}}{\fldrslt Mac_SA_Secure.sh}} shell script in Terminal (the comments in this script have instructions for running it.)\ \ @@ -492,8 +493,8 @@ To restore the standard ownerships and permissions, run the installer or run the \cf0 \cb7 \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\partightenfactor0 -\b\fs28 \cf0 Debugging into wxWidgets -\b0\fs24 \ +\f0\b\fs28 \cf0 Debugging into wxWidgets +\f1\b0\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \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\partightenfactor0 @@ -501,9 +502,66 @@ To restore the standard ownerships and permissions, run the installer or run the \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 -\b\fs28 \cf0 \CocoaLigature1 Installing and setting up Xcode -\b0\fs24 \ +\f0\b\fs28 \cf0 \CocoaLigature1 Installing and setting up Xcode +\f1\b0\fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ If Xcode is obtained from the Apple Store then it will be installed automatically into the Applications folder. Double-click on the installed Xcode icon to run Xcode. Xcode will display a dialog allowing you to finish the installation; you must do this before running BOINC's build scripts. (Some versions of Xcode may not display this dialog until you open a file with Xcode.)\ +\ +NOTE to building with XCode.\ +The general instructions in the mac_build folder in the file HowToBuildBOINC_XCode.pdf should also note that if you want to build using XCode in it's GUI implementation - not command line - alone, you need to put all the downloaded libraries in the folder directly above the build folder. For EG:\ +All of these external programs:\ +\ +wxWidgets-3.1.0 s-3.1.0.tar.bz2\ +sqlite-3.22.0 \ +curl-7.58.0:\ +c-ares-1.13.0 (used by curl):\ +openssl-1.1.0g\ +freetype-2.9 \ +ftgl-2.1.3~rc5 \ +\ +Need to go into the top GitHub directory on your system and be unpacked there. Otherwise XCode as the project is currently set up, will not find the libraries. They need to be unzipped there of course.\ +\ +/Users//GitHub/\ +\ +So that when you build in XCode, they can be found in the existing setup, which looks for them in - for example - \ +USER_HEADER_SEARCH_PATHS = ../../curl-7.58.0/include ../../openssl-1.1.0g/include ../lib/**\ +\ +I found the existing how-to-build pdf slightly misleading. It could be that to command line build would benefit from having the external libraries in this folder directly above the 'boinc' folder.\ +\ +In my case I have \ +/Users/Robert/Documents/GitHub\ + /boinc\ + /c-ares-1.13.0\ + /curl-7.58.0\ +... and so on for the other required programs.\ +\ +Below the boinc folder there is of course the 'boinc/mac_build' folder.\ +\ +The result is\ +\ +01-Apr-2019 09:21:01 [---] OS: Mac OS X 10.14.4 (Darwin 18.5.0)\ +01-Apr-2019 09:21:01 [---] Memory: 16.00 GB physical, 67.34 GB virtual\ +01-Apr-2019 09:21:01 [---] Disk: 931.19 GB total, 64.59 GB free\ +01-Apr-2019 09:21:01 [---] Local time is UTC +1 hours\ +01-Apr-2019 09:21:01 [---] Last benchmark was 17987 days 08:21:01 ago\ +01-Apr-2019 09:21:01 [---] No general preferences found - using defaults\ +01-Apr-2019 09:21:01 [---] Preferences:\ +01-Apr-2019 09:21:01 [---] max memory usage when active: 8192.00 MB\ +01-Apr-2019 09:21:01 [---] max memory usage when idle: 14745.60 MB\ +01-Apr-2019 09:21:01 [---] max disk usage: 64.50 GB\ +01-Apr-2019 09:21:01 [---] don't use GPU while active\ +01-Apr-2019 09:21:01 [---] suspend work if non-BOINC CPU load exceeds 25%\ +01-Apr-2019 09:21:01 [---] (to change preferences, visit a project web site or select Preferences in the Manager)\ +01-Apr-2019 09:21:01 [---] Setting up project and slot directories\ +01-Apr-2019 09:21:01 [---] Checking active tasks\ +01-Apr-2019 09:21:01 [---] Setting up GUI RPC socket\ +01-Apr-2019 09:21:01 [---] Checking presence of 0 project files\ +01-Apr-2019 09:21:01 [---] This computer is not attached to any projects\ +01-Apr-2019 09:21:01 Initialization completed\ +01-Apr-2019 09:21:01 [---] Suspending GPU computation - computer is in use\ +\ +\ +\ +\ } \ No newline at end of file