Patch from Rene Liebscher: this adds "--help-foo" options to list the

values that "--foo" can take for various commands: eg. what formats for
"sdist" and "bdist", what compilers for "build_ext" and "build_clib".

I have *not* reviewed this patch; I'm checking it in as-is because it also
fixes a paper-bag-over-head bug in bdist.py, and because I won't have
time to review it properly for several days: so someone else can
test it for me, instead!
This commit is contained in:
Greg Ward 2000-06-07 03:00:06 +00:00
parent 1169687692
commit 9d17a7ad6d
8 changed files with 107 additions and 25 deletions

View file

@ -726,10 +726,22 @@ default_compiler = { 'posix': 'unix',
# Map compiler types to (module_name, class_name) pairs -- ie. where to
# find the code that implements an interface to this compiler. (The module
# is assumed to be in the 'distutils' package.)
compiler_class = { 'unix': ('unixccompiler', 'UnixCCompiler'),
'msvc': ('msvccompiler', 'MSVCCompiler'),
compiler_class = { 'unix': ('unixccompiler', 'UnixCCompiler',"standard UNIX-style compiler"),
'msvc': ('msvccompiler', 'MSVCCompiler',"Microsoft Visual C++"),
'cygwin': ('cygwinccompiler', 'CygwinCCompiler',"Cygwin-Gnu-Win32-C-Compiler"),
'mingw32': ('cygwinccompiler', 'Mingw32CCompiler',"MinGW32-C-Compiler (or cygwin in this mode)"),
}
# prints all possible arguments to --compiler
def show_compilers():
from distutils.fancy_getopt import FancyGetopt
list_of_compilers=[]
for compiler in compiler_class.keys():
list_of_compilers.append(("compiler="+compiler,None,compiler_class[compiler][2]))
list_of_compilers.sort()
pretty_printer=FancyGetopt(list_of_compilers)
pretty_printer.print_help("List of available compilers:")
def new_compiler (plat=None,
compiler=None,
@ -755,7 +767,7 @@ def new_compiler (plat=None,
if compiler is None:
compiler = default_compiler[plat]
(module_name, class_name) = compiler_class[compiler]
(module_name, class_name,long_description) = compiler_class[compiler]
except KeyError:
msg = "don't know how to compile C/C++ code on platform '%s'" % plat
if compiler is not None: