[pypy-svn] r57626 - in pypy/dist/pypy: config translator/goal
fijal at codespeak.net
fijal at codespeak.net
Tue Aug 26 12:28:34 CEST 2008
Author: fijal
Date: Tue Aug 26 12:28:33 2008
New Revision: 57626
Modified:
pypy/dist/pypy/config/translationoption.py
pypy/dist/pypy/translator/goal/translate.py
Log:
Some wild hackery to get cross-compiling to work. Probably needs to be
changed to something saner.
Modified: pypy/dist/pypy/config/translationoption.py
==============================================================================
--- pypy/dist/pypy/config/translationoption.py (original)
+++ pypy/dist/pypy/config/translationoption.py Tue Aug 26 12:28:33 2008
@@ -337,3 +337,19 @@
config.translation.suggest(list_comprehension_operations=True)
else:
raise ValueError(word)
+
+# ----------------------------------------------------------------
+
+PLATFORMS = [
+ 'host',
+ 'maemo',
+]
+
+def set_platform(config, platform):
+ if platform == 'maemo':
+ from pypy.translator.tool.cbuild import ExternalCompilationInfo
+ # XXX evil hackery
+ func_defs = list(ExternalCompilationInfo.__init__.func_defaults)
+ func_defs[-1] = 'maemo'
+ ExternalCompilationInfo.__init__.im_func.func_defaults = tuple(func_defs)
+
Modified: pypy/dist/pypy/translator/goal/translate.py
==============================================================================
--- pypy/dist/pypy/translator/goal/translate.py (original)
+++ pypy/dist/pypy/translator/goal/translate.py Tue Aug 26 12:28:33 2008
@@ -14,6 +14,7 @@
from pypy.config.translationoption import get_combined_translation_config
from pypy.config.translationoption import set_opt_level
from pypy.config.translationoption import OPT_LEVELS, DEFAULT_OPT_LEVEL
+from pypy.config.translationoption import PLATFORMS, set_platform
GOALS= [
@@ -51,6 +52,9 @@
ChoiceOption("opt",
"optimization level", OPT_LEVELS, default=DEFAULT_OPT_LEVEL,
cmdline="--opt -O"),
+ ChoiceOption("platform",
+ "target platform", ['host'] + PLATFORMS, default='host',
+ cmdline='--platform'),
BoolOption("profile",
"cProfile (to debug the speed of the translation process)",
default=False,
@@ -64,6 +68,8 @@
cmdline="--view", negation=False),
BoolOption("help", "show this help message and exit", default=False,
cmdline="-h --help", negation=False),
+ BoolOption("fullhelp", "show full help message and exit", default=False,
+ cmdline="--full-help", negation=False),
ArbitraryOption("goals", "XXX",
defaultfactory=list),
# xxx default goals ['annotate', 'rtype', 'backendopt', 'source', 'compile']
@@ -156,6 +162,9 @@
existing_config=config,
translating=True)
+ # apply the platform settings
+ set_platform(config, translateconfig.platform)
+
# apply the optimization level settings
set_opt_level(config, translateconfig.opt)
More information about the Pypy-commit
mailing list