summaryrefslogtreecommitdiffstats
path: root/PC/layout/support/options.py
diff options
context:
space:
mode:
Diffstat (limited to 'PC/layout/support/options.py')
-rw-r--r--PC/layout/support/options.py122
1 files changed, 0 insertions, 122 deletions
diff --git a/PC/layout/support/options.py b/PC/layout/support/options.py
deleted file mode 100644
index 76d9e34..0000000
--- a/PC/layout/support/options.py
+++ /dev/null
@@ -1,122 +0,0 @@
-"""
-List of optional components.
-"""
-
-__author__ = "Steve Dower <steve.dower@python.org>"
-__version__ = "3.8"
-
-
-__all__ = []
-
-
-def public(f):
- __all__.append(f.__name__)
- return f
-
-
-OPTIONS = {
- "stable": {"help": "stable ABI stub"},
- "pip": {"help": "pip"},
- "distutils": {"help": "distutils"},
- "tcltk": {"help": "Tcl, Tk and tkinter"},
- "idle": {"help": "Idle"},
- "tests": {"help": "test suite"},
- "tools": {"help": "tools"},
- "venv": {"help": "venv"},
- "dev": {"help": "headers and libs"},
- "symbols": {"help": "symbols"},
- "bdist-wininst": {"help": "bdist_wininst support"},
- "underpth": {"help": "a python._pth file", "not-in-all": True},
- "launchers": {"help": "specific launchers"},
- "appxmanifest": {"help": "an appxmanifest"},
- "props": {"help": "a python.props file"},
- "chm": {"help": "the CHM documentation"},
- "html-doc": {"help": "the HTML documentation"},
-}
-
-
-PRESETS = {
- "appx": {
- "help": "APPX package",
- "options": [
- "stable",
- "pip",
- "distutils",
- "tcltk",
- "idle",
- "venv",
- "dev",
- "launchers",
- "appxmanifest",
- # XXX: Disabled for now "precompile",
- ],
- },
- "nuget": {
- "help": "nuget package",
- "options": ["stable", "pip", "distutils", "dev", "props"],
- },
- "default": {
- "help": "development kit package",
- "options": [
- "stable",
- "pip",
- "distutils",
- "tcltk",
- "idle",
- "tests",
- "tools",
- "venv",
- "dev",
- "symbols",
- "bdist-wininst",
- "chm",
- ],
- },
- "embed": {
- "help": "embeddable package",
- "options": ["stable", "zip-lib", "flat-dlls", "underpth", "precompile"],
- },
-}
-
-
-@public
-def get_argparse_options():
- for opt, info in OPTIONS.items():
- help = "When specified, includes {}".format(info["help"])
- if info.get("not-in-all"):
- help = "{}. Not affected by --include-all".format(help)
-
- yield "--include-{}".format(opt), help
-
- for opt, info in PRESETS.items():
- help = "When specified, includes default options for {}".format(info["help"])
- yield "--preset-{}".format(opt), help
-
-
-def ns_get(ns, key, default=False):
- return getattr(ns, key.replace("-", "_"), default)
-
-
-def ns_set(ns, key, value=True):
- k1 = key.replace("-", "_")
- k2 = "include_{}".format(k1)
- if hasattr(ns, k2):
- setattr(ns, k2, value)
- elif hasattr(ns, k1):
- setattr(ns, k1, value)
- else:
- raise AttributeError("no argument named '{}'".format(k1))
-
-
-@public
-def update_presets(ns):
- for preset, info in PRESETS.items():
- if ns_get(ns, "preset-{}".format(preset)):
- for opt in info["options"]:
- ns_set(ns, opt)
-
- if ns.include_all:
- for opt in OPTIONS:
- if OPTIONS[opt].get("not-in-all"):
- continue
- ns_set(ns, opt)