Commit Graph

613 Commits

Author SHA1 Message Date
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
Greg Ward bbba66eb7d Added 'warn_dir' option so other code can sneak in and disable
the sometimes inappropriate warning about where we're installing data files.
2000-09-15 01:21:07 +00:00
Greg Ward 9bd3e9b6b2 Adjust to the new sysconfig regime: use 'get_config_vars()' instead
of globals from sysconfig.
Added 'prefix' and 'exec_prefix' to the list of variables that can be
  expanded in installation directories (preserving the stupid old names
  of 'sys_prefix' and 'sys_exec_prefix, though).
2000-09-15 01:20:10 +00:00
Greg Ward d602909128 Adjust to the new sysconfig regime: use 'get_config_var()' instead
of globals from sysconfig.
2000-09-15 01:19:03 +00:00
Greg Ward 59399bb303 Revamped 'get_platform()' to try and do something reasonably smart on
POSIX platforms, ie. get a little more detail than 'sys.platform' gives.
2000-09-15 01:16:14 +00:00
Greg Ward 879f0f11ba Changed from eager parsing of Makefile (at import time) to lazy: only do
all that work when someone asks for a "configuration variable" from the
Makefile.  Details:
  - added 'get_config_vars()': responsible for calling one of the
    '_init_*()' functions to figure things out for this platform,
    and to provide an interface to the resulting dictionary
  - added 'get_config_var()' as a simple interface to the dictionary
    loaded by 'get_config_vars()'
  - changed the '_init_*()' functions so they load the global dictionary
    '_config_vars', rather than spewing their findings all over
    the module namespace
  - don't delete the '_init_*()' functions when done importing
  - adjusted 'customize_compiler()' to the new regime
2000-09-15 01:15:08 +00:00
Greg Ward 3fff8d2969 Fixed so 'parse_makefile()' uses the TextFile class to ensure that
comments are stripped and lines are joined according to the backslash
convention.
2000-09-15 00:03:13 +00:00
Greg Ward 3a0310a328 Added --force (-f) option to force installation (including bytecode
compilation).
2000-09-13 01:02:25 +00:00
Greg Ward 1830b21186 Bump version to 0.9.3pre. 2000-09-13 00:44:09 +00:00
Greg Ward d75a276026 Fix install directories on Mac OS: now everything goes to
<prefix>:Lib:site-packages.
2000-09-13 00:12:11 +00:00
Greg Ward 7ac743bd72 Bastian Kleineidam: fix so it cleans up the temporary script-building
directory too.  Also generally cleaned up the code.
2000-09-12 00:07:49 +00:00
Greg Ward 8fd7ba2c6a Delete some debugging prints. 2000-09-11 00:50:37 +00:00
Greg Ward 20283e5cc3 Added --plat-name option to override sysconfig.get_platform() in
generated filenames.
2000-09-11 00:47:35 +00:00
Greg Ward d0e4b42ee2 Added --python and --fix-python options for better control over what
interpreter the .spec file refers to.
Cosmetic tweaks.
2000-09-10 01:21:27 +00:00
Thomas Heller ecaf0d8b47 The installer now displays info about version of distutils
used to create the distribution and the creation date.

Takes care of the extra_path argument to the setup function,
installs the modules into <prefix>/extra_path and creates
a -pth file (like install_lib does).
2000-09-09 21:15:12 +00:00
Thomas Heller b943840a78 The windows installer must also look under the HKEY_CURRENT_USER key
for python installations, not only under HKEY_LOCAL_MACHINE.
2000-09-09 19:52:49 +00:00
Thomas Heller 904ca11a87 Changes:
distutils/command/bdist_wininst.py:
- the windows installer is again able to compile after installing
  the files. Note: The default has changed, the packager has to
  give --no-target-compile/--no-target-optimize to NOT compile
  on the target system. (Another note: install_lib's --compile
  --optimize options have the same semantics to switch off
  the compilation. Shouldn't the names change?)
- All references to specific python versions are gone.
- A small bug:
    raise DistutilsPlatformError ("...")
  instead of
    raise DistutilsPlatformError, ("...")
- When bdist_wininst creates an installer for one specific python
  version, this is reflected in the name:
    Distutils-0.9.2.win32-py15.exe instead of
    Distutils-0.9.2.win32.exe
- bdist_wininst, when run as script, reads the wininst.exe file
  and rewrites itself. Previously this was done by hand.

misc/install.c
- All the changes needed for compilation
- Deleted a lot of debug/dead code
2000-09-07 15:59:22 +00:00
Greg Ward 8d5b5ec513 Typo fix. 2000-09-07 02:38:42 +00:00
Greg Ward 5fad268ffc Bullet-proofing of 'make_release_tree()':
- 'mkpath()' the distribution dir in case of empty manifest
  - warn if empty manifest
  - detect, warn about, and skip non-regular files in manifest
2000-09-06 02:18:59 +00:00
Greg Ward d3b76a8fbf Reorganized logic in 'get_file_list()' so it's easier to read, and fixed a
bug to boot: now works even if both MANIFEST and MANIFEST.in don't exist.
Don't hardcode setup.py, use 'self.distribution.script_name'.
2000-09-06 02:08:24 +00:00
Greg Ward 6a2035d76b Typo fix. 2000-09-06 02:06:27 +00:00
Greg Ward 1ac9802748 Rene Liebscher/Thomas Heller:
* ensure the "dist" directory exists
* raise exception if using for modules containing compiled extensions
  on a non-win32 platform.
* don't create an .ini file anymore (it was just for debugging)
2000-09-01 01:44:45 +00:00
Greg Ward cec1568625 Rene Liebscher:
* reverse library names from bcpp_library to library_bcpp
* move some code to the right places, to put the def-files
  in the right directories again
2000-09-01 01:28:33 +00:00
Greg Ward 7483d6803b Rene Liebscher: comment fixes. 2000-09-01 01:24:31 +00:00
Greg Ward 66e966f7bd Rene Liebscher: hack '_init_posix()' to handle the BeOS linker script.
(With a worry-wart comment added by me about where we *should* add the
Python library to the link.)
2000-09-01 01:23:26 +00:00
Greg Ward b3b6d395e4 Bump version to 0.9.2. 2000-09-01 01:00:40 +00:00
Greg Ward e3644e245e Added 'run_setup()' to allow outsiders to run a setup script under
fairly tight control, and the '_setup_stop_after' and '_setup_distribution'
globals to provide the tight control.

This isn't entirely reliable yet: it dies horribly with a NameError on the
example PIL setup script in examples/pil_setup.py (at least with Python
1.5.2; untested with current Python).  There's some strangeness going
on with execfile(), but I don't understand it and don't have time
to track it down right now.
2000-09-01 00:52:45 +00:00
Greg Ward 8a98cd9e25 Add /GX to 'compile_options'. This is definitely needed for C++ source;
according to the MS docs it enables exception-handling, and (according
to Alex Martelli <aleaxit@yahoo.com>) is needed to compile without
getting warnings from standard C++ library headers.  Apparently
it doesn't cause any problems with C code, so I haven't bothered
conditionalizing the use of /GX.
2000-08-31 00:31:07 +00:00
Greg Ward 408e9ae299 Add ".cxx" to the list of known C++ extensions. 2000-08-30 17:32:24 +00:00