Patch #736857, #736859: Add -e option to build_scripts.

This commit is contained in:
Martin v. Löwis 2004-08-25 11:37:43 +00:00
parent be83737c7c
commit 9f5c0c41ce
4 changed files with 16 additions and 3 deletions

4
Doc/dist/dist.tex vendored
View file

@ -640,7 +640,9 @@ started from the command line. Scripts don't require Distutils to do
anything very complicated. The only clever feature is that if the
first line of the script starts with \code{\#!} and contains the word
``python'', the Distutils will adjust the first line to refer to the
current interpreter location.
current interpreter location. By default, it is replaced with the
current interpreter location. The '--executable=/-e' switch will
allow the interpreter path to be explicitly overridden.
The \option{scripts} option simply is a list of files to be handled
in this way. From the PyXML setup script:

View file

@ -40,6 +40,8 @@ class build (Command):
"compile extensions and libraries with debugging information"),
('force', 'f',
"forcibly build everything (ignore file timestamps)"),
('executable=', 'e',
"specify final destination interpreter path (build.py)"),
]
boolean_options = ['debug', 'force']
@ -61,6 +63,7 @@ class build (Command):
self.compiler = None
self.debug = None
self.force = 0
self.executable = None
def finalize_options (self):
@ -93,6 +96,8 @@ class build (Command):
self.build_scripts = os.path.join(self.build_base,
'scripts-' + sys.version[0:3])
if self.executable is None:
self.executable = os.path.normpath(sys.executable)
# finalize_options ()

View file

@ -24,6 +24,7 @@ class build_scripts (Command):
user_options = [
('build-dir=', 'd', "directory to \"build\" (copy) to"),
('force', 'f', "forcibly build everything (ignore file timestamps"),
('executable=', 'e', "specify final destination interpreter path"),
]
boolean_options = ['force']
@ -33,12 +34,14 @@ class build_scripts (Command):
self.build_dir = None
self.scripts = None
self.force = None
self.executable = None
self.outfiles = None
def finalize_options (self):
self.set_undefined_options('build',
('build_scripts', 'build_dir'),
('force', 'force'))
('force', 'force'),
('executable', 'executable'))
self.scripts = self.distribution.scripts
def get_source_files(self):
@ -95,7 +98,7 @@ class build_scripts (Command):
outf = open(outfile, "w")
if not sysconfig.python_build:
outf.write("#!%s%s\n" %
(os.path.normpath(sys.executable),
(self.executable,
post_interp))
else:
outf.write("#!%s%s\n" %

View file

@ -57,6 +57,9 @@ Extension modules
Library
-------
- distutils build/build_scripts now has an -e option to specify the
path to the Python interpreter for installed scripts.
- PEP 292 classes Template and SafeTemplate are added to the string module.
- tarfile now generates GNU tar files by default.