[pypy-svn] r18377 - pypy/dist/pypy/translator/asm

mwh at codespeak.net mwh at codespeak.net
Tue Oct 11 11:17:48 CEST 2005


Author: mwh
Date: Tue Oct 11 11:17:47 2005
New Revision: 18377

Modified:
   pypy/dist/pypy/translator/asm/genasm.py
Log:
be a little more thorough at platform detection.


Modified: pypy/dist/pypy/translator/asm/genasm.py
==============================================================================
--- pypy/dist/pypy/translator/asm/genasm.py	(original)
+++ pypy/dist/pypy/translator/asm/genasm.py	Tue Oct 11 11:17:47 2005
@@ -1,15 +1,28 @@
-import sys
+import sys, os
 from pypy.objspace.flow.model import traverse, Block, Variable, Constant
 
 
 #Available Machine code targets (processor+operating system)
+TARGET_UNKNOWN=0
 TARGET_PPC=1
 TARGET_WIN386=2
 
 #set one of these
-ASM_TARGET=TARGET_PPC
+ASM_TARGET=TARGET_UNKNOWN
 #ASM_TARGET=TARGET_WIN386
 
+def determine_target():
+    global ASM_TARGET
+    if sys.platform == 'darwin':
+        if os.uname()[-1] == 'Power Macintosh':
+            ASM_TARGET = TARGET_PPC
+    elif sys.platform == 'win32':
+        if 'Intel' in sys.version:
+            ASM_TARGET = TARGET_WIN386
+
+determine_target()
+if ASM_TARGET == TARGET_UNKNOWN:
+    raise Exception, 'Unknown Machine-code target specified.'
 
 if ASM_TARGET==TARGET_PPC:
     from pypy.translator.asm.ppcgen.ppc_assembler import PPCAssembler
@@ -17,13 +30,6 @@
 elif ASM_TARGET==TARGET_WIN386:
     from pypy.translator.asm.i386gen.i386_assembler import i386Assembler as PPCAssembler  #spoof system for time being
     from pypy.translator.asm.i386gen.i386_assembler import make_func
-else:
-    raise Exception,'Unknown Machine-code target specified.  Set ASM_TARGET=TARGET_XXXX  '
-
-
-def genlinkcode(link):
-    for s, t in zip(link.args, link.target.inputargs):
-        print '    ', 'mr', t, s
 
 
 def genasm(translator):



More information about the Pypy-commit mailing list