Changes between Version 19 and Version 20 of MacBuild


Ignore:
Timestamp:
Dec 6, 2007, 3:31:09 AM (17 years ago)
Author:
charlief
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MacBuild

    v19 v20  
    2424All 64-bit BOINC software for Intel Macs must be built using GCC 4.0 and MacOS10.5 SDK. 
    2525
    26 '''The above requirements apply not only BOINC itself, but also the WxWidgets, JPEG and cURL libraries, as well as all project applications.''' The BOINC Client does not use WxWidgets or JPEG, so only the cURL library must be built for  the x86_64 architecture.
     26'''The above requirements apply not only BOINC itself, but also the !WxWidgets, JPEG and cURL libraries, as well as all project applications.''' The BOINC Client does not use !WxWidgets or JPEG, so only the cURL library must be built for  the x86_64 architecture.
    2727
    2828Be sure to follow the directions in this document to ensure that these requirements are met.
     
    3636== Building BOINC libraries to link with project applications ==
    3737
    38 BOINC version 6.1.0 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.  However, to ensure that science projects are compatible with older versions of BOINC running under OS 10.3.0 through 10.3.8, the PowerPC builds of the libraries are still built using GCC 3.3.
     38BOINC version 6.1.0 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.  However, to ensure that science projects are compatible with older versions of BOINC running under OS 10.3.0 through 10.3.8, the PowerPC builds of the libraries and science applications are still built using GCC 3.3.
    3939
    4040Beware of using the wrong compiler! Apple's release notes for GCC 4.0 say:
     
    4646    Do not link C++ modules compiled with one of these compilers against modules compiled with the other. Even if the modules appear to link correctly, C++ ABI differences may still cause problems that will not manifest themselves until run time.
    4747
    48 If you are building a project application to be run by BOINC, you only need to build the BOINC libraries `libboinc_api.a`, `libboinc.a`, and (if you want graphics) `libboinc_graphics_api.` or `libboinc_graphics2.a`.  (`libboinc_graphics2.a` is used for version 6 graphics, which is the method recommended for all applications.) There are two ways to do this:
    49 
    50   1. Use the BOINC autoconf / automake scripts to build these libraries and the jpeg and curl libraries on which they depend. You must do all of this twice: once on a PowerPC Mac running OS 10.3.x (do NOT use OS 10.4), and once on an Intel Mac running OS 10.4.x.
     48If you are building a project application to be run by BOINC, you only need to build the BOINC libraries `libboinc_api.a`, `libboinc.a`, and (if you want graphics) either `libboinc_graphics_api.` or `libboinc_graphics2.a`.  (`libboinc_graphics2.a` is used for version 6 graphics, which is the method recommended for all applications.) There are two ways to do this:
     49
     50  1. Use the BOINC autoconf / automake scripts to build these libraries and the jpeg and curl libraries on which they depend. You must do all of this twice: once on a PowerPC Mac running OS 10.3.x (do '''not''' use OS 10.4), and once on an Intel Mac running OS 10.4.x.
    5151
    5252 (If you wish, you can combine separate Intel and PowerPC builds in a single Universal Binary mach-O file using the command-line utility lipo. For details on lipo, type 'man lipo' in Terminal; it is available on all Macs running OS10.4.x.)
     
    6060After building the libraries as Universal Binaries using the second method, you may still want to build your actual application separately on the two architectures: on a PowerPC Mac running OS 10.3.x (do NOT use OS 10.4), and also on an Intel Mac running OS 10.4.x.  To build for the x86_64 architecture, use a Mac running either OS 10.4 or OS 10.5 and specify the -arch x86_64 option to the compiler and linker.
    6161
    62 If you prefer, you can cross-compile on one Mac running OS 10.4.x or OS 10.5.x.  Look at the scripts buildcurl.sh and buildjpeg.sh for examples of environment settings which allow you to do this.
     62If you prefer, you can cross-compile on one Mac running OS 10.4.x or OS 10.5.x.  See [wiki:MacBuild/#Buildingprojectapplications Building project applications] below.
    6363
    6464== Building BOINC Manager with embedded Core Client plus libraries libboinc.a and libboinc_graphics_api.a ==