bpo-30492: Allow make clinic to work out of tree. (#1836)

* bpo-30492: Allow make clinic to work out of tree.

* Use os.curdir instead of "." as the default value.
This commit is contained in:
Gregory P. Smith 2017-05-27 16:40:45 -07:00 committed by GitHub
parent 5a346d5dbc
commit 178418ad67
2 changed files with 11 additions and 3 deletions

View File

@ -528,7 +528,7 @@ coverage-report: regen-grammar regen-importlib
# (depends on python having already been built)
.PHONY=clinic
clinic: $(BUILDPYTHON) $(srcdir)/Modules/_blake2/blake2s_impl.c
$(RUNSHARED) $(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make
$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
# Build the interpreter
$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)

View File

@ -4335,7 +4335,10 @@ def main(argv):
cmdline.add_argument("-o", "--output", type=str)
cmdline.add_argument("-v", "--verbose", action='store_true')
cmdline.add_argument("--converters", action='store_true')
cmdline.add_argument("--make", action='store_true')
cmdline.add_argument("--make", action='store_true',
help="Walk --srcdir to run over all relevant files.")
cmdline.add_argument("--srcdir", type=str, default=os.curdir,
help="The directory tree to walk in --make mode.")
cmdline.add_argument("filename", type=str, nargs="*")
ns = cmdline.parse_args(argv)
@ -4406,7 +4409,12 @@ def main(argv):
print()
cmdline.print_usage()
sys.exit(-1)
for root, dirs, files in os.walk('.'):
if not ns.srcdir:
print("Usage error: --srcdir must not be empty with --make.")
print()
cmdline.print_usage()
sys.exit(-1)
for root, dirs, files in os.walk(ns.srcdir):
for rcs_dir in ('.svn', '.git', '.hg', 'build', 'externals'):
if rcs_dir in dirs:
dirs.remove(rcs_dir)