diff options
Diffstat (limited to 'getheader.py')
| -rw-r--r-- | getheader.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/getheader.py b/getheader.py new file mode 100644 index 0000000..6a131d7 --- /dev/null +++ b/getheader.py @@ -0,0 +1,71 @@ +import sys +import os.path +import compileall +path=os.path.join(sys.exec_prefix,"include","python%s"%sys.version[:3]) +#print "headers at ",repr(path) +#-lpython2.3 -lm -L/usr/lib/python2.3/config +args="-lpython%s -lm -L%s"%(sys.version[:3],os.path.join(sys.exec_prefix,"lib","python%s"%sys.version[:3],"config")) +print " linux args are" +print args,"-I%s"%path + +path=os.path.join(sys.exec_prefix,"include") +args="-lpython%s -lm -L%s"%(sys.version[:3],os.path.join(sys.exec_prefix,"lib","config"))#,"python%s"%sys.version[:3] +print "\n windows args are" +print args,"-I%s"%path + +ext=False +"""#see if we're on 64bit. +with open("./includes/defines.h") as fid: + for line in fid: + if(line.startswith("#define") and line.count("PYEXT")>0): + print "using external console.py" + ext=True""" +#print sys.argv +if(len(sys.argv)>=2 and sys.argv[1]=="--64bit"): + ext=True + print "YEAHS" +#raw_input("") + +if(ext): + print "external" + #raw_input(sys.argv) + with open("./src/python/tpt_console.py") as fid: + consolepy=fid.read() + script=""" +import tempfile,os.path,sys +dir=tempfile.gettempdir() +sys.path.append(dir) +tmp=%s +print "making console.py @ %%s"%%os.path.join(dir,"tpt_console.py") +with open(os.path.join(dir,"tpt_console.py"),"w") as fid: + fid.write(tmp) + """%repr(consolepy) + tmp=[hex(ord(char)) for char in script] + out=["unsigned char tpt_console_py[] = {",','.join(tmp),"};"] + with open("./includes/pyconsole.h","w") as fid: + fid.write(''.join(out)) +else: + print "internal" + #raw_input(sys.argv) + #unsigned char tpt_console_pyc[] = { 0x1B, 0x57}; + lst=[] + compileall.compile_dir("./src/python", force=0) + + print "generating pyconsole.h" + + fname="./src/python/tpt_console.pyc" + try: + fid=open(fname,"r") + except IOError: + fname="./src/python/tpt_console.pyo" + finally: + fid.close() + + with open(fname,"r") as fid: + for char in fid.read(): + lst.append(hex(ord(char))) + tmp=",".join(lst) + out=''.join(["#include <Python.h>\nunsigned char tpt_console_pyc[] = {",tmp,"};"]) + with open("./includes/pyconsole.h","w") as fid: + fid.write(out) +print "done" |
