mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2025-03-26 04:10:50 +00:00
Updating mac build environment from ioquake and initial Reaction adaptation
This commit is contained in:
parent
695e9aee53
commit
275adbb27a
1 changed files with 36 additions and 94 deletions
|
@ -1,20 +1,20 @@
|
|||
#!/bin/sh
|
||||
APPBUNDLE=ioquake3.app
|
||||
BINARY=ioquake3.ub
|
||||
DEDBIN=ioq3ded.ub
|
||||
APPBUNDLE=Reaction.app
|
||||
BINARY=Reaction.ub
|
||||
DEDBIN=Reactionded.ub
|
||||
PKGINFO=APPLIOQ3
|
||||
ICNS=misc/quake3.icns
|
||||
DESTDIR=build/release-darwin-ub
|
||||
BASEDIR=baseq3
|
||||
BASEDIR=Boomstick
|
||||
MPACKDIR=missionpack
|
||||
|
||||
BIN_OBJ="
|
||||
build/release-darwin-ppc/ioquake3-smp.ppc
|
||||
build/release-darwin-i386/ioquake3-smp.i386
|
||||
build/release-darwin-ppc/Reaction-smp.ppc
|
||||
build/release-darwin-i386/Reaction-smp.i386
|
||||
"
|
||||
BIN_DEDOBJ="
|
||||
build/release-darwin-ub/ioq3ded.ppc
|
||||
build/release-darwin-i386/ioq3ded.i386
|
||||
build/release-darwin-ppc/Reactionded.ppc
|
||||
build/release-darwin-i386/Reactionded.i386
|
||||
"
|
||||
BASE_OBJ="
|
||||
build/release-darwin-ppc/$BASEDIR/cgameppc.dylib
|
||||
|
@ -35,7 +35,7 @@ MPACK_OBJ="
|
|||
|
||||
cd `dirname $0`
|
||||
if [ ! -f Makefile ]; then
|
||||
echo "This script must be run from the ioquake3 build directory"
|
||||
echo "This script must be run from the Reaction build directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -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
|
||||
|
@ -190,7 +133,7 @@ fi
|
|||
if [ ! -d $DESTDIR/$APPBUNDLE/Contents/Resources ]; then
|
||||
mkdir -p $DESTDIR/$APPBUNDLE/Contents/Resources
|
||||
fi
|
||||
cp $ICNS $DESTDIR/$APPBUNDLE/Contents/Resources/ioquake3.icns || exit 1;
|
||||
cp $ICNS $DESTDIR/$APPBUNDLE/Contents/Resources/Reaction.icns || exit 1;
|
||||
echo $PKGINFO > $DESTDIR/$APPBUNDLE/Contents/PkgInfo
|
||||
echo "
|
||||
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
|
@ -204,15 +147,15 @@ echo "
|
|||
<key>CFBundleExecutable</key>
|
||||
<string>$BINARY</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>ioquake3 $Q3_VERSION</string>
|
||||
<string>Reaction 1.0</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>ioquake3.icns</string>
|
||||
<string>Reaction.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.ioquake.ioquake3</string>
|
||||
<string>org.ioquake.Reaction</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>ioquake3</string>
|
||||
<string>Reaction</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
@ -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/
|
||||
|
|
Loading…
Reference in a new issue