From ffcfcf0b19599e3c07d2e1bf72f6091dff137273 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 20 Jul 2009 09:23:34 +0000 Subject: [PATCH] Python-version-independent --- makepanda/makepanda.py | 15 +++++---------- makepanda/makepandacore.py | 20 ++++++++++++++++---- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 63c3cd87a1..7fc8b0f258 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -1293,20 +1293,15 @@ for pkg in PkgListGet(): if (COMPILER == "LINUX"): if (os.path.exists(THIRDPARTYLIBS+pkg.lower()+"/lib")): CopyAllFiles(GetOutputDir()+"/lib/",THIRDPARTYLIBS+pkg.lower()+"/lib/") + if (COMPILER=="MSVC"): CopyAllFiles(GetOutputDir()+"/bin/", THIRDPARTYLIBS+"extras"+"/bin/") if (sys.platform == "win32"): if (PkgSkip("PYTHON")==0): - (arch, osName) = platform.architecture() - archName = "win64" - if arch=='32bit': archName = "win32" - if os.path.isdir('thirdparty/' + archName + '/win-python'): - CopyFile(GetOutputDir()+'/bin/python25.dll', 'thirdparty/' + archName + '/win-python/python25.dll') - CopyTree(GetOutputDir()+'/python', 'thirdparty/' + archName + '/win-python') - else: - CopyFile(GetOutputDir()+'/bin/python25.dll', 'thirdparty/win-python/python25.dll') - CopyTree(GetOutputDir()+'/python', 'thirdparty/win-python') - ConditionalWriteFile(GetOutputDir()+'/python/panda.pth',"..\n../bin\n") + pydll = "/" + SDK["PYTHONVERSION"].replace(".", "") + ".dll" + CopyFile(GetOutputDir()+"/bin"+pydll, SDK["PYTHON"]+pydll) + CopyTree(GetOutputDir()+"/python", SDK["PYTHON"]) + ConditionalWriteFile(GetOutputDir()+"/python/panda.pth", "..\n../bin\n") ######################################################################## ## diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index 0c279262c0..211f052930 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -868,12 +868,23 @@ def SdkLocatePython(): if (PkgSkip("PYTHON")==0): if (sys.platform == "win32"): (arch, osName) = platform.architecture() - if arch=='32bit': - SDK["PYTHON"]="thirdparty/win32/win-python" + if arch == "32bit": + SDK["PYTHON"] = "thirdparty/win32/win-python" else: - SDK["PYTHON"]="thirdparty/win64/win-python" + SDK["PYTHON"] = "thirdparty/win64/win-python" + + if (not os.path.exists(SDK["PYTHON"])): + SDK["PYTHON"] = "thirdparty/win-python" + if (not os.path.exists(SDK["PYTHON"]+"/python.exe")): + exit("Could not find thirdparty/win-python/python.exe!") + + os.system(SDK["PYTHON"].replace("/", "\\") + "\\python.exe -V > "+OUTPUTDIR+"/tmp/pythonversion 2>&1") + pv=ReadFile(OUTPUTDIR+"/tmp/pythonversion") + if (pv.startswith("Python ")==0): + exit("python -V did not produce the expected output") + pv = pv[7:10] + SDK["PYTHONVERSION"]="python"+pv - SDK["PYTHONVERSION"]="python2.5" elif (sys.platform == "darwin"): if not SDK.has_key("MACOSX"): SdkLocateMacOSX() if (os.path.isdir("%s/System/Library/Frameworks/Python.framework" % SDK["MACOSX"])): @@ -883,6 +894,7 @@ def SdkLocatePython(): SDK["PYTHONVERSION"] = "python"+pv else: exit("Could not find the python framework!") + else: os.system("python -V > "+OUTPUTDIR+"/tmp/pythonversion 2>&1") pv=ReadFile(OUTPUTDIR+"/tmp/pythonversion")