Commit Graph

641 Commits

Author SHA1 Message Date
Greg Ward ef850def44 Bump version to 1.0pre. 2000-09-27 02:26:57 +00:00
Greg Ward 264cf74e1a Remove deprecation warnings on old 'link_*()' methods, ie. they're not
deprecated after all.  But now they're only implemented once, instead
of N times.
2000-09-27 02:24:21 +00:00
Greg Ward 4240648a9d Big patch from Rene Liebscher to simplify the CCompiler API and
implementations.  Details:
  * replace 'link_shared_object()', 'link_shared_lib()', and
    'link_executable()' with 'link()', which is (roughly)
    the union of the three methods it replaces
  * in all implementation classes (UnixCCompiler, MSVCCompiler, etc.),
    ditch the old 'link_*()' methods and replace them with 'link()'
  * in the abstract base class (CCompiler), add the old 'link_*()'
    methods as wrappers around the new 'link()' (they also print
    a warning of the deprecated interface)

Also increases consistency between MSVCCompiler and BCPPCompiler,
hopefully to make it easier to factor out the mythical WindowsCCompiler
class.  Details:
  * use 'self.linker' instead of 'self.link'
  * add ability to compile resource files to BCPPCompiler
  * added (redundant?) 'object_filename()' method to BCPPCompiler
  * only generate a .def file if 'export_symbols' defined
2000-09-27 02:08:14 +00:00
Greg Ward 8b2e4e89bd Bump version to 0.9.4. 2000-09-27 00:17:08 +00:00
Greg Ward 2c08cf0ffa Fix '_set_command_options()' so it only calls 'strtobool()' on strings
(was crashing on any boolean command-line option!).
2000-09-27 00:15:37 +00:00
Greg Ward d8f7f81254 Bump version to 0.9.3. 2000-09-26 02:51:09 +00:00
Greg Ward ca4289f7b2 Reformat docstrings.
Standardize whitespace in function calls.
2000-09-26 02:13:49 +00:00
Greg Ward 071ed76732 Standardize whitespace in function calls. 2000-09-26 02:12:31 +00:00
Greg Ward 449f5568b7 Whitespace fix. 2000-09-26 02:03:34 +00:00
Greg Ward a30f7aca08 Reformat docstrings.
Standardize whitespace in function calls.
2000-09-26 02:00:51 +00:00
Greg Ward be86bdea73 Standardize whitespace in function calls. 2000-09-26 01:56:15 +00:00
Greg Ward fd7b91eff9 Standardize whitespace in function calls and docstrings. 2000-09-26 01:52:25 +00:00
Greg Ward 68ded6e6f1 Added 'translate_longopt()' function. 2000-09-25 01:58:31 +00:00
Greg Ward 2f2b6c62ba Change to use the new 'translate_longopt()' function from fancy_getopt, rather
than rolling our own with fancy_getopt's 'longopt_xlate' global.
2000-09-25 01:58:07 +00:00
Greg Ward d644ca2120 Added a bunch of missing "=" signs in the option table.
Removed script options -- don't think they ever worked, weren't
  very well thought through, etc.
2000-09-25 01:53:01 +00:00
Greg Ward af64aed5cf Renamed '--keep-tree' option to '--keep-temp', for consistency
with the bdist_* commands.
2000-09-25 01:51:01 +00:00
Greg Ward 99b032eaf2 Added 'boolean_options' list to support config file parsing. 2000-09-25 01:41:15 +00:00
Greg Ward 817dc098ef Added 'strtobool()' function: convert strings like "yes", "1",
"no", "0", etc. to true/false.
2000-09-25 01:25:06 +00:00
Greg Ward ceb9e226a6 Fixed some bugs and mis-features in handling config files:
* options can now be spelled "foo-bar" or "foo_bar" (handled in
    'parse_config_files()', just after we parse a file)
  * added a "[global]" section so there's a place to set global
    options like verbose/quiet and dry-run
  * respect the "negative alias" dictionary so (eg.) "quiet=1" is
    the same as "verbose=0" (this had to be done twice: once in
    'parse_config_file()' for global options, and once in
    '_set_command_options()' for per-command options)
  * the other half of handling boolean options correctly: allow
    commands to list their boolean options in a 'boolean_options'
    class attribute, and use it to translate strings (like "yes", "1",
    "no", "0", etc) to true or false
2000-09-25 01:23:52 +00:00
Greg Ward f84fb660cb Split 'run()' up into 'build()', 'install()', and 'bytecompile()' (for
easier extensibility).
2000-09-23 01:20:19 +00:00
Greg Ward 7b87c0e1bb Whitespace tweaks. 2000-09-23 01:10:10 +00:00
Greg Ward 9e3dc4e928 Reformat docstrings.
Standardize use of whitespace on function calls.
2000-09-23 00:59:34 +00:00
Greg Ward ab7983939b Tweak what happens when run on non-Windows platforms: set install prefix
as well as scheme, and don't convert all installation paths (that's now
done by the "install" command for us).
2000-09-22 01:32:34 +00:00
Greg Ward 379a02ffa9 Changed all paths in the INSTALL_SCHEMES dict to Unix syntax, and added
'convert_paths()' method to convert them all to the local syntax (backslash
or colon or whatever) at the appropriate time.

Added SCHEME_KEYS to get rid of one hard-coded list of attributes (in
'select_scheme()').

Default 'install_path_file' to true, and never set it false (it's just
there in case some outsider somewhere wants to disable installation of the
.pth file for whatever reason).

Toned down the warning emitted when 'install_path_file' is false, since we
no longer know why it might be false.

Added 'warn_dir' flag to suppress warning when installing to a directory
not in sys.path (again, we never set this false -- it's there for outsiders
to use, specifically the "bdist_*" commands).

Pulled the loop of 'change_root()' calls out to new method 'change_roots()'.

Comment updates/deletions/additions.
2000-09-22 01:31:08 +00:00
Greg Ward 7ec053544c Fix 'convert_path()' so it returns immediately under Unix -- prevents blowing
up when the pathname starts with '/', which is needed when converting
installation directories in the "install" command.
2000-09-22 01:05:43 +00:00
Greg Ward f5855746fe Corran Webster: fix 'change_root()' to handle Mac OS paths. 2000-09-21 01:23:35 +00:00
Greg Ward 9c0ea13ece *Very* belated application of Thomas Heller's patch to handle
resource files.  The gist of the patch is to treat ".rc" and ".mc"
files as source files; ".mc" files are compiled to ".rc" and then
".res", and ".rc" files are compiled to ".res".  Wish I knew what
all these things stood for...
2000-09-19 23:56:43 +00:00
Thomas Heller 543f2438ba Set the 'nt' installation scheme for the install command even if run
on other systems, so that data, headers, scripts are included in
the installer.
2000-09-19 11:10:23 +00:00
Greg Ward 9082cdd009 Catch up to recent changes in TextFile (spotted by Bastian Kleineidam). 2000-09-18 00:41:10 +00:00
Greg Ward df9e6b8196 Fixed to respect 'define_macros' and 'undef_macros' on Extension object. 2000-09-17 00:54:58 +00:00
Greg Ward d283ce7364 Added 'expand_makefile_vars()' to (duh) expand make-style variables
in a string (gives you something to do with the dictionary returned
  by 'parse_makefile()').
Pulled the regexes in 'parse_makefile()' out -- they're now globals,
  as 'expand_makefile_vars()' needs (two of) them.
Cosmetic tweaks to 'parse_makefile()'.
2000-09-17 00:53:02 +00:00
Greg Ward 41ed12ffe9 Added 'read_setup_file()' to read old-style Setup files. Could make life
easier for people porting Makefile.pre.in-based extensions to Distutils.
Also loosened argument-checking in Extension constructor to make life
  easier for 'read_setup_file()'.
2000-09-17 00:45:18 +00:00
Greg Ward acff0b3f3b Changed so lines that are all comment (or just whitespace + comment)
are completely skipped, rather than being treated as blank lines
(and then subject to the 'skip_blanks' flag).  This allows us
to process old-style Setup files, which rely on
  hello \\
  # boo!
  there
coming out as "hello there".
2000-09-16 18:33:36 +00:00
Greg Ward 3d05c16003 Andrew Kuchling:
Fixed precendence bug that meant setting skip_blanks to false didn't work
under some circumstances.
2000-09-16 18:09:22 +00:00
Greg Ward f11296bdea [change from 2000/08/11, propagating now to distutils copy]
Factored the guts of 'warn()' out to 'gen_error()', and added the
'error()' method (trivial thanks to the refactoring).
2000-09-16 18:06:31 +00:00
Greg Ward 60cd2864fe [change from 2000/04/17, propagating now to distutils copy]
Dropped the 'collapse_ws' option and replaced it with 'collapse_join' --
it's *much* faster (no 're.sub()') and this is the reason I really added
'collapse_ws', ie. to remove leading whitespace from a line being joined
to the previous line.
2000-09-16 18:04:55 +00:00
Greg Ward beb6d72f31 Rene Liebscher: if we have to run the same sub-command multiple times
(eg. "bdist_dumb", to generate both ZIP and tar archives in the same
run), tell all but the last run to keep temp files -- this just gets
rid of the need to pseudo-install the same files multiple times.
2000-09-16 16:04:59 +00:00
Greg Ward 3bfc8c8068 Renamed --keep-tree to --keep-temp. 2000-09-16 15:56:32 +00:00
Greg Ward 8099f0e5fc Renamed --clean to --no-keep-temp and --noclean to --keep-temp. 2000-09-16 15:54:18 +00:00
Greg Ward 8429036496 Renamed --keep-tree option to --keep-temp. 2000-09-16 15:53:41 +00:00
Greg Ward 24511d2a6e Ensure sub-commands of "install" are reinitialized too.
Run "install" the right way, by calling 'run_command()'.
2000-09-16 15:30:47 +00:00
Greg Ward 47ec20757d Remove some debugging output from the last change. 2000-09-16 15:27:17 +00:00
Greg Ward ecce14522c In 'reinitialize_subcommand()', pass 'reinit_subcommands' flag on to the
real implementation in Distribution.
2000-09-16 15:25:55 +00:00
Greg Ward f449ea51aa Generalized 'reinitialize_command()' so it can optionally reinitialize
the command's sub-commands as well (off by default).  This is essential if
we want to be be able to run (eg.) "install" twice in one run, as happens
when generating multiple built distributions in one run.
2000-09-16 15:23:28 +00:00
Greg Ward b3e0ad9804 Added the "sub-command" machinery to formalize the notion of "command
families" -- eg. install and its brood, build and its brood, and so forth.
Specifically: added the 'sub_commands' class attribute (empty list, sub-
classes must override it) and a comment describing it, and the
'get_sub_commands()' method.
2000-09-16 15:09:17 +00:00
Greg Ward fadefedb89 Factored the "sub-command" machinery out to Command. Mainly, this
meant removing 'get_sub_commands()', and moving the 'sub_commands' class
attribute to the end and restructuring it to conform to the new regime.
2000-09-16 15:06:57 +00:00
Greg Ward 53db8154e6 Tweaked the build temp dir names again. 2000-09-16 02:06:45 +00:00
Greg Ward e918b6fdb5 Typo fix. 2000-09-16 01:59:06 +00:00
Greg Ward 42900941b8 Include the Python version in the platform-specific build directories:
with the recent change in 'get_platform()', we now have directory names
like "build/lib-1.5-linux-i586".  Idea and original patch by
Rene Liebscher.
2000-09-16 01:54:46 +00:00
Greg Ward 9ae7c3c9a5 Document the directory separatory for include dir and library dir lists. 2000-09-16 01:44:45 +00:00