summaryrefslogtreecommitdiff
path: root/getheader.py
diff options
context:
space:
mode:
Diffstat (limited to 'getheader.py')
-rw-r--r--getheader.py71
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"