Smarter about choosing right python version

This commit is contained in:
Josh Yelon 2007-11-15 10:31:27 +00:00
parent a64d687c52
commit c426642dae
2 changed files with 44 additions and 38 deletions

View File

@ -480,6 +480,37 @@ def CreateFile(file):
if (os.path.exists(file)==0): if (os.path.exists(file)==0):
WriteFile(file,"") WriteFile(file,"")
########################################################################
#
# Create the panda build tree.
#
########################################################################
def MakeBuildTree():
MakeDirectory("built")
MakeDirectory("built/bin")
MakeDirectory("built/lib")
MakeDirectory("built/etc")
MakeDirectory("built/plugins")
MakeDirectory("built/modelcache")
MakeDirectory("built/include")
MakeDirectory("built/include/parser-inc")
MakeDirectory("built/include/parser-inc/openssl")
MakeDirectory("built/include/parser-inc/netinet")
MakeDirectory("built/include/parser-inc/Cg")
MakeDirectory("built/include/openssl")
MakeDirectory("built/tmp")
MakeDirectory("built/models")
MakeDirectory("built/models/audio")
MakeDirectory("built/models/audio/sfx")
MakeDirectory("built/models/icons")
MakeDirectory("built/models/maps")
MakeDirectory("built/models/misc")
MakeDirectory("built/models/gui")
MakeDirectory("built/direct")
MakeDirectory("built/pandac")
MakeDirectory("built/pandac/input")
######################################################################## ########################################################################
# #
# Make sure that you are in the root of the panda tree. # Make sure that you are in the root of the panda tree.
@ -645,12 +676,17 @@ def SdkLocatePython():
if (PkgSkip("PYTHON")==0): if (PkgSkip("PYTHON")==0):
if (sys.platform == "win32"): if (sys.platform == "win32"):
SDK["PYTHON"]="thirdparty/win-python" SDK["PYTHON"]="thirdparty/win-python"
SDK["PYTHONVERSION"]="python2.4"
else: else:
if (os.path.isdir("/usr/include/python2.5")): SDK["PYTHON"] = "/usr/include/python2.5" oscmd("python -V > built/tmp/pythonversion 2>&1")
elif (os.path.isdir("/usr/include/python2.4")): SDK["PYTHON"] = "/usr/include/python2.4" pv=ReadFile("built/tmp/pythonversion")
elif (os.path.isdir("/usr/include/python2.3")): SDK["PYTHON"] = "/usr/include/python2.3" if (pv.startswith("Python ")==0):
elif (os.path.isdir("/usr/include/python2.2")): SDK["PYTHON"] = "/usr/include/python2.2" exit("python -V did not produce the expected output")
else: exit("Cannot find the python SDK") pv = pv[7:10]
if (os.path.isdir("/usr/include/python"+pv)==0):
exit("Python reports version "+pv+" but /usr/include/python"+pv+" is not installed.")
SDK["PYTHON"]="/usr/include/python"+pv
SDK["PYTHONVERSION"]="python"+pv
def SdkLocateVisualStudio(): def SdkLocateVisualStudio():
if (sys.platform != "win32"): return if (sys.platform != "win32"): return

View File

@ -145,6 +145,8 @@ parseopts(sys.argv[1:])
## ##
######################################################################## ########################################################################
MakeBuildTree()
SdkLocateDirectX() SdkLocateDirectX()
SdkLocateMaya() SdkLocateMaya()
SdkLocateMax() SdkLocateMax()
@ -721,36 +723,6 @@ CxxIgnoreHeader["vector"] = 1
CxxIgnoreHeader["set"] = 1 CxxIgnoreHeader["set"] = 1
CxxIgnoreHeader["algorithm"] = 1 CxxIgnoreHeader["algorithm"] = 1
##########################################################################################
#
# Create the directory tree
#
##########################################################################################
MakeDirectory("built")
MakeDirectory("built/bin")
MakeDirectory("built/lib")
MakeDirectory("built/etc")
MakeDirectory("built/plugins")
MakeDirectory("built/modelcache")
MakeDirectory("built/include")
MakeDirectory("built/include/parser-inc")
MakeDirectory("built/include/parser-inc/openssl")
MakeDirectory("built/include/parser-inc/netinet")
MakeDirectory("built/include/parser-inc/Cg")
MakeDirectory("built/include/openssl")
MakeDirectory("built/tmp")
MakeDirectory("built/models")
MakeDirectory("built/models/audio")
MakeDirectory("built/models/audio/sfx")
MakeDirectory("built/models/icons")
MakeDirectory("built/models/maps")
MakeDirectory("built/models/misc")
MakeDirectory("built/models/gui")
MakeDirectory("built/direct")
MakeDirectory("built/pandac")
MakeDirectory("built/pandac/input")
########################################################################################## ##########################################################################################
# #
# Generate dtool_config.h, prc_parameters.h, and dtool_have_xxx.dat # Generate dtool_config.h, prc_parameters.h, and dtool_have_xxx.dat
@ -1004,8 +976,6 @@ def CreatePandaVersionFiles():
ConditionalWriteFile('built/include/pandaVersion.h', pandaversion_h) ConditionalWriteFile('built/include/pandaVersion.h', pandaversion_h)
ConditionalWriteFile('built/include/checkPandaVersion.cxx', checkpandaversion_cxx) ConditionalWriteFile('built/include/checkPandaVersion.cxx', checkpandaversion_cxx)
ConditionalWriteFile('built/include/checkPandaVersion.h', checkpandaversion_h) ConditionalWriteFile('built/include/checkPandaVersion.h', checkpandaversion_h)
if (PkgSkip("PYTHON")==0):
ConditionalWriteFile("built/tmp/pythonversion", os.path.basename(SDK["PYTHON"]))
ConditionalWriteFile("built/tmp/null.cxx","") ConditionalWriteFile("built/tmp/null.cxx","")
@ -3566,7 +3536,7 @@ The Panda3D engine.
def MakeInstallerLinux(): def MakeInstallerLinux():
import compileall import compileall
PYTHONV=os.path.basename(SDK["PYTHON"]) PYTHONV=SDK["PYTHONVERSION"]
if (os.path.isdir("linuxroot")): oscmd("chmod -R 755 linuxroot") if (os.path.isdir("linuxroot")): oscmd("chmod -R 755 linuxroot")
if (os.path.exists("/usr/bin/dpkg-deb")): if (os.path.exists("/usr/bin/dpkg-deb")):
oscmd("dpkg --print-architecture > built/tmp/architecture.txt") oscmd("dpkg --print-architecture > built/tmp/architecture.txt")