summaryrefslogtreecommitdiffstats
path: root/Lib/distutils
Commit message (Collapse)AuthorAgeFilesLines
* First crack at the Distutils "config" command. Unlike other commands, thisGreg Ward2000-06-061-0/+180
| | | | | | | | | | | | | | one doesn't *do* anything by default; it's just there as a conduit for data (eg. include dirs, libraries) from the user to the "build" commands. However, it provides a couple of Autoconf-ish methods ('try_compile()', 'try_link()', 'try_run()') that derived, per-distribution "config" commands can use to poke around the target system and see what's available. Initial experimenst with mxDateTime indicate that higher-level methods are necessary: analogs of Autoconf's AC_CHECK_HEADER, AC_CHECK_LIB will be needed too (and that's just to probe the C/C++ system: how to probe the Python system is wide open, and someday we'll have to worry about probing a Java system too).
* Fix 'reinitialize_command()' so it resets the 'have_run' flag for theGreg Ward2000-06-061-0/+1
| | | | command being reinitialized to false.
* Support for multiple distribution formats in one run.Greg Ward2000-06-061-17/+18
|
* 'get_outputs()' now returns an empty list instead of None.Greg Ward2000-06-061-1/+1
|
* Fixed syntax error.Greg Ward2000-06-041-9/+14
| | | | | | Half-fixed RPM 2 compatibility:added 'rpm_base' option, which must be set (to eg. /usr/src/redhat on a stock Red Hat system) if rpm2_mode is on. Still not quite working, though.
* Use 'ensure_string_list()' for 'formats' option, so that it can beGreg Ward2000-06-041-2/+1
| | | | spelled sensibly in a config file.
* Patch from Harry Henry Gebel:Greg Ward2000-06-041-59/+103
| | | | | | | | | | | | | | | | | Fills in question marks in help Reads scripts in from files rather than strings Adds RPM 2 compatibility mode (untested). Use of this mode requires that --bdist-base be specified because bdist_rpm has no way of detecting where RPM wants to find spec files and source files. An unmodified RedHat 5.0 system would require '--bdist-base=/usr/src/RedHat'. (You would also have to be root.) If the rpmrc file has been modified to allow RPMs to be built by normal users then --build-base would need to be changed accordingly. Formats the changelog. GPW: tweaked formatting, added some editorial comments.
* Added the 'ensure_*' methods from bdist_rpm; refactored 'ensure_filename()'Greg Ward2000-06-041-1/+72
| | | | and added 'ensure_dirname()'.
* Removed the 'ensure_*' methods -- they're just too handy too keep in oneGreg Ward2000-06-041-43/+1
| | | | command class, so they're now in the Command base class.
* Renamed 'modules' option to 'py_modules', for consistency with DistributionGreg Ward2000-06-041-13/+13
| | | | (and in order to generate a more sensible error message cleanly).
* Patch from Harry Henry Gebel: fixes a bit of code that slipped by myGreg Ward2000-06-031-2/+1
| | | | overhaul last night.
* Catch DistutilSetupError from the Distribution constructor.Greg Ward2000-06-031-1/+4
|
* Added a bunch of new globals in '_init_mac()' -- these will be needed toGreg Ward2000-06-031-1/+15
| | | | | support the forthcoming Cygwin/Mingw32 GCC-on-Windows patch. Standardized CVS id line.
* Bumped version number to 0.9pre (there will be a couple of code snapshotsGreg Ward2000-06-021-1/+1
| | | | | before the real release, but I want to make it clear that a major new release is on the way).
* Only print debugging output if DEBUG true.Greg Ward2000-06-021-6/+7
|
* Only print debugging output if DEBUG true (and deleted some of the moreGreg Ward2000-06-021-6/+7
| | | | extraneous debug prints).
* Use Distribution method 'dump_option_dicts()' for debugging output, and onlyGreg Ward2000-06-021-6/+6
| | | | do so if DEBUG is true.
* Ditched the obsolete '_get_package_data()' method and itsGreg Ward2000-06-021-142/+3
| | | | '_check_*()' helpers.
* Fairly massive overhaul to support getting RPM inputs (extra meta-data,Greg Ward2000-06-021-32/+230
| | | | | | | | | | | | | | | | | | | | | | | | | prep/build/etc. scripts, doc files, dependency info) from a config file rather than the dedicated "package_info" file. (The idea is that developers will provide RPM-specific info in the "[bdist_rpm]" section of setup.cfg, but of course it could also be supplied in the other config files, on the command line, or in the setup script -- or any mix of the above.) Major changes: * added a boatload of options to 'user_options' and 'initialize_options()': 'distribution_name', 'group', 'release', ... * added 'finalize_package_data()', which takes the place of '_get_package_data()' -- except it's called from 'finalize_options()', not 'run()', so we have everything figured out before we actually run the command * added 'ensure_string()', 'ensure_string_list()', 'ensure_filename()'; these take the place of '_check_string()' and friends. (These actually look like really useful type-checking methods that could come in handy all over the Distutils; should consider moving them up to Command and using them in other command classes' 'finalize_options()' method for error-checking). * various cleanup, commentary, and adaptation to the new way of storing RPM info in '_make_spec_file()'
* Reformatted and updated many docstrings.Greg Ward2000-06-023-139/+140
|
* Remember the list of archive files created in 'make_distribution()'.Greg Ward2000-06-011-1/+13
| | | | Added 'get_archive_files()' so outsiders can get their hands on that list.
* Oops, 'reinitialize_command()' forgot to return the command object if didn'tGreg Ward2000-06-011-1/+1
| | | | need to be reinitialized -- fixed.
* Added 'reinitialize_command()' method -- delegated to Distribution instance.Greg Ward2000-06-011-2/+6
| | | | Ensure 'make_archive()' method returns archive filename.
* Ensure that 'make_archive()' returns the name of the new archive file.Greg Ward2000-06-011-4/+5
|
* More tweaking to make this command act like other Distutils commands:Greg Ward2000-06-011-26/+29
| | | | | | | | | | | | | * added "--bdist-base" option to parameterize where we build the RPM (comes from "bdist" by default: "build/bdist.<plat>") * simplified/cleaned up some code in 'run()' in the process of removing (most) hard-coded directory names * if "--spec-only", drop spec file in "dist" rather than "redhat" (directory name still hard-coded, though) * use 'reinitialize_command()' to fetch the "sdist" object to tweak before running "sdist" command * use 'self.copy_file()' method rather than 'copy_file()' function * cosmetic tweaks to comments, error messages
* Regularize options a bit:Greg Ward2000-05-311-12/+19
| | | | | | | * help strings start with lowercase * added affirmative version of '--no-clean' and '--no-rpm-opt-flags', which are the default (thus the attributes that correspond to the options are now 'clean' and 'use_rpm_opt_flags')
* Renamed 'native_path()' to 'convert_path()'.Greg Ward2000-05-313-15/+11
| | | | | Also changed it so it doesn't barf if the path is already in native format (ie. contains os.sep).
* Normalize paths before writing them to a zipfile.Greg Ward2000-05-311-1/+1
|
* Fixed 'change_root() to work at all on Windows, and to work correctly on Unix.Greg Ward2000-05-311-10/+10
|
* Import the new Extension class, so setup scripts canGreg Ward2000-05-311-0/+4
| | | | "from distutils.core import" it.
* Overhauled to expect 'self.extensions' (taken from 'ext_modules' in theGreg Ward2000-05-311-66/+128
| | | | | | | | | | | | | | setup script) to be a list of Extension instances, rather than a list of of (ext_name, build_info) tuples. This is mostly a simplification, but 'check_extension_list()' got a lot more complicated because of the need to convert the old-style tuples to Extension instances. Temporarily dropped support for defining/undefining macros in the 'extensions' list -- I want to change the interface, but haven't yet made the required changes in CCompiler and friends to support this nicely. Also neatened up the code that merges 'extra_compile_flags' and the CFLAGS environment variable.
* Provides the Extension class, a nicer way to describe C/C++ extensions thanGreg Ward2000-05-311-0/+115
| | | | the old (ext_name, build_info) tuple.
* Cosmetic tweak.Greg Ward2000-05-301-1/+2
|
* Catch CCompiler exceptions in 'setup()'.Greg Ward2000-05-301-1/+2
|
* Import exceptions from errors.py, not ccompiler.py.Greg Ward2000-05-302-7/+7
|
* Removed exceptions -- now in errors.py to avoid expensive import of ccompiler.Greg Ward2000-05-301-16/+0
|
* Moved the CCompiler exceptions here, to avoid having to import ccompiler.pyGreg Ward2000-05-301-79/+78
| | | | | just to get a little exception class. No more string-based exceptions.
* Changed to catch compile/link failures and raise CompileError, LibError,Greg Ward2000-05-303-17/+74
| | | | or LinkError (exception classes defined in ccompiler.py).
* Added 'dump_options()' for debugging output.Greg Ward2000-05-281-0/+15
|
* Factored '_set_command_options()' out of 'get_command_obj()'.Greg Ward2000-05-281-8/+82
| | | | | | | | | | | | | Added 'reinitialize_command()' -- lets us "push" option values in a controlled, safe way; this is a small change to the code, but a big change to the Distutils philosophy of passing option values around. The preferred mode is still definitely to "pull" options from another command (eg. "install" fetches the base build directory from "build"), but it is now feasible to "push" options onto another command, when you know what's best for it. One possible application will be a "config" command, which pokes around the system and pushes values (eg. include and library directories) onto the "build" command. Added 'dump_option_dicts()' method (for debugging output).
* Changed order so 'clean' is right after the 'build' commands.Greg Ward2000-05-281-1/+1
|
* Only print debugging output if DEBUG (imported from distutils.core) is true.Greg Ward2000-05-281-14/+15
|
* Moved warnings out of 'finalize_options()' into 'run()'.Greg Ward2000-05-281-7/+13
| | | | Added a warning for 'bdist_base' directory.
* Some far-reaching naming changes:Greg Ward2000-05-2711-78/+59
| | | | | | | * Command method 'find_peer()' -> 'get_finalized_command()' * Command method 'run_peer()' -> 'run_command()' Also deleted the 'get_command_option()' method from Command, and fixed the one place where it was used (in "bdist_dumb").
* Patch from Andrew Kuchling: prune out the build and source distributionGreg Ward2000-05-271-0/+7
| | | | | | | | | | directories after all is said and done, so we don't accidentally include those files in the source distribution. (This is the quick and easy way to fix this; Andrew says: "Changing findall() looked like it was going to be messy, so I tried this instead. The only problem is that redundant directory traversals are being done, walking through build/ only to throw out all the files found at the end.").
* Support for the "install_headers" command: distribution option 'headers'Greg Ward2000-05-271-0/+4
| | | | and method 'has_headers()'.
* 'mkpath()' now detects non-string 'name' arguments -- this is a fairly commonGreg Ward2000-05-271-1/+7
| | | | | bug when adding new code, so I thought I'd make it blow up earlier than deep in posix.py.
* Tweaked description, help text.Greg Ward2000-05-271-3/+3
|
* Support for the "install_headers" command:Greg Ward2000-05-271-5/+22
| | | | | | | | | | | | | * 'headers' entry added to all the install schemes * '--install-headers' option added * 'install_headers' added to 'sub_commands' * added 'dist_name' to configuration variables (along with a few others that seem handy: 'dist_version', 'dist_fullname', and 'py_version' * in 'finalize_unix()', make sure 'install_headers' defined if user specified 'install_base' and/or 'install_platbase' * added 'has_headers()' * a few other small changes
* Added 'install_headers' command to install C/C++ header files.Greg Ward2000-05-272-0/+41
|