*** empty log message ***

svn path=/trunk/boinc/; revision=9420
This commit is contained in:
Charlie Fenton 2006-02-08 10:28:32 +00:00
parent b41e76090b
commit 91cf6bec8d
2 changed files with 66 additions and 17 deletions

View File

@ -1628,3 +1628,13 @@ David 7 Feb 2006
clientgui/
View*.cpp
Charlie 8 Feb 2006
-Mac: Enhance BOINC command-line build script with new options
to build only the 3 BOINC libraries (libboinc, gfxlibboinc and
api_libboinc), only 2 targets (boinc client and boinc_cmd), or
a combination of these two (5 targets). The default is still
Build_all, which also builds the BOINC Manager.
mac_build/
BuildMacBOINC.sh

View File

@ -2,7 +2,7 @@
##
# Script for building Macintosh BOINC Manager, Core Client and libraries
# by Charlie Fenton 10/12/05
# by Charlie Fenton 2/8/06
# with thanks to Reinhard Prix for his assistance
##
@ -11,32 +11,69 @@
## cd [path]/boinc/mac_build
##
## then invoke this script as follows:
## source BuildMacBOINC.sh [-dev] [-noclean]
## source BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-help]
## or
## chmod +x BuildMacBOINC.sh
## ./BuildMacBOINC.sh [-dev] [-noclean]
## ./BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client]
##
## optional arguments
## -dev build the development (debug) version.
## default is deployment (release) version.
## -dev build the development (debug) version (native architecture only).
## default is deployment (release) version (universal binaries: ppc and i386).
##
## -noclean don't do a "clean all" before building.
## -noclean don't do a "clean" of each target before building.
## default is to clean all first.
##
## The following arguments determine which targets to build
##
## -all build all targets (i.e. target "Build_All" -- this is the default)
##
## -lib build the three libraries: libboinc_api.a, libboinc_graphics_api.a, libboinc.a
##
## -client build two targets: boinc client and command-line utility boinc_cmd
## (also builds libboinc.a if needed, since boinc_cmd requires it.)
##
## Both -lib and -client may be specified to build five targets (no BOINC Manager)
##
if [ "$1" = "-dev" ] || [ "$2" = "-dev" ]; then
targets=""
style="Deployment"
doclean="clean"
buildall=0
buildlibs=0
buildclient=0
while [ $# -gt 0 ]; do
case "$1" in
-noclean ) doclean="" ; shift 1 ;;
-dev ) style="Development" ; shift 1 ;;
-all ) buildall=1 ; shift 1 ;;
-lib ) buildlibs=1 ; shift 1 ;;
-client ) buildclient=1 ; shift 1 ;;
* ) echo "usage:" ; echo "cd {path}/mac_build/" ; echo "source BuildMacBOINC.sh [-dev] [-noclean] [-all] [-lib] [-client] [-help]" ; return 1 ;;
esac
done
if [ "${style}" = "Development" ]; then
echo "Development (debug) build"
style="Development"
else
echo "Deployment (release) build"
style="Deployment"
fi
if [ "$1" = "-noclean" ] || [ "$2" = "-noclean" ]; then
doclean=""
else
echo "Clean all"
doclean="clean "
if [ "${doclean}" = "clean" ]; then
echo "Clean each target before building"
fi
if [ "${buildlibs}" = "1" ]; then
targets="$targets -target libboinc -target gfxlibboinc -target api_libboinc"
fi
if [ "${buildclient}" = "1" ]; then
targets="$targets -target BOINC_Client -target cmd_boinc"
fi
## "-all" overrides "-lib" and "-client" since it includes those targets
if [ "${buildall}" = "1" ] || [ "${targets}" = "" ]; then
targets="-target Build_All"
fi
version=`uname -r`;
@ -56,12 +93,14 @@ echo "Building BOINC under System 10.4"
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/mac_build.html"
exit 1
return 1
fi
else
echo "ERROR: Building BOINC requires System 10.4 or later. For details, see build instructions at "
echo "boinc/mac_build/HowToBuildBOINC_XCode.rtf or http://boinc.berkeley.edu/mac_build.html"
exit 1
return 1
fi
xcodebuild -project boinc.xcodeproj -target Build_All -configuration $style $doclean build
xcodebuild -project boinc.xcodeproj ${targets} -configuration ${style} ${doclean} build
return $?