Update build script for OS 10.6 and XCode 3.2

svn path=/trunk/boinc/; revision=20551
This commit is contained in:
Charlie Fenton 2010-02-12 00:53:05 +00:00
parent d78b5fb79a
commit 53eb7c0052
2 changed files with 30 additions and 35 deletions

View File

@ -1085,14 +1085,14 @@ Rom 10 Feb 2010
taskbarex.cpp, .h taskbarex.cpp, .h
Rom 10 Feb 2010 Rom 10 Feb 2010
- MGR: Re-enable the test notification mechinism so - MGR: Re-enable the test notification mechanism so
that it is compatible with Linux. that it is compatible with Linux.
clientgui/ clientgui/
BOINCTaskBar.cpp, .h BOINCTaskBar.cpp, .h
Rom 10 Feb 2010 Rom 10 Feb 2010
- MGR: Re-enable the context menu support mechinism so - MGR: Re-enable the context menu support mechanism so
that it is compatible with Linux. that it is compatible with Linux.
clientgui/ clientgui/
@ -1156,3 +1156,10 @@ David 11 Feb 2009
client_state.cpp client_state.cpp
html/inc/ html/inc/
prefs.inc prefs.inc
Charlie 11 Feb 2010
- Mac: Update build script for OS 10.6 and XCode 3.2 (thanks to Jack
Shultz for pointing out this was needed.)
mac_build/
BuildMacBOINC.sh

View File

@ -2,7 +2,7 @@
# This file is part of BOINC. # This file is part of BOINC.
# http://boinc.berkeley.edu # http://boinc.berkeley.edu
# Copyright (C) 2008 University of California # Copyright (C) 2010 University of California
# #
# BOINC is free software; you can redistribute it and/or modify it # BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License # under the terms of the GNU Lesser General Public License
@ -22,6 +22,8 @@
# Script for building Macintosh BOINC Manager, Core Client and libraries # Script for building Macintosh BOINC Manager, Core Client and libraries
# by Charlie Fenton 3/27/08 # by Charlie Fenton 3/27/08
# with thanks to Reinhard Prix for his assistance # with thanks to Reinhard Prix for his assistance
#
# Updated for OS 10.6 and XCode 3.2 on 2/11/10
## ##
## Usage: ## Usage:
@ -29,10 +31,10 @@
## cd [path]/boinc/mac_build ## cd [path]/boinc/mac_build
## ##
## then invoke this script as follows: ## then invoke this script as follows:
## source BuildMacBOINC.sh [-dev] [-noclean] [-no64bit] [-all] [-lib] [-client] [-help] ## source BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-help]
## or ## or
## chmod +x BuildMacBOINC.sh ## chmod +x BuildMacBOINC.sh
## ./BuildMacBOINC.sh [-dev] [-noclean] [-no64bit] [-all] [-lib] [-client] [-help] ## ./BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-help]
## ##
## optional arguments ## optional arguments
## -dev build the development (debug) version (native architecture only). ## -dev build the development (debug) version (native architecture only).
@ -41,8 +43,6 @@
## -noclean don't do a "clean" of each target before building. ## -noclean don't do a "clean" of each target before building.
## default is to clean all first. ## default is to clean all first.
## ##
## -no64bit build 32-bit binaries only, no x86_64 architecture
##
## The following arguments determine which targets to build ## The following arguments determine which targets to build
## ##
## -all build all targets (i.e. target "Build_All" -- this is the default) ## -all build all targets (i.e. target "Build_All" -- this is the default)
@ -61,7 +61,6 @@ doclean="clean"
buildall=0 buildall=0
buildlibs=0 buildlibs=0
buildclient=0 buildclient=0
no64bit=0
style="Deployment" style="Deployment"
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
@ -71,8 +70,7 @@ while [ $# -gt 0 ]; do
-all ) buildall=1 ; shift 1 ;; -all ) buildall=1 ; shift 1 ;;
-lib ) buildlibs=1 ; shift 1 ;; -lib ) buildlibs=1 ; shift 1 ;;
-client ) buildclient=1 ; shift 1 ;; -client ) buildclient=1 ; shift 1 ;;
-no64bit ) no64bit=1 ; shift 1 ;; * ) echo "usage:" ; echo "cd {path}/mac_build/" ; echo "source BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-help]" ; return 1 ;;
* ) echo "usage:" ; echo "cd {path}/mac_build/" ; echo "source BuildMacBOINC.sh [-dev] [-noclean] [-no64bit] [-all] [-lib] [-client] [-help]" ; return 1 ;;
esac esac
done done
@ -101,25 +99,14 @@ major=`echo $version | sed 's/\([0-9]*\)[.].*/\1/' `;
# echo "major = $major" # echo "major = $major"
# echo "minor = $minor" # echo "minor = $minor"
# #
# Darwin version 10.x.y corresponds to OS 10.6.x
# Darwin version 9.x.y corresponds to OS 10.5.x # Darwin version 9.x.y corresponds to OS 10.5.x
# Darwin version 8.x.y corresponds to OS 10.4.x # Darwin version 8.x.y corresponds to OS 10.4.x
# Darwin version 7.x.y corresponds to OS 10.3.x # Darwin version 7.x.y corresponds to OS 10.3.x
# Darwin version 6.x corresponds to OS 10.2.x # Darwin version 6.x corresponds to OS 10.2.x
if [ "$major" -lt "8" ]; then if [ "$major" -lt "10" ]; then
echo "ERROR: Building BOINC requires System 10.4 or later. For details, see build instructions at" echo "ERROR: Building BOINC requires System 10.6 or later. For details, see build instructions at"
echo "boinc/mac_build/HowToBuildBOINC_XCode.rtf or http://boinc.berkeley.edu/trac/wiki/MacBuild"
return 1
fi
if [ "$major" -gt "8" ]; then
echo "Building BOINC under System 10.5 or later"
else
echo "Building BOINC under System 10.4"
fi
if [ ! -d /Developer/SDKs/MacOSX10.3.9.sdk/ ]; then
echo "ERROR: System 10.3.9 SDK is missing. For details, see build instructions at"
echo "boinc/mac_build/HowToBuildBOINC_XCode.rtf or http://boinc.berkeley.edu/trac/wiki/MacBuild" echo "boinc/mac_build/HowToBuildBOINC_XCode.rtf or http://boinc.berkeley.edu/trac/wiki/MacBuild"
return 1 return 1
fi fi
@ -130,24 +117,25 @@ if [ ! -d /Developer/SDKs/MacOSX10.4u.sdk/ ]; then
return 1 return 1
fi fi
if [ ! -d /Developer/SDKs/MacOSX10.5.sdk/ ]; then
echo "ERROR: System 10.5 SDK is missing. For details, see build instructions at"
echo "boinc/mac_build/HowToBuildBOINC_XCode.rtf or http://boinc.berkeley.edu/trac/wiki/MacBuild"
return 1
fi
if [ "${style}" = "Development" ]; then if [ "${style}" = "Development" ]; then
echo "Development (debug) build" echo "Development (debug) build"
elif [ "${no64bit}" = "1" ]; then
style="Deployment-no64"
echo "Deployment (release) build for architectures ppc, i386"
elif [ ! -d /Developer/SDKs/MacOSX10.5.sdk/ ]; then
echo "************************************************************************"
echo "** **"
echo "** WARNING: System 10.5 SDK not found. Building 32-bit binaries only **"
echo "** **"
echo "************************************************************************"
style="Deployment-no64"
echo "Deployment (release) build for architectures: i386, ppc"
else else
style="Deployment" style="Deployment"
echo "Deployment (release) build for architectures: i386, ppc, x86_64" echo "Deployment (release) build for architectures: i386, ppc, x86_64"
fi fi
if [ ! -d /Developer/SDKs/MacOSX10.6.sdk/ ]; then
echo "ERROR: System 10.6 SDK is missing. For details, see build instructions at"
echo "boinc/mac_build/HowToBuildBOINC_XCode.rtf or http://boinc.berkeley.edu/trac/wiki/MacBuild"
return 1
fi
echo "" echo ""
export DEVELOPER_SDK_DIR="/Developer/SDKs" export DEVELOPER_SDK_DIR="/Developer/SDKs"