[pypy-svn] r66089 - in pypy/trunk/pypy/translator: c goal
fijal at codespeak.net
fijal at codespeak.net
Thu Jul 2 10:21:05 CEST 2009
Author: fijal
Date: Thu Jul 2 10:21:02 2009
New Revision: 66089
Modified:
pypy/trunk/pypy/translator/c/dlltool.py
pypy/trunk/pypy/translator/goal/sharedpypy.py
Log:
Actually pass around config obj
Modified: pypy/trunk/pypy/translator/c/dlltool.py
==============================================================================
--- pypy/trunk/pypy/translator/c/dlltool.py (original)
+++ pypy/trunk/pypy/translator/c/dlltool.py Thu Jul 2 10:21:02 2009
@@ -35,10 +35,10 @@
return self.so_name
class DLLDef(object):
- def __init__(self, name, functions=[], policy=None):
+ def __init__(self, name, functions=[], policy=None, config=None):
self.name = name
self.functions = functions # [(function, annotation), ...]
- self.driver = TranslationDriver()
+ self.driver = TranslationDriver(config=config)
self.driver.setup_library(self, policy=policy)
def compile(self):
Modified: pypy/trunk/pypy/translator/goal/sharedpypy.py
==============================================================================
--- pypy/trunk/pypy/translator/goal/sharedpypy.py (original)
+++ pypy/trunk/pypy/translator/goal/sharedpypy.py Thu Jul 2 10:21:02 2009
@@ -2,13 +2,14 @@
import sys
from pypy.translator.c.dlltool import DLLDef
from pypy.config.translationoption import get_combined_translation_config
-from pypy.rpython.lltypesystem.rffi import charp2str, CCHARP
+from pypy.rpython.lltypesystem.rffi import charp2str, CCHARP, VOIDP
from pypy.tool.option import make_objspace
from pypy.interpreter.error import OperationError
from pypy.config.pypyoption import pypy_optiondescription, set_pypy_opt_level
from pypy.interpreter.pyopcode import prepare_exec
from pypy.translator.goal.ann_override import PyPyAnnotatorPolicy
from pypy.config.translationoption import set_opt_level
+from pypy.config.pypyoption import enable_allworkingmodules
OVERRIDES = {
'translation.debug': False,
@@ -22,12 +23,12 @@
config.translating = True
set_opt_level(config, '1')
set_pypy_opt_level(config, '1')
- print config
+ enable_allworkingmodules(config)
space = make_objspace(config)
policy = PyPyAnnotatorPolicy(single_space = space)
- def interpret(source):
+ def interpret(source, context):
source = charp2str(source)
w_dict = space.newdict()
try:
@@ -41,7 +42,8 @@
return 1
return 0
- dll = DLLDef('pypylib', [(interpret, [CCHARP])], policy=policy)
+ dll = DLLDef('pypylib', [(interpret, [CCHARP, VOIDP])], policy=policy,
+ config=config)
exe_name = dll.compile()
if __name__ == '__main__':
More information about the Pypy-commit
mailing list