Added 'nuke_release_tree()' method to blow away the directory from
which the archive file(s) are created, and call it (conditionally)
from 'make_distribution()'.
Added 'keep_tree' option (false by default) to disable the call to
'nuke_release_tree()'.
install) the setup script itself.
Fixed 'build_module()' so we do *not* preserve file mode (which means
we can install read-only files, which makes the next installation
of this distribution fail -- at least under Unix); added a comment
explaining this.
Bunch of little bug fixes that appeared in building non-packagized
distributions. Mainly:
- brain-slip typo in 'get_package_dir()'
- don't try to os.path.join() an empty path tuple -- it doesn't like it
- more type-safety in 'build_module()'
Now supports the full range of intended formats (tar, ztar, gztar, zip).
"-f" no longer a short option for "--formats" -- conflicts with new
global option "--force"!
Catch up with renamed 'platdir' -> 'build_platlib' option in 'build'.
Don't call 'set_final_options()' in 'run()' anymore -- that's now
guaranteed to be taken care of for us by the Distribution instance.
If 'include_dirs' is a string, split it on os.pathsep (this is half-
hearted -- support for setting compile/link options on the command
line is totally lame and probably won't work at all).
Added 'get_source_files()' for use by 'dist' command.
Added code to 'build_extensions()' to figure out the "def file" to use
with MSVC++ and add it to the linker command line as an "extra_postarg".
Don't call 'set_final_options()' in 'run()' anymore -- that's now
guaranteed to be taken care of for us by the Distribution instance.
Rearranged to bit to allow outsiders (specifically, the 'dist' command)
to find out what modules we would build:
- 'find_modules()' renamed to 'find_package_modules()'
- most of 'build_modules()' abstracted out to 'find_modules()'
- added 'get_source_files()' (for the 'dist' command to use)
- drastically simplified 'build_modules()' -- now just a wrapper around
'find_modules()' and 'build_module()'
Tweaked some help strings to be consistent with documentation.
Don't call 'set_final_options()' in 'run()' anymore -- that's now
guaranteed to be taken care of for us by the Distribution instance.
distributions their own directory (and .pth file).
Overhauled how we determine installation directories in
'set_final_options()' to separate platform-dependence and take
'install_path' option into account.
Added 'create_path_file()' to create path config file when 'install_path'
given.
Only run 'install_py' and 'install_ext' when, respectively, there are
some pure Python modules and some extension modules in the distribution.
- rename 'dir' to 'build_dir'
- take 'package' from distribution option 'ext_package'
- take 'extensions' from distribution option 'ext_modules'
- take 'include_dirs' from distribution
Name keyword args explictly when calling CCompiler methods.
Overhauled how we generate extension filenames (in 'extension_filename()
and 'build_extension()') to take 'package' option into account.
'install_site_lib' and install_site_platlib' on non-POSIX platforms.
Should at least work for NT, as this is adopted from Amos Latteier's NT
patches. Also added extensive comments bitching about the inadequacy of
the current model, both under POSIX and NT (and probably other) systems.
of the 'install_py' command rather than 'build_py'. Obviously, this
meant that the 'build_py' and 'install_py' modules had to change; less
obviously, so did 'install' and 'build', since these higher-level
commands must make options available to control the lower-level
commands, and some compilation-related options had to migrate with the
code.