Fix #3400: make-mode don't use subprocess on building docs

This commit is contained in:
Takeshi KOMIYA 2017-02-25 16:48:08 +09:00
parent 341986c03a
commit e0fa1d05b0
2 changed files with 8 additions and 15 deletions

View File

@ -12,6 +12,7 @@ Features added
* Support requests-2.0.0 (experimental) (refs: #3367)
* (latex) PDF page margin dimensions may be customized (refs: #3387)
* #3400: make-mode doesn't use subprocess on building docs
Bugs fixed
----------

View File

@ -19,9 +19,9 @@ from __future__ import print_function
import os
import sys
from os import path
from subprocess import call
import sphinx
from sphinx import cmdline
from sphinx.util.console import bold, blue
from sphinx.util.osutil import cd, rmtree
@ -250,20 +250,12 @@ class Make(object):
if doctreedir is None:
doctreedir = self.builddir_join('doctrees')
orig_cmd = sys.argv[0]
if sys.platform == 'win32' and orig_cmd.endswith('.exe'):
# win32: 'sphinx-build.exe'
cmd = [orig_cmd]
elif sys.platform == 'win32' and os.path.splitext(orig_cmd)[1] == '':
# win32: 'sphinx-build' without extension
cmd = [orig_cmd + '.exe']
else:
# win32: 'sphinx-build.py'
# linux, mac: 'sphinx-build' or 'sphinx-build.py'
cmd = [sys.executable, orig_cmd]
return call(cmd + ['-b', builder] + opts +
['-d', doctreedir, self.srcdir, self.builddir_join(builder)])
args = [sys.argv[0],
'-b', builder,
'-d', doctreedir,
self.srcdir,
self.builddir_join(builder)]
return cmdline.main(args + opts)
def run_make_mode(args):