[pypy-svn] r13591 - pypy/dist/pypy/translator/llvm2

cfbolz at codespeak.net cfbolz at codespeak.net
Sat Jun 18 23:39:45 CEST 2005


Author: cfbolz
Date: Sat Jun 18 23:39:45 2005
New Revision: 13591

Modified:
   pypy/dist/pypy/translator/llvm2/genllvm.py
Log:
skip/fail if genllvm() is called with a 'llvm-as' on the path. 



Modified: pypy/dist/pypy/translator/llvm2/genllvm.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/genllvm.py	(original)
+++ pypy/dist/pypy/translator/llvm2/genllvm.py	Sat Jun 18 23:39:45 2005
@@ -1,3 +1,4 @@
+import py
 from pypy.translator.llvm2 import build_llvm_module
 from pypy.translator.llvm2.database import Database 
 from pypy.translator.llvm2.pyxwrapper import write_pyx_wrapper 
@@ -5,7 +6,6 @@
 from pypy.objspace.flow.model import Constant
 from pypy.rpython.rmodel import inputconst, getfunctionptr
 from pypy.rpython import lltype
-
 from pypy.tool.udir import udir
 from pypy.translator.llvm2.codewriter import CodeWriter
 
@@ -34,9 +34,20 @@
     content = str(codewriter) 
     llvmsource.write(content) 
     log.source(content)
-    
+  
+    if not llvm_is_on_path(): 
+        py.test.skip("llvm not found")  # XXX not good to call py.test.skip here
+         
     pyxsource = llvmsource.new(basename=llvmsource.purebasename+'_wrapper'+'.pyx')
     write_pyx_wrapper(entrynode, pyxsource)    
+    
     mod = build_llvm_module.make_module_from_llvm(llvmsource, pyxsource)
     return getattr(mod, func.func_name + "_wrapper")
 
+def llvm_is_on_path():
+    try:
+        py.path.local.sysfind("llvm-as")
+    except py.error.ENOENT: 
+        return False 
+    return True
+    



More information about the Pypy-commit mailing list