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

View File

@ -1284,8 +1284,17 @@ def SdkLocateMSPlatform():
platsdk += "\\" platsdk += "\\"
SDK["MSPLATFORM"] = platsdk SDK["MSPLATFORM"] = platsdk
def SdkLocateMacOSX(): def SdkLocateMacOSX(osxtarget=None):
if (sys.platform != "darwin"): return 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")): if (os.path.exists("/Developer/SDKs/MacOSX10.6.sdk")):
SDK["MACOSX"] = "/Developer/SDKs/MacOSX10.6.sdk" SDK["MACOSX"] = "/Developer/SDKs/MacOSX10.6.sdk"
elif (os.path.exists("/Developer/SDKs/MacOSX10.5.sdk")): elif (os.path.exists("/Developer/SDKs/MacOSX10.5.sdk")):