work in progress, test code is ifd off
This commit is contained in:
parent
94194f6703
commit
e35bf8af49
|
|
@ -27,26 +27,29 @@ import sys,os,time,stat,string,re,getopt,cPickle
|
|||
|
||||
global FileDateCache
|
||||
FileDateCache = {}
|
||||
skylerTest=0
|
||||
|
||||
def filedate(path) :
|
||||
def filedate(path):
|
||||
global FileDateCache
|
||||
if (FileDateCache.has_key(path)):
|
||||
return(FileDateCache[path])
|
||||
try : date = os.path.getmtime(path)
|
||||
except : date = 0
|
||||
try: date = os.path.getmtime(path)
|
||||
except: date = 0
|
||||
FileDateCache[path] = date
|
||||
return(date)
|
||||
|
||||
def updatefiledate(path) :
|
||||
def updatefiledate(path):
|
||||
global FileDateCache
|
||||
try : date = os.path.getmtime(path)
|
||||
except : date = 0
|
||||
try: date = os.path.getmtime(path)
|
||||
except: date = 0
|
||||
FileDateCache[path] = date
|
||||
|
||||
def youngest(files):
|
||||
if (type(files) == str):
|
||||
source = filedate(files)
|
||||
if (source==0): sys.exit("Error: source file not readable: "+files)
|
||||
if (source==0):
|
||||
import pdb; pdb.set_trace()
|
||||
sys.exit("Error: source file not readable: "+files)
|
||||
return(source)
|
||||
result = 0
|
||||
for sfile in files:
|
||||
|
|
@ -127,6 +130,17 @@ if 1:
|
|||
exitCode = os.spawnv(os.P_WAIT, cmd, cmdLine)
|
||||
if exitCode:
|
||||
sys.exit("Failed: \"%s\" returned exit code (%s)"%(cmd, exitCode))
|
||||
|
||||
def osCmdEnv(cmd, environment):
|
||||
global VERBOSE
|
||||
if VERBOSE >= 1:
|
||||
print cmd
|
||||
sys.stdout.flush()
|
||||
cmdLine = cmd.split()
|
||||
cmd = getExecutablePath(cmdLine[0])
|
||||
exitCode = os.spawnve(os.P_WAIT, cmd, cmdLine, environment)
|
||||
if exitCode:
|
||||
sys.exit("Failed: \"%s\" returned exit code (%s)"%(cmd, exitCode))
|
||||
else:
|
||||
from distutils.spawn import spawn
|
||||
# This version seems more "standard" and may be updated
|
||||
|
|
@ -841,7 +855,7 @@ def printStatus(header,warnings):
|
|||
tomit = ""
|
||||
for x in PACKAGES:
|
||||
if (OMIT.count(x)==0): tkeep = tkeep + x + " "
|
||||
else : tomit = tomit + x + " "
|
||||
else: tomit = tomit + x + " "
|
||||
print "Makepanda: Prefix Directory:",PREFIX
|
||||
print "Makepanda: Compiler:",COMPILER
|
||||
print "Makepanda: Optimize:",OPTIMIZE
|
||||
|
|
@ -1162,12 +1176,12 @@ def CompileFlex(pre,dst,src,dashi):
|
|||
if (COMPILER=="MSVC7"):
|
||||
flexFullPath=os.path.abspath(STDTHIRDPARTY+"win-util/flex.exe")
|
||||
if (dashi): oscdcmd(PREFIX+"/tmp", flexFullPath+" -i -P" + pre + " -olex.yy.c " + fn)
|
||||
else : oscdcmd(PREFIX+"/tmp", flexFullPath+" -P" + pre + " -olex.yy.c " + fn)
|
||||
else: oscdcmd(PREFIX+"/tmp", flexFullPath+" -P" + pre + " -olex.yy.c " + fn)
|
||||
replaceInFile(PREFIX+'/tmp/lex.yy.c', dst, '#include <unistd.h>', '')
|
||||
#WriteFile(wdst, ReadFile("built\\tmp\\lex.yy.c").replace("#include <unistd.h>",""))
|
||||
if (COMPILER=="LINUXA"):
|
||||
if (dashi): oscdcmd(PREFIX+"/tmp", "flex -i -P" + pre + " -olex.yy.c " + fn)
|
||||
else : oscdcmd(PREFIX+"/tmp", "flex -P" + pre + " -olex.yy.c " + fn)
|
||||
else: oscdcmd(PREFIX+"/tmp", "flex -P" + pre + " -olex.yy.c " + fn)
|
||||
oscmd('cp built/tmp/lex.yy.c '+dst)
|
||||
updatefiledate(dst)
|
||||
|
||||
|
|
@ -1288,6 +1302,7 @@ def CompileRES(obj=0,src=0,ipath=[],opts=[]):
|
|||
def Interrogate(ipath=0, opts=0, outd=0, outc=0, src=0, module=0, library=0, files=0):
|
||||
if ((ipath==0)|(opts==0)|(outd==0)|(outc==0)|(src==0)|(module==0)|(library==0)|(files==0)):
|
||||
sys.exit("syntax error in Interrogate directive")
|
||||
ALLIN.append(outd)
|
||||
ipath = [PREFIX+"/tmp"] + ipath + [PREFIX+"/include"]
|
||||
outd = PREFIX+"/etc/"+outd
|
||||
outc = PREFIX+"/tmp/"+outc
|
||||
|
|
@ -1295,7 +1310,6 @@ def Interrogate(ipath=0, opts=0, outd=0, outc=0, src=0, module=0, library=0, fil
|
|||
dep = CxxCalcDependenciesAll(paths, ipath)
|
||||
dotdots = ""
|
||||
for i in range(0,src.count("/")+1): dotdots = dotdots + "../"
|
||||
ALLIN.append(outd)
|
||||
building = 0
|
||||
for x in opts:
|
||||
if (x[:9]=="BUILDING_"): building = x[9:]
|
||||
|
|
@ -1350,6 +1364,9 @@ def InterrogateModule(outc=0, module=0, library=0, files=0):
|
|||
outc = PREFIX+"/tmp/"+outc
|
||||
files = xpaths(PREFIX+"/etc/",files,"")
|
||||
if (older(outc, files)):
|
||||
global VERBOSE
|
||||
if VERBOSE >= 1:
|
||||
print "Generating Python-stub cxx file for %s"%(library,)
|
||||
if (COMPILER=="MSVC7"):
|
||||
cmd = PREFIX+"/bin/interrogate_module.exe "
|
||||
if (COMPILER=="LINUXA"):
|
||||
|
|
@ -1679,7 +1696,7 @@ conf = "/* dtool_config.h. Generated automatically by makepanda.py */\n"
|
|||
for key,win,unix in DTOOLDEFAULTS:
|
||||
val = DTOOLCONFIG[key]
|
||||
if (val == 'UNDEF'): conf = conf + "#undef " + key + "\n"
|
||||
else : conf = conf + "#define " + key + " " + val + "\n"
|
||||
else: conf = conf + "#define " + key + " " + val + "\n"
|
||||
ConditionalWriteFile(PREFIX+'/include/dtool_config.h',conf)
|
||||
|
||||
##########################################################################################
|
||||
|
|
@ -1717,12 +1734,16 @@ if (sys.platform == "win32"):
|
|||
##
|
||||
########################################################################
|
||||
|
||||
IPATH=['direct/src/directbase']
|
||||
CompileC(ipath=IPATH, opts=['BUILDING_PPYTHON'], src='ppython.cxx', obj='ppython.obj')
|
||||
CompileLink(opts=['WINUSER'], dll='ppython.exe', obj=['ppython.obj'])
|
||||
IPATH=['direct/src/directbase']
|
||||
CompileC(ipath=IPATH, opts=['BUILDING_GENPYCODE'], src='ppython.cxx', obj='genpycode.obj')
|
||||
CompileLink(opts=['WINUSER'], dll='genpycode.exe', obj=['genpycode.obj'])
|
||||
WANT_PPYTHON=not skylerTest
|
||||
WANT_GENPYCODE_EXE=not skylerTest
|
||||
if WANT_PPYTHON:
|
||||
IPATH=['direct/src/directbase']
|
||||
CompileC(ipath=IPATH, opts=['BUILDING_PPYTHON'], src='ppython.cxx', obj='ppython.obj')
|
||||
CompileLink(opts=['WINUSER'], dll='ppython.exe', obj=['ppython.obj'])
|
||||
if WANT_GENPYCODE_EXE:
|
||||
IPATH=['direct/src/directbase']
|
||||
CompileC(ipath=IPATH, opts=['BUILDING_GENPYCODE'], src='ppython.cxx', obj='genpycode.obj')
|
||||
CompileLink(opts=['WINUSER'], dll='genpycode.exe', obj=['genpycode.obj'])
|
||||
|
||||
########################################################################
|
||||
#
|
||||
|
|
@ -6072,13 +6093,27 @@ CompileLink(opts=['ADVAPI', 'NSPR', 'FFTW'], dll='stitch-image.exe', obj=[
|
|||
#
|
||||
##########################################################################################
|
||||
|
||||
if (older(PREFIX+'/lib/pandac/PandaModules.pyz',xpaths(PREFIX+"/etc/",ALLIN,""))):
|
||||
ALLTARGETS.append(PREFIX+'/lib/pandac/PandaModules.pyz')
|
||||
if (sys.platform=="win32"):
|
||||
oscmd(PREFIX+"/bin/genpycode.exe")
|
||||
else:
|
||||
oscmd(PREFIX+"/bin/genpycode")
|
||||
updatefiledate(PREFIX+'/lib/pandac/PandaModules.pyz')
|
||||
if skylerTest:
|
||||
if older(PREFIX+'/lib/pandac/PandaModules.pyz', xpaths(PREFIX+"/etc/", ALLIN, "")):
|
||||
ALLTARGETS.append(PREFIX+'/lib/pandac/PandaModules.pyz')
|
||||
if (sys.platform=="win32"):
|
||||
env=os.environ.copy()
|
||||
env["PYTHONPATH"]="%s;%s\\bin;%s\\lib;%s;%s"%(
|
||||
PREFIX, PREFIX, PREFIX, PANDASOURCE, os.getenv("PYTHONPATH"))
|
||||
env["PATH"]="%s\\bin;%s"%(PREFIX, os.getenv("PATH"))
|
||||
env["PANDAROOT"]=PANDASOURCE
|
||||
osCmdEnv("python.exe \""+PANDASOURCE+"\\direct\\src/ffi/jGenPyCode.py\"", env)
|
||||
else:
|
||||
oscmd(PREFIX+"/bin/genpycode")
|
||||
updatefiledate(PREFIX+'/lib/pandac/PandaModules.pyz')
|
||||
else:
|
||||
if (older(PREFIX+'/lib/pandac/PandaModules.pyz',xpaths(PREFIX+"/etc/",ALLIN,""))):
|
||||
ALLTARGETS.append(PREFIX+'/lib/pandac/PandaModules.pyz')
|
||||
if (sys.platform=="win32"):
|
||||
oscmd(PREFIX+"/bin/genpycode.exe")
|
||||
else:
|
||||
oscmd(PREFIX+"/bin/genpycode")
|
||||
updatefiledate(PREFIX+'/lib/pandac/PandaModules.pyz')
|
||||
|
||||
########################################################################
|
||||
##
|
||||
|
|
|
|||
Loading…
Reference in New Issue