Changes between Version 84 and Version 85 of MacBuild
- Timestamp:
- Apr 20, 2015, 5:16:22 AM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MacBuild
v84 v85 1 1 = Building BOINC Client and Manager on Macintosh OS X = 2 '''Last updated 4/ 9/15'''3 4 This document applies to BOINC version 7.4.42 and later. It has instructions for building the BOINC Client and Manager for Macintosh OS X. For information on building science project applications to run under BOINC on Macintosh OSX, see BuildMacApp.2 '''Last updated 4/20/15''' 3 4 This document applies to BOINC version 7.4.42 and later. It has instructions for building the BOINC Client and Manager for Macintosh OS X. For information on building science project applications to run under BOINC on Macintosh OSX, see BuildMacApp. 5 5 6 6 '''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: … … 48 48 Note: building BOINC Manager 7.3.0 and later requires the OS 10.8 SDK or later. 49 49 50 BOINC depends on six third-party libraries: wxWidgets-3.0, c-ares-1.10.0, curl-7.39.0, openssl-1.0.1j, freetype-2.4.10, ftgl-2.1.3~rc5 and sqlite-3.8.3. You can obtain the source files from the following URLs: 51 52 wxWidgets-3.0 (needed only if you are building the BOINC Manager): 53 54 [http://www.wxwidgets.org] 50 BOINC depends on seven third-party libraries: wxWidgets-3.0.0, c-ares-1.10.0, curl-7.39.0, openssl-1.0.1j, freetype-2.4.10, ftgl-2.1.3~rc5 and sqlite-3.8.3. You can obtain the source files from the following URLs. Clicking on the URL will download the tar file. On Mac OS X the tar file will usually be downloaded into the Downloads folder. You will need to expand the tar files by double-clicking on them, which will create a folder and place the appropriate files into that folder. You will need to move these folders later. 51 52 wxWidgets-3.0.0 (needed only if you are building the BOINC Manager): 55 53 56 54 [http://sourceforge.net/projects/wxwindows/files/3.0.0/wxWidgets-3.0.0.tar.bz2/] … … 58 56 sqlite-3.8.3 (needed only if you are building the BOINC Manager): 59 57 60 [http://www.sqlite.org/]61 62 58 [http://www.sqlite.org/2014/sqlite-autoconf-3080300.tar.gz] 63 59 64 60 curl-7.39.0: 65 61 66 [http://curl.haxx.se]67 68 62 [http://curl.haxx.se/download/curl-7.39.0.tar.gz] 69 63 70 64 c-ares-1.10.0 (used by curl): 71 65 72 [http://daniel.haxx.se/projects/c-ares/]73 74 66 [http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz] 75 67 76 68 openssl-1.0.1j: 77 69 78 [http://www.openssl.org/]79 80 70 [http://www.openssl.org/source/openssl-1.0.1j.tar.gz] 81 71 82 72 freetype-2.4.10 (needed only if you are building the BOINC default screensaver or a project screensaver): 83 73 84 [http://www.freetype.org/]85 86 74 [http://sourceforge.net/projects/freetype/files/freetype2/2.4.10/freetype-2.4.10.tar.bz2] 87 75 88 76 ftgl-2.1.3~rc5 (needed only if you are building the BOINC default screensaver or a project screensaver): 89 77 90 [http://sourceforge.net/projects/ftgl]91 92 78 [http://sourceforge.net/projects/ftgl/files/FTGL%20Source/2.1.3%7Erc5/ftgl-2.1.3-rc5.tar.gz] 93 94 (Don't forget to expand the tar files by double-clicking on them.)95 79 96 80 XCode will automatically check compatibility back to OS 10.5 if the following are defined during compilation: … … 99 83 MAC_OS_X_VERSION_MIN_REQUIRED=1050 100 84 }}} 101 These are not done automatically by either the Xcode projects which come with wxWidgets-3.0 , nor the !AutoMake scripts supplied with wxWidgets-3.0, c-ares-1.10.0, curl-7.39.0, openssl-1.0.1j, freetype-2.4.10, ftgl-2.1.3~rc5 and sqlite-3.8.3. So be sure to use our special scripts to build these packages.102 103 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.104 105 2. Put the following 3 directories insidethe BOINC_dev folder (omit any you don't need):85 These are not done automatically by either the Xcode projects which come with wxWidgets-3.0.0, nor the !AutoMake scripts supplied with wxWidgets-3.0.0, c-ares-1.10.0, curl-7.39.0, openssl-1.0.1j, freetype-2.4.10, ftgl-2.1.3~rc5 and sqlite-3.8.3. So be sure to use our special scripts to build these packages. 86 87 1. Make sure you are logged into the Mac using an account with administrator privileges. 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. 88 89 2. Move the following 7 directories from the Downloads folder into the BOINC_dev folder (omit any you don't need): 106 90 {{{ 107 91 c-ares-1.10.0 108 92 curl-7.39.0 109 93 openssl-1.0.1j 110 wxWidgets-3.0 94 wxWidgets-3.0.0 111 95 freetype-2.4.10 112 96 ftgl-2.1.3~rc5 … … 115 99 Important: do not change the names of any of these 6 directories. 116 100 117 3. 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: 101 3. If you have not yet done so, install Xcode and launch it once to accept the license agreement and complete the installation. 102 103 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: 118 104 {{{ 119 105 cd {path}/BOINC_dev/ … … 122 108 (You may change the name of the `boinc` directory to anything you wish.) 123 109 110 If the above method does not work try the following alternate method: 111 {{{ 112 git clone git://boinc.berkeley.edu/boinc-v2.git boinc 113 }}} 114 115 124 116 The command above retrieves the source code from the HEAD / MASTER (TRUNK) or development branch of the git repository. See more information on [SourceCodeGit getting the BOINC source code]. 125 117 126 4. Run the script to build the c-ares, curl, openssl, wxWidgets, freetype, ftgl and sqlite3 libraries as follows:118 5. Run the script to build the c-ares, curl, openssl, wxWidgets, freetype, ftgl and sqlite3 libraries as follows: 127 119 {{{ 128 120 cd {path}/BOINC_dev/boinc/mac_build/ … … 133 125 '''Note 1:''' Be sure to run the script using the `source` command. Do not double-click on the scripts or use the `sh` command to run them. 134 126 135 '''Note 2:''' this script tries to build all six third-party libraries: wxWidgets-3.0, c-ares-1.10.0, curl-7.39.0, openssl-1.0.1j, freetype-2.4.10, ftgl-2.1.3~rc5 and sqlite-3.8.3. 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.)136 137 '''Note 3:''' The pathmust not contain any space characters.138 139 '''Hint:''' 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.140 141 5. Build BOINC as follows:127 '''Note 2:''' This script tries to build all seven third-party libraries: wxWidgets-3.0.0, c-ares-1.10.0, curl-7.39.0, openssl-1.0.1j, freetype-2.4.10, ftgl-2.1.3~rc5 and sqlite-3.8.3. 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 -clean. 128 129 '''Note 3:''' The {path} must not contain any space characters. 130 131 '''Hint:''' 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. 132 133 6. Build BOINC as follows: 142 134 143 135 BOINC itself is built using the '''boinc.xcodeproj''' file. You can either build directly in XCode (more information below) or run the '''BuildMacBOINC.sh''' script: … … 166 158 build all targets (i.e. target 'Build_All' -- this is the default) 167 159 -lib:: 168 build the five libraries: libboinc_api.a, libboinc_graphics_api.a, libboinc.a, libboinc_opencl.a, jpeglib.a160 build the six libraries: libboinc_api.a, libboinc_graphics_api.a, libboinc.a, libboinc_opencl.a, libboinc_zip.a, jpeglib.a 169 161 -client:: 170 162 build two targets: BOINC client and command-line utility [http://boinc.berkeley.edu/wiki/Boinccmd_tool boinccmd] (also builds libboinc.a, since boinc_cmd requires it.) 171 163 172 Both -lib and -client may be specified to build seventargets (no BOINC Manager or screensaver.)164 Both -lib and -client may be specified to build eight targets (no BOINC Manager or screensaver.) 173 165 174 166 '''Note 1: boinc.xcodeproj''' in the `BOINC_dev/boinc/mac_build/` directory builds BOINC. It can be used either with the BuildMacBOINC.sh script or as a stand-alone project. The ''Development'' build configuration builds only the native architecture and is used for debugging. The ''Deployment'' 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. … … 238 230 == Installing and setting up Xcode == 239 231 240 Versions of Xcode prior to Xcode 4.3 have an installer package. After downloading Xcode, mount the disk image file by double-clicking on it, then double-click the installer package. 241 242 Starting with Xcode 4.3, the disk image contains a copy of Xcode itself. After mounting the disk image, drag the Xcode icon to the folder where you wish it to reside. In most cases, this will be the `/Applications/` folder. Unmount the disk image by dragging it to the trash. Finally, 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.) 232 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.)