Commit 178418ad authored by Gregory P. Smith's avatar Gregory P. Smith Committed by GitHub

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.
parent 5a346d5d
...@@ -528,7 +528,7 @@ coverage-report: regen-grammar regen-importlib ...@@ -528,7 +528,7 @@ coverage-report: regen-grammar regen-importlib
# (depends on python having already been built) # (depends on python having already been built)
.PHONY=clinic .PHONY=clinic
clinic: $(BUILDPYTHON) $(srcdir)/Modules/_blake2/blake2s_impl.c 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 # Build the interpreter
$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) $(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
......
...@@ -4335,7 +4335,10 @@ def main(argv): ...@@ -4335,7 +4335,10 @@ def main(argv):
cmdline.add_argument("-o", "--output", type=str) cmdline.add_argument("-o", "--output", type=str)
cmdline.add_argument("-v", "--verbose", action='store_true') cmdline.add_argument("-v", "--verbose", action='store_true')
cmdline.add_argument("--converters", 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="*") cmdline.add_argument("filename", type=str, nargs="*")
ns = cmdline.parse_args(argv) ns = cmdline.parse_args(argv)
...@@ -4406,7 +4409,12 @@ def main(argv): ...@@ -4406,7 +4409,12 @@ def main(argv):
print() print()
cmdline.print_usage() cmdline.print_usage()
sys.exit(-1) 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'): for rcs_dir in ('.svn', '.git', '.hg', 'build', 'externals'):
if rcs_dir in dirs: if rcs_dir in dirs:
dirs.remove(rcs_dir) dirs.remove(rcs_dir)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment