From f43cd508e32660f1aa6b91f48388ef58c5c7ad89 Mon Sep 17 00:00:00 2001 From: Charlie Fenton Date: Fri, 27 Jul 2012 11:43:54 +0000 Subject: [PATCH] Mac: create build scripts for FreeType and FTGL svn path=/trunk/boinc/; revision=25898 --- checkin_notes | 7 +++ mac_build/buildFTGL.sh | 110 ++++++++++++++++++++++++++++++++++++ mac_build/buildfreetype.sh | 111 +++++++++++++++++++++++++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 mac_build/buildFTGL.sh create mode 100644 mac_build/buildfreetype.sh diff --git a/checkin_notes b/checkin_notes index 13e97d2e9b..985a9f5526 100644 --- a/checkin_notes +++ b/checkin_notes @@ -5078,3 +5078,10 @@ Charlie 26 July 2012 mac_build/ setupForBOINC.sh + +Charlie 27 July 2012 + - Mac: create build scripts for FreeType and FTGL. + + mac_build/ + buildfreetype.sh + buildFTGL.sh diff --git a/mac_build/buildFTGL.sh b/mac_build/buildFTGL.sh new file mode 100644 index 0000000000..8015604a83 --- /dev/null +++ b/mac_build/buildFTGL.sh @@ -0,0 +1,110 @@ +#!/bin/sh + +# This file is part of BOINC. +# http://boinc.berkeley.edu +# Copyright (C) 2008 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . +# +# +# Script to build Macintosh 32-bit Intel library of ftgl-2.1.3~rc5 for +# use in building BOINC graphics. The resulting library is at: +# [path]/ftgl-2.1.3~rc5/src/.libs/libftgl.a +# +# by Charlie Fenton 7/27/12 +# +## This script requires OS 10.6 or later +# +## If you drag-install Xcode 4.3 or later, you must have opened Xcode +## and clicked the Install button on the dialog which appears to +## complete the Xcode installation before running this script. +# +## In Terminal, CD to the ftgl-2.1.3~rc5 directory. +## cd [path]/ftgl-2.1.3~rc5/ +## then run this script: +## source [path]/buildfreetype.sh [ -clean ] +## +## the -clean argument will force a full rebuild. +## + +if [ "$1" != "-clean" ]; then + if [ -f .libs/libftgl.a ]; then + echo "ftgl-2.1.3~rc5 already built" + return 0 + fi +fi + +GCCPATH=`xcrun -find gcc` +if [ $? -ne 0 ]; then + echo "ERROR: can't find gcc compiler" + return 1 +fi + +GPPPATH=`xcrun -find g++` +if [ $? -ne 0 ]; then + echo "ERROR: can't find g++ compiler" + return 1 +fi + +MAKEPATH=`xcrun -find make` +if [ $? -ne 0 ]; then + echo "ERROR: can't find make tool" + return 1 +fi + +TOOLSPATH1=${MAKEPATH%/make} + +ARPATH=`xcrun -find ar` +if [ $? -ne 0 ]; then + echo "ERROR: can't find ar tool" + return 1 +fi + +TOOLSPATH2=${ARPATH%/ar} + +export PATH="${TOOLSPATH1}":"${TOOLSPATH2}":$PATH + +SDKPATH=`xcodebuild -version -sdk macosx Path` + +if [ $? -ne 0 ]; then return 1; fi + +export CC="${GCCPATH}";export CXX="${GPPPATH}" +export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,i386" +export CPPFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1040 -DMAC_OS_X_VERSION_MIN_REQUIRED=1040" +export CFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1040 -DMAC_OS_X_VERSION_MIN_REQUIRED=1040" +export SDKROOT="${SDKPATH}" + +./configure --enable-shared=NO --disable-freetypetest --host=i386 +if [ $? -ne 0 ]; then return 1; fi + +if [ "$1" = "-clean" ]; then + make clean +fi + +cd src +make +if [ $? -ne 0 ]; then + cd .. + return 1; +fi + +cd .. + +export CC="";export CXX="" +export LDFLAGS="" +export CPPFLAGS="" +export CFLAGS="" +export SDKROOT="" + +return 0 diff --git a/mac_build/buildfreetype.sh b/mac_build/buildfreetype.sh new file mode 100644 index 0000000000..a02f59549f --- /dev/null +++ b/mac_build/buildfreetype.sh @@ -0,0 +1,111 @@ +#!/bin/sh + +# This file is part of BOINC. +# http://boinc.berkeley.edu +# Copyright (C) 2008 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . +# +# +# Script to build Macintosh 32-bit Intel library of FreeType-2.4.10 for +# use in building BOINC graphics. The resulting library is at: +# [path]/freetype-2.4.10/objs/.libs/libfreetype.a +# +# by Charlie Fenton 7/27/12 +# +## This script requires OS 10.6 or later +# +## If you drag-install Xcode 4.3 or later, you must have opened Xcode +## and clicked the Install button on the dialog which appears to +## complete the Xcode installation before running this script. +# +## In Terminal, CD to the freetype-2.4.10 directory. +## cd [path]/freetype-2.4.10/ +## then run this script: +## source [path]/buildfreetype.sh [ -clean ] +## +## the -clean argument will force a full rebuild. +## + +if [ "$1" != "-clean" ]; then + if [ -f objs/.libs/libfreetype.a ]; then + echo "freetype-2.4.10 already built" + return 0 + fi +fi + +GCCPATH=`xcrun -find gcc` +if [ $? -ne 0 ]; then + echo "ERROR: can't find gcc compiler" + return 1 +fi + +GPPPATH=`xcrun -find g++` +if [ $? -ne 0 ]; then + echo "ERROR: can't find g++ compiler" + return 1 +fi + +MAKEPATH=`xcrun -find make` +if [ $? -ne 0 ]; then + echo "ERROR: can't find make tool" + return 1 +fi + +TOOLSPATH1=${MAKEPATH%/make} + +ARPATH=`xcrun -find ar` +if [ $? -ne 0 ]; then + echo "ERROR: can't find ar tool" + return 1 +fi + +TOOLSPATH2=${ARPATH%/ar} + +export PATH="${TOOLSPATH1}":"${TOOLSPATH2}":$PATH + +SDKPATH=`xcodebuild -version -sdk macosx Path` + +cp -p objs/README README-objs +rm -fR objs/*.* +rm -fR objs/* +cp -p README-objs objs/README +rm -f README-objs + +if [ $? -ne 0 ]; then return 1; fi + +export CC="${GCCPATH}";export CXX="${GPPPATH}" +export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,i386" +export CPPFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1040 -DMAC_OS_X_VERSION_MIN_REQUIRED=1040" +export CFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1040 -DMAC_OS_X_VERSION_MIN_REQUIRED=1040" +export SDKROOT="${SDKPATH}" +export MACOSX_DEPLOYMENT_TARGET=10.4 + +./configure --enable-shared=PKGS --host=i386 +if [ $? -ne 0 ]; then return 1; fi + +if [ "$1" = "-clean" ]; then + make clean +fi + +make +if [ $? -ne 0 ]; then return 1; fi + +export CC="";export CXX="" +export LDFLAGS="" +export CPPFLAGS="" +export CFLAGS="" +export SDKROOT="" + +return 0