From 91e8fed743cdfe77dcb4895921e66b5aa5480d43 Mon Sep 17 00:00:00 2001 From: "Tony J. White =" Date: Fri, 23 Oct 2009 18:58:24 +0000 Subject: [PATCH] * Adapted the universal build script to work with the newer Makefile since CFLAGS are sent to the linker now in addition to LDFLAGS * Remove Mac OS X 10.2 support from the universal build script. --- make-macosx-ub.sh | 104 ++++++++++------------------------------------ 1 file changed, 23 insertions(+), 81 deletions(-) diff --git a/make-macosx-ub.sh b/make-macosx-ub.sh index 79b86de6..0066682c 100755 --- a/make-macosx-ub.sh +++ b/make-macosx-ub.sh @@ -13,7 +13,7 @@ BIN_OBJ=" build/release-darwin-i386/ioquake3-smp.i386 " BIN_DEDOBJ=" - build/release-darwin-ub/ioq3ded.ppc + build/release-darwin-ppc/ioq3ded.ppc build/release-darwin-i386/ioq3ded.i386 " BASE_OBJ=" @@ -43,91 +43,47 @@ Q3_VERSION=`grep '^VERSION=' Makefile | sed -e 's/.*=\(.*\)/\1/'` # We only care if we're >= 10.4, not if we're specifically Tiger. # "8" is the Darwin major kernel version. -#TIGERHOST=`uname -r | grep ^8.` TIGERHOST=`uname -r |perl -w -p -e 's/\A(\d+)\..*\Z/$1/; $_ = (($_ >= 8) ? "1" : "0");'` # we want to use the oldest available SDK for max compatiblity -unset PPC_CLIENT_SDK -PPC_CLIENT_CC=gcc -unset PPC_CLIENT_CFLAGS -unset PPC_CLIENT_LDFLAGS -unset PPC_SERVER_SDK -unset PPC_SERVER_CFLAGS -unset PPC_SERVER_LDFLAGS +unset PPC_SDK +unset PPC_CFLAGS +unset PPC_LDFLAGS unset X86_SDK unset X86_CFLAGS unset X86_LDFLAGS if [ -d /Developer/SDKs/MacOSX10.5.sdk ]; then - PPC_CLIENT_SDK=/Developer/SDKs/MacOSX10.5.sdk - PPC_CLIENT_CC=gcc-4.0 - PPC_CLIENT_CFLAGS="-arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk \ + PPC_SDK=/Developer/SDKs/MacOSX10.5.sdk + PPC_CFLAGS="-arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk \ -DMAC_OS_X_VERSION_MIN_REQUIRED=1050" - PPC_CLIENT_LDFLAGS="-arch ppc \ - -isysroot /Developer/SDKs/MacOSX10.5.sdk \ - -mmacosx-version-min=10.5" - PPC_SERVER_SDK=/Developer/SDKs/MacOSX10.5.sdk - PPC_SERVER_CFLAGS=$PPC_CLIENT_CFLAGS - PPC_SERVER_LDFLAGS=$PPC_CLIENT_LDFLAGS + PPC_LDFLAGS=" -mmacosx-version-min=10.5" X86_SDK=/Developer/SDKs/MacOSX10.5.sdk X86_CFLAGS="-arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk \ -DMAC_OS_X_VERSION_MIN_REQUIRED=1050" - X86_LDFLAGS="-arch i386 \ - -isysroot /Developer/SDKs/MacOSX10.5.sdk \ - -mmacosx-version-min=10.5" - X86_ENV="CFLAGS=$CFLAGS LDFLAGS=$LDFLAGS" + X86_LDFLAGS=" -mmacosx-version-min=10.5" fi if [ -d /Developer/SDKs/MacOSX10.4u.sdk ]; then - PPC_CLIENT_SDK=/Developer/SDKs/MacOSX10.4u.sdk - PPC_CLIENT_CC=gcc-4.0 - PPC_CLIENT_CFLAGS="-arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ + PPC_SDK=/Developer/SDKs/MacOSX10.4u.sdk + PPC_CFLAGS="-arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ -DMAC_OS_X_VERSION_MIN_REQUIRED=1040" - PPC_CLIENT_LDFLAGS="-arch ppc \ - -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ - -mmacosx-version-min=10.4" - PPC_SERVER_SDK=/Developer/SDKs/MacOSX10.4u.sdk - PPC_SERVER_CFLAGS=$PPC_CLIENT_CFLAGS - PPC_SERVER_LDFLAGS=$PPC_CLIENT_LDFLAGS + PPC_LDFLAGS=" -mmacosx-version-min=10.4" X86_SDK=/Developer/SDKs/MacOSX10.4u.sdk X86_CFLAGS="-arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ -DMAC_OS_X_VERSION_MIN_REQUIRED=1040" - X86_LDFLAGS="-arch i386 \ - -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ - -mmacosx-version-min=10.4" - X86_ENV="CFLAGS=$CFLAGS LDFLAGS=$LDFLAGS" + X86_LDFLAGS=" -mmacosx-version-min=10.4" fi if [ -d /Developer/SDKs/MacOSX10.3.9.sdk ] && [ $TIGERHOST ]; then - PPC_CLIENT_SDK=/Developer/SDKs/MacOSX10.3.9.sdk - PPC_CLIENT_CC=gcc-4.0 - PPC_CLIENT_CFLAGS="-arch ppc -isysroot /Developer/SDKs/MacOSX10.3.9.sdk \ + PPC_SDK=/Developer/SDKs/MacOSX10.3.9.sdk + PPC_CFLAGS="-arch ppc -isysroot /Developer/SDKs/MacOSX10.3.9.sdk \ -DMAC_OS_X_VERSION_MIN_REQUIRED=1030" - PPC_CLIENT_LDFLAGS="-arch ppc \ - -isysroot /Developer/SDKs/MacOSX10.3.9.sdk \ - -mmacosx-version-min=10.3" - PPC_SERVER_SDK=/Developer/SDKs/MacOSX10.3.9.sdk - PPC_SERVER_CFLAGS=$PPC_CLIENT_CFLAGS - PPC_SERVER_LDFLAGS=$PPC_CLIENT_LDFLAGS + PPC_LDFLAGS=" -mmacosx-version-min=10.3" fi -if [ -d /Developer/SDKs/MacOSX10.2.8.sdk ] && [ -x /usr/bin/gcc-3.3 ] && [ $TIGERHOST ]; then - PPC_CLIENT_SDK=/Developer/SDKs/MacOSX10.2.8.sdk - PPC_CLIENT_CC=gcc-3.3 - PPC_CLIENT_CFLAGS="-arch ppc \ - -nostdinc \ - -F/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks \ - -I/Developer/SDKs/MacOSX10.2.8.sdk/usr/include/gcc/darwin/3.3 \ - -isystem /Developer/SDKs/MacOSX10.2.8.sdk/usr/include \ - -DMAC_OS_X_VERSION_MIN_REQUIRED=1020" - PPC_CLIENT_LDFLAGS="-arch ppc \ - -L/Developer/SDKs/MacOSX10.2.8.sdk/usr/lib/gcc/darwin/3.3 \ - -F/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks \ - -Wl,-syslibroot,/Developer/SDKs/MacOSX10.2.8.sdk,-m" -fi - -if [ -z $PPC_CLIENT_SDK ] || [ -z $PPC_SERVER_SDK ] || [ -z $X86_SDK ]; then +if [ -z $PPC_SDK ] || [ -z $X86_SDK ]; then echo "\ ERROR: This script is for building a Universal Binary. You cannot build for a different architecture unless you have the proper Mac OS X SDKs @@ -136,17 +92,15 @@ ERROR: This script is for building a Universal Binary. You cannot build exit 1 fi -echo "Building PPC Dedicated Server against \"$PPC_SERVER_SDK\"" -echo "Building PPC Client against \"$PPC_CLIENT_SDK\"" +echo "Building PPC Client/Dedicated Server against \"$PPC_SDK\"" echo "Building X86 Client/Dedicated Server against \"$X86_SDK\"" -if [ "$PPC_CLIENT_SDK" != "/Developer/SDKs/MacOSX10.2.8.sdk" ] || \ - [ "$PPC_SERVER_SDK" != "/Developer/SDKs/MacOSX10.3.9.sdk" ] || \ +if [ "$PPC_SDK" != "/Developer/SDKs/MacOSX10.3.9.sdk" ] || \ [ "$X86_SDK" != "/Developer/SDKs/MacOSX10.4u.sdk" ]; then echo "\ WARNING: in order to build a binary with maximum compatibility you must build on Mac OS X 10.4 using Xcode 2.3 or 2.5 and have the - MacOSX10.2.8, MacOSX10.3.9, and MacOSX10.4u SDKs installed - from the Xcode install disk Packages folder." + MacOSX10.3.9, and MacOSX10.4u SDKs installed from the Xcode + install disk Packages folder." fi sleep 3 @@ -157,22 +111,11 @@ fi # For parallel make on multicore boxes... NCPU=`sysctl -n hw.ncpu` -# ppc dedicated server -echo "Building Dedicated Server using $PPC_SERVER_SDK" -sleep 2 -if [ -d build/release-darwin-ppc ]; then +# ppc client and server +if [ -d build/release-release-ppc ]; then rm -r build/release-darwin-ppc fi -(ARCH=ppc BUILD_CLIENT_SMP=0 BUILD_CLIENT=0 BUILD_GAME_VM=0 BUILD_GAME_SO=0 \ - CFLAGS=$PPC_SERVER_CFLAGS LDFLAGS=$PPC_SERVER_LDFLAGS make -j$NCPU) || exit 1; -cp build/release-darwin-ppc/ioq3ded.ppc $DESTDIR - -# ppc client -if [ -d build/release-darwin-ppc ]; then - rm -r build/release-darwin-ppc -fi -(ARCH=ppc USE_OPENAL_DLOPEN=1 BUILD_SERVER=0 CC=$PPC_CLIENT_CC \ - CFLAGS=$PPC_CLIENT_CFLAGS LDFLAGS=$PPC_CLIENT_LDFLAGS make -j$NCPU) || exit 1; +(ARCH=ppc CFLAGS=$PPC_CFLAGS LDFLAGS=$PPC_LDFLAGS make -j$NCPU) || exit 1; # intel client and server if [ -d build/release-darwin-i386 ]; then @@ -231,7 +174,6 @@ echo " lipo -create -o $DESTDIR/$APPBUNDLE/Contents/MacOS/$BINARY $BIN_OBJ lipo -create -o $DESTDIR/$APPBUNDLE/Contents/MacOS/$DEDBIN $BIN_DEDOBJ -rm $DESTDIR/ioq3ded.ppc cp $BASE_OBJ $DESTDIR/$APPBUNDLE/Contents/MacOS/$BASEDIR/ cp $MPACK_OBJ $DESTDIR/$APPBUNDLE/Contents/MacOS/$MPACKDIR/ cp code/libs/macosx/*.dylib $DESTDIR/$APPBUNDLE/Contents/MacOS/