Experimental: --osxtarget

This commit is contained in:
rdb 2009-10-28 20:00:46 +00:00
parent 6415d2cc0b
commit c2874f3c9b
2 changed files with 24 additions and 3 deletions

View File

@ -40,6 +40,7 @@ RTDIST_VERSION="dev"
RUNTIME=0
DISTRIBUTOR=""
VERSION=None
OSXTARGET=None
PkgListSet(MAYAVERSIONS + MAXVERSIONS + DXVERSIONS + [
"PYTHON","ZLIB","PNG","JPEG","TIFF","VRPN","TINYXML",
@ -78,6 +79,7 @@ def usage(problem):
print " --version (set the panda version number)"
print " --lzma (use lzma compression when building installer)"
print " --threads N (use the multithreaded build system. see manual)"
print " --osxtarget N (the OSX version number to build for (OSX only))"
print ""
for pkg in PkgListGet():
p = pkg.lower()
@ -96,7 +98,7 @@ def parseopts(args):
global INSTALLER,RTDIST,RUNTIME,GENMAN,DISTRIBUTOR
global VERSION,COMPRESSOR,THREADCOUNT
longopts = [
"help","distributor=","verbose","runtime",
"help","distributor=","verbose","runtime","osxtarget",
"optimize=","everything","nothing","installer","rtdist",
"version=","lzma","no-python","threads=","outputdir="]
anything = 0
@ -118,6 +120,7 @@ def parseopts(args):
elif (option=="--nothing"): PkgDisableAll()
elif (option=="--threads"): THREADCOUNT=int(value)
elif (option=="--outputdir"): SetOutputDir(value.strip())
elif (option=="--osxtarget"): OSXTARGET=value.strip()
elif (option=="--version"):
VERSION=value
if (len(VERSION.split(".")) != 3): raise "usage"
@ -138,6 +141,13 @@ def parseopts(args):
usage("Options --runtime and --rtdist cannot be specified at the same time!")
if (optimize=="" and (RTDIST or RUNTIME)): optimize = "4"
elif (optimize==""): optimize = "3"
if (osxtarget != None):
if (len(osxtarget) != 4 or not OSXTARGET.startswith("10.")):
usage("Invalid setting for OSXTARGET")
try:
OSXTARGET = "10.%d" % int(OSXTARGET[-1])
except:
usage("Invalid setting for OSXTARGET")
try:
SetOptimize(int(optimize))
assert GetOptimize() in [1, 2, 3, 4]
@ -159,6 +169,8 @@ if ("RPM_OPT_FLAGS" in os.environ):
CFLAGS = CFLAGS.strip()
os.environ["MAKEPANDA"] = os.path.abspath(sys.argv[0])
if (sys.platform == "darwin" and OSXTARGET != None):
os.environ["MACOSX_DEPLOYMENT_TARGET"] = OSXTARGET
########################################################################
##
@ -229,7 +241,7 @@ MakeBuildTree()
SdkLocateDirectX()
SdkLocateMaya()
SdkLocateMax()
SdkLocateMacOSX()
SdkLocateMacOSX(OSXTARGET)
SdkLocatePython()
SdkLocateVisualStudio()
SdkLocateMSPlatform()

View File

@ -1284,8 +1284,17 @@ def SdkLocateMSPlatform():
platsdk += "\\"
SDK["MSPLATFORM"] = platsdk
def SdkLocateMacOSX():
def SdkLocateMacOSX(osxtarget=None):
if (sys.platform != "darwin"): return
if (osxtarget != None):
if (os.path.exists("/Developer/SDKs/MacOSX%su.sdk" % osxtarget)):
SDK["MACOSX"] = "/Developer/SDKs/MacOSX%su.sdk" % osxtarget
elif (os.path.exists("/Developer/SDKs/MacOSX%s.sdk" % osxtarget)):
SDK["MACOSX"] = "/Developer/SDKs/MacOSX%s.sdk" % osxtarget
elif (os.path.exists("/Developer/SDKs/MacOSX%s.0.sdk" % osxtarget)):
SDK["MACOSX"] = "/Developer/SDKs/MacOSX%s.0.sdk" % osxtarget
else:
exit("Couldn't find any MacOSX SDK for OSX version %s!" % osxtarget)
if (os.path.exists("/Developer/SDKs/MacOSX10.6.sdk")):
SDK["MACOSX"] = "/Developer/SDKs/MacOSX10.6.sdk"
elif (os.path.exists("/Developer/SDKs/MacOSX10.5.sdk")):