def target(self, driver, args): driver.exe_name = 'pypy-%(backend)s' config = driver.config parser = self.opt_parser(config) parser.parse_args(args) # expose the following variables to ease debugging global space, entry_point if config.translation.thread: config.objspace.usemodules.thread = True elif config.objspace.usemodules.thread: config.translation.thread = True if config.translation.stackless: config.objspace.usemodules._stackless = True elif config.objspace.usemodules._stackless: config.translation.stackless = True if not config.translation.rweakref: config.objspace.usemodules._weakref = False if self.translateconfig.goal_options.jit: config.objspace.usemodules.pypyjit = True elif config.objspace.usemodules.pypyjit: self.translateconfig.goal_options.jit = True if config.translation.backend == "cli": config.objspace.usemodules.clr = True # XXX did it ever work? #elif config.objspace.usemodules.clr: # config.translation.backend == "cli" config.objspace.nofaking = True config.objspace.compiler = "ast" config.translating = True import translate translate.log_config(config.objspace, "PyPy config object") # obscure hack to stuff the translation options into the translated PyPy import pypy.module.sys options = make_dict(config) wrapstr = 'space.wrap(%r)' % (options) pypy.module.sys.Module.interpleveldefs[ 'pypy_translation_info'] = wrapstr return self.get_entry_point(config)
def target(self, driver, args): driver.exe_name = 'pypy-%(backend)s' config = driver.config parser = self.opt_parser(config) parser.parse_args(args) # expose the following variables to ease debugging global space, entry_point if config.translation.thread: config.objspace.usemodules.thread = True elif config.objspace.usemodules.thread: config.translation.thread = True if config.translation.stackless: config.objspace.usemodules._stackless = True elif config.objspace.usemodules._stackless: config.translation.stackless = True if not config.translation.rweakref: config.objspace.usemodules._weakref = False if self.translateconfig.goal_options.jit: config.objspace.usemodules.pypyjit = True elif config.objspace.usemodules.pypyjit: self.translateconfig.goal_options.jit = True if config.translation.backend == "cli": config.objspace.usemodules.clr = True # XXX did it ever work? #elif config.objspace.usemodules.clr: # config.translation.backend == "cli" config.objspace.nofaking = True config.objspace.compiler = "ast" config.translating = True import translate translate.log_config(config.objspace, "PyPy config object") # obscure hack to stuff the translation options into the translated PyPy import pypy.module.sys options = make_dict(config) wrapstr = 'space.wrap(%r)' % (options) pypy.module.sys.Module.interpleveldefs['pypy_translation_info'] = wrapstr return self.get_entry_point(config)
def target(self, driver, args): driver.exe_name = 'pypy-%(backend)s' config = driver.config parser = self.opt_parser(config) parser.parse_args(args) # expose the following variables to ease debugging global space, entry_point if config.objspace.allworkingmodules: from pypy.config.pypyoption import enable_allworkingmodules enable_allworkingmodules(config) if config.objspace.translationmodules: from pypy.config.pypyoption import enable_translationmodules enable_translationmodules(config) ## if config.translation.type_system == 'ootype': ## config.objspace.usemodules.suggest(rbench=True) config.translation.suggest(check_str_without_nul=True) if config.translation.thread: config.objspace.usemodules.thread = True elif config.objspace.usemodules.thread: try: config.translation.thread = True except ConflictConfigError: # If --allworkingmodules is given, we reach this point # if threads cannot be enabled (e.g. they conflict with # something else). In this case, we can try setting the # usemodules.thread option to False again. It will # cleanly fail if that option was set to True by the # command-line directly instead of via --allworkingmodules. config.objspace.usemodules.thread = False if config.translation.continuation: config.objspace.usemodules._continuation = True elif config.objspace.usemodules._continuation: try: config.translation.continuation = True except ConflictConfigError: # Same as above: try to auto-disable the _continuation # module if translation.continuation cannot be enabled config.objspace.usemodules._continuation = False if not config.translation.rweakref: config.objspace.usemodules._weakref = False if config.translation.jit: config.objspace.usemodules.pypyjit = True elif config.objspace.usemodules.pypyjit: config.translation.jit = True if config.translation.backend == "cli": config.objspace.usemodules.clr = True # XXX did it ever work? #elif config.objspace.usemodules.clr: # config.translation.backend == "cli" if config.translation.sandbox: config.objspace.lonepycfiles = False config.objspace.usepycfiles = False config.objspace.nofaking = True config.translating = True import translate translate.log_config(config.objspace, "PyPy config object") # obscure hack to stuff the translation options into the translated PyPy import pypy.module.sys options = make_dict(config) wrapstr = 'space.wrap(%r)' % (options) pypy.module.sys.Module.interpleveldefs['pypy_translation_info'] = wrapstr if config.translation.backend in ["cli", "jvm"] and sys.platform == "win32": # HACK: The ftruncate implementation in streamio.py which is used for the Win32 platform # is specific for the C backend and can't be generated on CLI or JVM. Because of that, # we have to patch it out. from pypy.rlib import streamio def ftruncate_win32_dummy(fd, size): pass def _setfd_binary_dummy(fd): pass streamio.ftruncate_win32 = ftruncate_win32_dummy streamio._setfd_binary = _setfd_binary_dummy return self.get_entry_point(config)
def target(self, driver, args): driver.exe_name = 'pypy-%(backend)s' config = driver.config parser = self.opt_parser(config) parser.parse_args(args) # expose the following variables to ease debugging global space, entry_point if config.objspace.allworkingmodules: from pypy.config.pypyoption import enable_allworkingmodules enable_allworkingmodules(config) if config.translation.type_system == 'ootype': config.objspace.usemodules.suggest(rbench=True) if config.translation.thread: config.objspace.usemodules.thread = True elif config.objspace.usemodules.thread: try: config.translation.thread = True except ConflictConfigError: # If --allworkingmodules is given, we reach this point # if threads cannot be enabled (e.g. they conflict with # something else). In this case, we can try setting the # usemodules.thread option to False again. It will # cleanly fail if that option was set to True by the # command-line directly instead of via --allworkingmodules. config.objspace.usemodules.thread = False if config.translation.stackless: config.objspace.usemodules._stackless = True elif config.objspace.usemodules._stackless: try: config.translation.stackless = True except ConflictConfigError: raise ConflictConfigError("please use the --stackless option " "to translate.py instead of " "--withmod-_stackless directly") if not config.translation.rweakref: config.objspace.usemodules._weakref = False if config.translation.jit: config.objspace.usemodules.pypyjit = True elif config.objspace.usemodules.pypyjit: config.translation.jit = True if config.translation.backend == "cli": config.objspace.usemodules.clr = True # XXX did it ever work? #elif config.objspace.usemodules.clr: # config.translation.backend == "cli" config.objspace.nofaking = True config.objspace.compiler = "ast" config.translating = True import translate translate.log_config(config.objspace, "PyPy config object") # obscure hack to stuff the translation options into the translated PyPy import pypy.module.sys options = make_dict(config) wrapstr = 'space.wrap(%r)' % (options) pypy.module.sys.Module.interpleveldefs['pypy_translation_info'] = wrapstr if config.translation.backend in ["cli", "jvm"] and sys.platform == "win32": # HACK: The ftruncate implementation in streamio.py which is used for the Win32 platform # is specific for the C backend and can't be generated on CLI or JVM. Because of that, # we have to patch it out. from pypy.rlib import streamio def ftruncate_win32_dummy(fd, size): pass def _setfd_binary_dummy(fd): pass streamio.ftruncate_win32 = ftruncate_win32_dummy streamio._setfd_binary = _setfd_binary_dummy return self.get_entry_point(config)
def target(self, driver, args): driver.exe_name = 'pypy-%(backend)s' config = driver.config parser = self.opt_parser(config) parser.parse_args(args) # expose the following variables to ease debugging global space, entry_point if config.objspace.allworkingmodules: from pypy.config.pypyoption import enable_allworkingmodules enable_allworkingmodules(config) if config.translation.thread: config.objspace.usemodules.thread = True elif config.objspace.usemodules.thread: try: config.translation.thread = True except ConflictConfigError: # If --allworkingmodules is given, we reach this point # if threads cannot be enabled (e.g. they conflict with # something else). In this case, we can try setting the # usemodules.thread option to False again. It will # cleanly fail if that option was set to True by the # command-line directly instead of via --allworkingmodules. config.objspace.usemodules.thread = False if config.translation.stackless: config.objspace.usemodules._stackless = True elif config.objspace.usemodules._stackless: try: config.translation.stackless = True except ConflictConfigError: raise ConflictConfigError("please use the --stackless option " "to translate.py instead of " "--withmod-_stackless directly") if not config.translation.rweakref: config.objspace.usemodules._weakref = False if self.translateconfig.goal_options.jit: config.objspace.usemodules.pypyjit = True elif config.objspace.usemodules.pypyjit: self.translateconfig.goal_options.jit = True if config.translation.backend == "cli": config.objspace.usemodules.clr = True # XXX did it ever work? #elif config.objspace.usemodules.clr: # config.translation.backend == "cli" config.objspace.nofaking = True config.objspace.compiler = "ast" config.translating = True import translate translate.log_config(config.objspace, "PyPy config object") # obscure hack to stuff the translation options into the translated PyPy import pypy.module.sys options = make_dict(config) wrapstr = 'space.wrap(%r)' % (options) pypy.module.sys.Module.interpleveldefs[ 'pypy_translation_info'] = wrapstr return self.get_entry_point(config)
def target(self, driver, args): driver.exe_name = 'pypy-%(backend)s' config = driver.config parser = self.opt_parser(config) parser.parse_args(args) # expose the following variables to ease debugging global space, entry_point if config.objspace.allworkingmodules: from pypy.config.pypyoption import enable_allworkingmodules enable_allworkingmodules(config) if config.translation.type_system == 'ootype': config.objspace.usemodules.suggest(rbench=True) if config.translation.thread: config.objspace.usemodules.thread = True elif config.objspace.usemodules.thread: try: config.translation.thread = True except ConflictConfigError: # If --allworkingmodules is given, we reach this point # if threads cannot be enabled (e.g. they conflict with # something else). In this case, we can try setting the # usemodules.thread option to False again. It will # cleanly fail if that option was set to True by the # command-line directly instead of via --allworkingmodules. config.objspace.usemodules.thread = False if config.translation.stackless: config.objspace.usemodules._stackless = True elif config.objspace.usemodules._stackless: try: config.translation.stackless = True except ConflictConfigError: raise ConflictConfigError("please use the --stackless option " "to translate.py instead of " "--withmod-_stackless directly") if not config.translation.rweakref: config.objspace.usemodules._weakref = False if config.translation.jit: config.objspace.usemodules.pypyjit = True elif config.objspace.usemodules.pypyjit: config.translation.jit = True if config.translation.backend == "cli": config.objspace.usemodules.clr = True # XXX did it ever work? #elif config.objspace.usemodules.clr: # config.translation.backend == "cli" config.objspace.nofaking = True config.objspace.compiler = "ast" config.translating = True import translate translate.log_config(config.objspace, "PyPy config object") # obscure hack to stuff the translation options into the translated PyPy import pypy.module.sys options = make_dict(config) wrapstr = 'space.wrap(%r)' % (options) pypy.module.sys.Module.interpleveldefs['pypy_translation_info'] = wrapstr return self.get_entry_point(config)