Changes between Version 84 and Version 85 of MacBuild


Ignore:
Timestamp:
Apr 20, 2015, 5:16:22 AM (9 years ago)
Author:
charlief
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MacBuild

    v84 v85  
    11= 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.42and 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
     4This 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.
    55
    66'''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:
     
    4848Note: building BOINC Manager 7.3.0 and later requires the OS 10.8 SDK or later.
    4949
    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]
     50BOINC 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
     52wxWidgets-3.0.0 (needed only if you are building the BOINC Manager):
    5553
    5654[http://sourceforge.net/projects/wxwindows/files/3.0.0/wxWidgets-3.0.0.tar.bz2/]
     
    5856sqlite-3.8.3 (needed  only if you are building the BOINC Manager):
    5957
    60 [http://www.sqlite.org/]
    61 
    6258[http://www.sqlite.org/2014/sqlite-autoconf-3080300.tar.gz]
    6359
    6460curl-7.39.0:
    6561
    66 [http://curl.haxx.se]
    67 
    6862[http://curl.haxx.se/download/curl-7.39.0.tar.gz]
    6963
    7064c-ares-1.10.0 (used by curl):
    7165
    72 [http://daniel.haxx.se/projects/c-ares/]
    73 
    7466[http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz]
    7567
    7668openssl-1.0.1j:
    7769
    78 [http://www.openssl.org/]
    79 
    8070[http://www.openssl.org/source/openssl-1.0.1j.tar.gz]
    8171
    8272freetype-2.4.10 (needed  only if you are building the BOINC default screensaver or a project screensaver):
    8373
    84 [http://www.freetype.org/]
    85 
    8674[http://sourceforge.net/projects/freetype/files/freetype2/2.4.10/freetype-2.4.10.tar.bz2]
    8775
    8876ftgl-2.1.3~rc5 (needed  only if you are building the BOINC default screensaver or a project screensaver):
    8977
    90 [http://sourceforge.net/projects/ftgl]
    91 
    9278[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.)
    9579
    9680XCode will automatically check compatibility back to OS 10.5 if the following are defined during compilation:
     
    9983MAC_OS_X_VERSION_MIN_REQUIRED=1050
    10084}}}
    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 inside the BOINC_dev folder (omit any you don't need):
     85These 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):
    10690{{{
    10791c-ares-1.10.0
    10892curl-7.39.0
    10993openssl-1.0.1j
    110 wxWidgets-3.0
     94wxWidgets-3.0.0
    11195freetype-2.4.10
    11296ftgl-2.1.3~rc5
     
    11599 Important: do not change the names of any of these 6 directories.
    116100
    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:
    118104{{{
    119105cd {path}/BOINC_dev/
     
    122108 (You may change the name of the `boinc` directory to anything you wish.)
    123109
     110If the above method does not work try the following alternate method:
     111{{{
     112git clone git://boinc.berkeley.edu/boinc-v2.git boinc
     113}}}
     114
     115
    124116The 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].
    125117
    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:
    127119{{{
    128120cd {path}/BOINC_dev/boinc/mac_build/
     
    133125 '''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.
    134126
    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 path must 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:
    142134
    143135 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:
     
    166158          build all targets (i.e. target 'Build_All' -- this is the default)
    167159      -lib::
    168           build the five libraries: libboinc_api.a, libboinc_graphics_api.a, libboinc.a, libboinc_opencl.a, jpeglib.a
     160          build the six libraries: libboinc_api.a, libboinc_graphics_api.a, libboinc.a, libboinc_opencl.a, libboinc_zip.a, jpeglib.a
    169161      -client::
    170162          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.)
    171163
    172 Both -lib and -client may be specified to build seven targets (no BOINC Manager or screensaver.)
     164Both -lib and -client may be specified to build eight targets (no BOINC Manager or screensaver.)
    173165
    174166'''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.
     
    238230== Installing and setting up Xcode ==
    239231
    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.)
     232If 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.)