Commit Graph

1084 Commits

Author SHA1 Message Date
Skip Montanaro fa012610c4 new method: has_function() - returns a boolean indicating whether the
argument function is available on the current platform
2003-04-24 19:49:23 +00:00
Jason Tishler d7e83a1d51 Patch #718049: Setting exe_extension for cygwin
On cygwin, the setup.py script uses unixccompiler.py for compiling and linking
C extensions. The unixccompiler.py script assumes that executables do not get
special extensions, which makes sense for Unix.  However, on Cygwin,
executables get an .exe extension.

This causes a problem during the configuration step (python setup.py config),
in which some temporary executables may be generated. As unixccompiler.py does
not know about the .exe extension, distutils fails to clean up after itself: it
does not remove _configtest.exe but tries to remove _configtest instead.

The attached patch to unixccompiler.py sets the correct exe_extension for
cygwin by checking if sys.platform is 'cygwin'. With this patch, distutils
cleans up after itself correctly.

Michiel de Hoon
University of Tokyo, Human Genome Center.
2003-04-18 17:27:47 +00:00
Jason Tishler 21664d854f Patch #709178: remove -static option from cygwinccompiler
After some more reflection (and no negative feedback), I am reverting the
original patch and applying my version, cygwinccompiler.py-shared.diff,
instead.

My reasons are the following:

1. support for older toolchains is retained
2. support for new toolchains (i.e., ld -shared) is added

The goal of my approach is to avoid breaking older toolchains while adding
better support for newer ones.
2003-04-14 12:51:26 +00:00
Jason Tishler dcae0dc4ed Patch #718551: cygwinccompiler.get_versions() patch
The cygwinccompiler.get_versions() function only handles versions numbers of
the form "x.y.z".  The attached patch enhances get_versions() to handle "x.y"
too (i.e., the ".z" is optional).

This change causes the unnecessary "--entry _DllMain@12" link option to be
suppressed for recent Cygwin and Mingw toolchains. Additionally, it directs
recent Mingw toolchains to use gcc instead of dllwrap during linking.
2003-04-09 20:13:59 +00:00
Jason Tishler 70367d3a6c Patch #709178: remove -static option from cygwinccompiler
Currently, the cygwinccompiler.py compiler handling in
distutils is invoking the cygwin and mingw compilers
with the -static option.

Logically, this means that the linker should choose to
link to static libraries instead of shared/dynamically
linked libraries.

Current win32 binutils expect import libraries to have
a .dll.a suffix and static libraries to have .a suffix.
If -static is passed, it will skip the .dll.a
libraries. This is pain if one has a tree with both
static and dynamic libraries using this naming
convention, and wish to use the dynamic libraries.

The -static option being passed in distutils is to get
around a bug in old versions of binutils where it would
get confused when it found the DLLs themselves.

The decision to use static or shared libraries is site
or package specific, and should be left to the setup
script or to command line options.
2003-04-09 16:03:57 +00:00
Andrew M. Kuchling 058a84f36a Remove the --verify option in favor of the standard -n/--dry-run option 2003-04-09 12:35:51 +00:00
Andrew M. Kuchling a52b85262a [Bug #693470] 'licence' as an alias for 'license' doesn't work.
This patch makes it work again.
2003-03-03 20:07:27 +00:00
Andrew M. Kuchling a2eaf31727 [Bug #69389] List register command in __all__, so setup.py --help-commands will now list it 2003-03-03 18:37:16 +00:00
Andrew M. Kuchling a9ccce3fee Improve description 2003-03-03 18:26:01 +00:00
Andrew M. Kuchling e557f3556f [Patch #695090 from Bernhard Herzog] Allow specifying both py_modules and packages 2003-02-28 22:03:04 +00:00
Andrew M. Kuchling 10da45e237 [Bug #668662] Patch from Pearu Pearson: if a C source file is
specified with an absolute path, the object file is also
    written to an absolute path.  The patch drops the drive and
    leading '/' from the source path, so a path like /path/to/foo.c
    results in an object file like build/temp.i686linux/path/to/foo.o.
2003-02-26 18:52:07 +00:00
Guido van Rossum af16065918 announce(): use the level argument to control the log level. 2003-02-20 02:10:08 +00:00
Guido van Rossum a85dbeb61f set_verbosity(): do something reasonable for out-of-range verbosity
levels.  (Previously, -vvv would be the same as -q!)
2003-02-20 02:09:30 +00:00
Andrew M. Kuchling 80be59b275 Include download_url in the data POSTed to the catalog server 2003-02-19 14:27:21 +00:00
Andrew M. Kuchling 188d85f475 [Patch #683939] Add download_url field to metadata 2003-02-19 14:16:01 +00:00
Andrew M. Kuchling 23c98c5f47 [Patch #684398] Rename verbose argument to show-response; don't conditionalize the get_classifiers() call 2003-02-19 13:49:35 +00:00
Andrew M. Kuchling e12dcd7ff4 Use python.org as the repository 2003-02-18 21:28:20 +00:00
Andrew M. Kuchling 679bc9fce5 [Patch #681504] Call customize_compiler in config command 2003-02-18 01:28:51 +00:00
Jack Jansen 4f82a513ca Pick up Makefile variable BASECFLAGS too. This is needed since OPT was
split into OPT and BASECFLAGS (Makefile.pre.in rev. 1.108), because
now there are essential CFLAGS in BASECFLAGS.
2003-02-10 14:02:33 +00:00
Just van Rossum ca3fec7162 patch #664131, fix config command on OSX and Linux 2003-02-03 11:43:54 +00:00
Thomas Heller 9582794c17 Pass the preprocessor options also to the resource compiler
when compiling .RC files.

From Robin Dunn, fixes SF # 669198.
2003-01-31 20:40:15 +00:00
Guido van Rossum d3590f937f Only log a message and chmod() when the mode isn't already what we
want it to be.  Log both the old and new mode.
2003-01-29 16:58:31 +00:00
Andrew M. Kuchling 6ffdaab808 Remove the recently-added get_distutil_options(), and just
have two tuples listing the legal keywords for setup() and Extension()
2003-01-27 16:30:36 +00:00
Guido van Rossum bcb0e20091 Change the mode of scripts in the build/scripts* directory to
executable.
2003-01-24 14:56:52 +00:00
Andrew M. Kuchling b8c7b9f0cc Translate spaces in the machine name to underscores
(Power Macintosh -> Power_Macintosh)
2003-01-06 13:28:12 +00:00
Andrew M. Kuchling 51a6a4c835 [Patch #658094 ] PEP 301 implementation
Add the 'register' distutils command
2003-01-03 15:29:28 +00:00
Andrew M. Kuchling 282e2c36ba [Patch #658094] PEP 301 implementation
Add 'classifiers' keyword to DistributionMetadata
2003-01-03 15:24:36 +00:00
Andrew M. Kuchling 8c6e0ec16a Bug #599248: strip directories when building Python. Out-of-tree builds should work again. 2002-12-29 17:00:57 +00:00
Marc-André Lemburg 0375079e93 Adding Python <= 2.2 support back in. 2002-12-03 08:45:11 +00:00
Andrew M. Kuchling 8e30bcdaaf Fix mode on scripts to have the read bit set (noted by Nicholas Riley) 2002-11-29 19:45:58 +00:00
Andrew M. Kuchling 31ddfb6942 [Part of patch #641685] Add .dylib as an extension for shared libraries 2002-11-27 13:45:26 +00:00
Fred Drake 94e7bb7dd6 Use "is" to test type objects, not "==". 2002-11-26 21:28:23 +00:00
Andrew M. Kuchling acd5cb2ff0 Fix for bug #410541: bdist builds bogus .zips
This adds a --relative option to the bdist_dumb command that defaults
to false; if true, the .tar.gz or .zip will be assembled using relative
paths.
2002-11-26 17:45:19 +00:00
Andrew M. Kuchling 40f23e0ddf Part of the fix for bug #410541: add ensure_relative() function 2002-11-26 17:42:48 +00:00
Thomas Heller 450cafae28 (This is hopefully the last large, funny checkin message for
bdist_wininst.py we will see.)

Removed the base64 encoded binary contents, wininst.exe must be in the
same directory as this file now.

wininst.exe must be recompiled and commited each time the sources in
PC/bdist_wininst are changed.
2002-11-22 21:08:34 +00:00
Thomas Heller 3a23c3fae1 get_python_version was not imported. 2002-11-22 20:57:20 +00:00
Andrew M. Kuchling fec3262691 Reflow comment 2002-11-21 20:41:07 +00:00
Martin v. Löwis 69ceb33bac Patch #642019: Recognize gcc-x.y as gcc. 2002-11-21 20:33:24 +00:00
Andrew M. Kuchling cdd215789c Bug #639118 from Ollie Oldham: archiver should use zipfile before zip
Previously archive_util.py attempted to spawn an
        external 'zip' program for the zip action, if this fails, an
        attempt to import zipfile.py is made...

        This bites folks who have 'old' or non-conforming zip
        programs on windows platforms.  This change tries the 'zipfile'
        module first, falling back to spawning a zip process if
        the module isn't available.
2002-11-21 18:33:28 +00:00
Andrew M. Kuchling 2db92a6ee1 Add missing import 2002-11-20 16:10:29 +00:00
Andrew M. Kuchling d448f66317 Add comment to Distutil files about requiring 1.5.2 compatibility, as
suggested by PEP 291.
2002-11-19 13:12:28 +00:00
Andrew M. Kuchling a6483d2e9a Remove 'created by' lines; people can use CVS for this, and the information is often out of date 2002-11-14 02:25:42 +00:00
Andrew M. Kuchling f6756e8dd4 Fix docstring typo; remove 'created' line 2002-11-14 01:58:48 +00:00
Andrew M. Kuchling 1cace1a30a [Bug #550364] Use sysconfig.get_python_version() 2002-11-14 01:44:35 +00:00
Andrew M. Kuchling 0ff98b9346 [Bug #550364] Add get_python_version() 2002-11-14 01:43:00 +00:00
Andrew M. Kuchling 9a38dcf057 [Bug #599248] ext module generation problem
If you have source files srcdir1/foo.c and srcdir2/foo.c, the
temporary .o for both files is written to build/temp.<platform>/foo.o.
This patch sets strip_dir to false for both calls to object_filename,
so now the object files are written to temp.<platform>/srcdir1/foo.o
and .../srcdir2/foo.o.

2.2 bugfix candidate
2002-11-14 01:29:00 +00:00
Andrew M. Kuchling 3f1c9a916f Allow unknown keyword arguments to the Extension class, and warn about them. 2002-11-13 20:54:21 +00:00
Andrew M. Kuchling 33635aaf93 Back out part of rev. 1.53, restoring the use of the string module.
The two long lines have been reflowed differently; hopefully someone on
BeOS can test them.  Rev. 1.53 also converted string.atoi() to int(); I've
left that alone.
2002-11-13 17:03:05 +00:00
Andrew M. Kuchling 8557156717 Update file 2002-11-13 13:26:59 +00:00
Andrew M. Kuchling 91e77536e8 [Bug #233259] Ugly traceback for DistutilsPlatformError
Fixed by catching all exceptions that are subclasses of DistutilsError,
  so only the error message will be printed.  You can still get the
  whole traceback by enabling the Distutils debugging mode.
2002-11-08 16:18:24 +00:00
Andrew M. Kuchling 706867c20c Fix comment typo 2002-11-08 15:11:42 +00:00
Thomas Heller 492620ae5e Use dynamic linking for the SHGetSpecialFolderPath function, it is not
always available on Windows NT. When the function cannot be loaded,
get_special_folder_path raises OSError, "function not available".

Compiled the exe, and rebuilt bdist_wininst.py.
2002-11-07 16:46:19 +00:00
Thomas Heller 8560bb8167 Fix a small bug when sys.argv[0] has an absolute path.
See http://mail.python.org/pipermail/distutils-sig/2002-November/003039.html
2002-11-07 16:41:38 +00:00
Gustavo Niemeyer fbceb01ef0 Fixed bug "[#466200] ability to specify a 'verify' script".
* Lib/distutils/command/bdist_rpm.py
  (bdist_rpm.initialize_options): Included verify_script attribute.
  (bdist_rpm.finalize_package_data): Ensure that verify_script is a filename.
  (bdist_rpm._make_spec_file): Included verify_script in script_options
  tuple.

* Misc/NEWS
  Mention change.
2002-11-06 18:44:26 +00:00
Jeremy Hylton cd8fdbb3fa Repair inconsistent use of tabs and spaces. 2002-11-05 20:27:17 +00:00
Jeremy Hylton a5f4c071b5 Remove use of string module and reflow a couple of long lines. 2002-11-05 20:11:08 +00:00
Gustavo Niemeyer 6b016852f8 This patch fixes the following bugs:
[#413582] g++ must be called for c++ extensions
[#454030] distutils cannot link C++ code with GCC

topdir = "Lib/distutils"

* bcppcompiler.py
  (BCPPCompiler.create_static_lib): Fixed prototype, removing extra_preargs
  and extra_postargs parameters. Included target_lang parameter.
  (BCPPCompiler.link): Included target_lang parameter.

* msvccompiler.py
  (MSVCCompiler.create_static_lib): Fixed prototype, removing extra_preargs
  and extra_postargs parameters. Included target_lang parameter.
  (MSVCCompiler.link): Included target_lang parameter.

* ccompiler.py
  (CCompiler): New language_map and language_order attributes, used by
  CCompiler.detect_language().

  (CCompiler.detect_language): New method, will return the language of
  a given source, or list of sources. Individual source language is
  detected using the language_map dict. When mixed sources are used,
  language_order will stablish the language precedence.

  (CCompiler.create_static_lib, CCompiler.link, CCompiler.link_executable,
   CCompiler.link_shared_object, CCompiler.link_shared_lib):
  Inlcuded target_lang parameter.

* cygwinccompiler.py
  (CygwinCCompiler.link): Included target_lang parameter.

* emxccompiler.py
  (EMXCCompiler.link): Included target_lang parameter.

* mwerkscompiler.py
  (MWerksCompiler.link): Included target_lang parameter.

* extension.py
  (Extension.__init__): New 'language' parameter/attribute, initialized
  to None by default. If provided will overlap the automatic detection
  made by CCompiler.detect_language(), in build_ext command.

* sysconfig.py
  (customize_compiler): Check Makefile for CXX option, and also the
  environment variable CXX. Use the resulting value in the 'compiler_cxx'
  parameter of compiler.set_executables().

* unixccompiler.py
  (UnixCCompiler): Included 'compiler_cxx' in executables dict, defaulting
  to 'cc'.
  (UnixCCompiler.create_static_lib): Included target_lang parameter.
  (UnixCCompiler.link): Included target_lang parameter, and made
  linker command use compiler_cxx, if target_lang is 'c++'.

* command/build_ext.py
  (build_ext.build_extension): Pass new ext.language attribute
  to compiler.link_shared_object()'s target_lang parameter. If
  ext.language is not provided, detect language using
  compiler.detect_language(sources) instead.

* command/config.py
  (config._link): Pass already available lang parameter as target_lang
  parameter of compiler.link_executable().
2002-11-05 16:12:02 +00:00
Thomas Heller d7c14c6c9b Must now give the basename - not including directories - of the
install-script on the command line.

Recreated after recompilation of wininst.exe.
2002-11-05 10:06:19 +00:00
Andrew M. Kuchling 29c8623e5c [Patch #588809] LDFLAGS support for build_ext.py, from Robert Weber
customize_compiler() now looks at various environment variables and uses
   their values to override the configured C compiler/preprocessor/linker
   binary and flags.
2002-11-04 19:53:24 +00:00
Andrew M. Kuchling 47ca2bc661 [Patch #588809] Remove check of environment variables; sysconfig.py will do that now 2002-11-04 19:50:03 +00:00
Andrew M. Kuchling e2d1214c42 [Bug #620630] Flush stdout after logging every message. Without it,
when output is redirected to a file, compiler error messages show
   up before Distutils prints the command being invoked.
2002-11-04 14:27:43 +00:00
Andrew M. Kuchling 33a5edf89c Add get_distutil_options(); future setup.py files can use this to check
whether the Distutils being used supports a particularly capability.

   (This idea was originally suggested by Juergen Hermann as a method
    on the Distribution class.  I think it makes more sense as a
    function in core.py, and that's what this patch implements.)
2002-11-04 13:45:15 +00:00
Andrew M. Kuchling b6c316f134 [Bug #570655] Fix misleading option text 2002-11-04 13:33:07 +00:00
Thomas Heller 05c9335659 Fixes SF bug#614051: win32 build_ext problem. 2002-10-31 14:26:37 +00:00
Andrew M. Kuchling ccf4e421b8 Catch only ImportError 2002-10-31 13:39:33 +00:00
Andrew M. Kuchling ff4ad9a1ce Make the Distribution() constructor forgiving of unknown keyword
arguments, triggering a warning instead of raising an exception.  (In
1.5.2/2.0, it will print to stderr.)

Bugfix candidate for all previous versions.  This changes behaviour,
but the old behaviour wasn't very useful.  If Distutils version X+1
adds a new keyword argument, using the new keyword means your setup.py
file won't work with Distutils version X any more.
2002-10-31 13:22:41 +00:00
Thomas Heller 5b1614d568 Recreated after source changes. 2002-10-16 17:51:38 +00:00
Thomas Heller 0cf4269862 Recreated after source changes. 2002-10-15 19:45:25 +00:00
Thomas Heller d98d25e22d Revert the previous checkin - it didn't work anyway. 2002-10-15 14:51:58 +00:00
Skip Montanaro 628e3bf6cf MacOSX linker doesn't understand -R flag at all, no matter how you feed it
the flag.  Punt and return a -L flag instead (returning "" gums up the
command to be forked).
2002-10-09 21:37:18 +00:00
Martin v. Löwis bb20bb6bdb Patch #619493: Prefer rpmbuild over rpm if available. Backported to 2.2. 2002-10-07 05:57:21 +00:00
Marc-André Lemburg c7cdd7182a Pulling Mark Alexander's contribution from CVS. 2002-10-04 09:30:06 +00:00
Skip Montanaro 70e1d9b59d save the verbose argument as an instance attributes. Subclasses of
CCompiler may rely on the presence of self.verbose (SciPy's distutils
appears to).
2002-10-01 17:39:59 +00:00
Guido van Rossum cc3a6df506 Commit fix for SF 603831.
Strangely, two out of three patches there seem already committed; but
the essential one (get rid of the assert in object_filenames in
ccompiler.py) was not yet applied.

This makes the build procedure for Twisted work again.

This is *not* a backport candidate despite the fact that identical
code appears to exist in 2.2.2; Twisted builds fine there, so there
must have been a change elsewhere.
2002-10-01 04:14:17 +00:00
Guido van Rossum bffa52f07f Whitespace normalization (get rid of tabs). 2002-09-29 00:25:51 +00:00
Jeremy Hylton fcd7353863 Use distutils.debug.DEBUG instead of distutils.core.DEBUG.
Note that distutils.core.DEBUG still works if client code uses it, but
the core code avoids circular references by using distutils.debug.
2002-09-11 16:31:53 +00:00
Jeremy Hylton 5f6228ed46 Define DEBUG in a separate module to resolve circular references. 2002-09-11 16:28:52 +00:00
Andrew M. Kuchling df453fd026 The .preprocess() method didn't work, because it didn't add the input file
to the command-line arguments.  Fix this by adding the source filename.
2002-09-09 12:16:58 +00:00
Andrew M. Kuchling 4013cbd06b Include an empty body when checking for a header file
(Bugfix candidate for 2.2, and likely 2.1 as well)
2002-09-09 12:10:00 +00:00
Neal Norwitz b0df6a1afa SF bug #574235, convert_path fails with empty pathname 2002-08-13 17:42:57 +00:00
Guido van Rossum 3b0a3293c3 Massive changes from SF 589982 (tempfile.py rewrite, by Zack
Weinberg).  This changes all uses of deprecated tempfile functions to
the recommended ones.
2002-08-09 16:38:32 +00:00
Andrew MacIntyre 4104db39b8 - comment improvement
- implement viable library search routine for EMX
2002-08-04 06:21:25 +00:00
Andrew MacIntyre 428a38c002 add parameter missing following Jeremy's compiler class refactoring 2002-08-04 06:17:08 +00:00
Thomas Heller f4ad4ce5a0 Recompiled the exe and updated bdist_wininst.py. 2002-07-29 12:11:18 +00:00
Martin v. Löwis e567114e47 Patch #543498: Use License: field instead of Copyright:. 2002-07-28 10:49:37 +00:00
Michael W. Hudson 6b7d69d9b4 Well, Fred never did explain why the code to determine whether the
calling Python was installed was so complicated, so I simplified it.

This should get the snake-farm's build scripts working again.
2002-07-12 09:16:44 +00:00
Jack Jansen 2bb598067a The standard definition file is now called mwerks_shcarbon_plugin.h. 2002-06-27 22:10:19 +00:00
Neal Norwitz 80a3e0a604 Whitespace normalization (remove tabs) 2002-06-26 22:05:33 +00:00
Jack Jansen ab5320bfd9 Fixed various MacPython-specific issues found by attempting to use the standard core setup.py for MacPython. 2002-06-26 15:42:49 +00:00
Jack Jansen 96cad2ea47 This module broke on the Mac (where it can't work, but distutils seems to import it anyway) because it imported pwd and grp. Moved the import to inside the routine where they're used. 2002-06-26 15:00:29 +00:00
Jeremy Hylton 2683ac755d Define NDEBUG for releae builds, just like Python.
XXX Why doesn't distutils on Windows use the same set of flags as Python?
2002-06-18 19:08:40 +00:00
Jeremy Hylton 1b046e4314 Add implementation of _compile() and use default compile() method. 2002-06-18 18:48:55 +00:00
Jeremy Hylton 6e08d22b1a Add a default implementation of compile() to the base class.
The default implementation calls _compile() to compile individual
files.  This method must be implemented by the subclass.  This change
factors out most of the remaining common code in all the compilers
except mwerks.
2002-06-18 18:42:41 +00:00
Jeremy Hylton c01b350d36 Only import msvccompiler on win32 platforms. 2002-06-18 18:40:54 +00:00
Jeremy Hylton c18fde5d82 Extend dependency tracking so that .o files are rebuilt.
Two new tests are needed:

Don't skip building an extension if any of the depends files are newer
than the target.

Pass ext.depends to compiler.compile() so that it can track individual
files.
2002-06-13 17:32:20 +00:00
Jeremy Hylton 1bba31d9a2 Refactor compile() method implementations.
Always use _setup_compile() to do the grunt work of processing
arguments, figuring out which files to compile, and emitting debug
messages for files that are up-to-date.

Use _get_cc_args() when possible.
2002-06-13 17:28:18 +00:00
Jeremy Hylton 6864d30dfe Add depends=None to the arglist for compile(). 2002-06-13 17:27:13 +00:00
Jeremy Hylton 59b103cf87 Extend compiler() method with optional depends argument.
This change is not backwards compatible.  If a compiler subclass
exists outside the distutils package, it may get called with the
unexpected keyword arg.  It's easy to extend that compiler by having
it ignore the argument, and not much harder to do the right thing.  If
this ends up being burdensome, we can change it before 2.3 final to
work harder at compatibility.

Also add _setup_compile() and _get_cc_args() helper functions that
factor out much of the boilerplate for each concrete compiler class.
2002-06-13 17:26:30 +00:00
Jeremy Hylton 129b17d538 More style changes and little cleanups.
Remove __init__ that just called base class __init__ with same args.
Fold long argument lists into fewer, shorter lines.
Remove parens in tuple unpacks.
Don't put multiple statements on one line with a semicolon.
In find_library_file() compute the library_filename() upfront.
2002-06-13 15:14:10 +00:00
Jeremy Hylton 022640dea0 Some more style improvements 2002-06-13 15:01:38 +00:00
Jeremy Hylton 28f46e1839 Python style conformance: Delete spaces between name of function and arglist.
Making the world better a little bit at a time <wink>.
2002-06-13 14:58:30 +00:00
Jeremy Hylton 09e532bcec Add a new definition to Extension objects: depends.
depends is a list of files that the target depends, but aren't direct
sources of the target.  think .h files.
2002-06-12 20:08:56 +00:00
Martin v. Löwis f90ae20354 Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
Jeremy Hylton a683233d87 Change warning to debug level; it's a very minor issue.
The specific warning is that clean didn't find a directory that should
be removed if it exists.
2002-06-06 14:54:56 +00:00
Jeremy Hylton dc8412e541 Move warning about directory not on sys.path to debug level.
Fix a bunch of multiline string constants that used +.
2002-06-04 21:20:08 +00:00
Jeremy Hylton 8f787bf1d0 Test changes before checking them in. 2002-06-04 21:11:56 +00:00
Jeremy Hylton 40ebbeff23 Track extra arg to option_table to all uses of it 2002-06-04 21:10:35 +00:00
Jeremy Hylton 6b3996b2b9 Replace bogus bare variables with attribute access. 2002-06-04 21:06:16 +00:00
Jeremy Hylton 115fdc614f Define DEBUG as early as possible to avoid import problems. 2002-06-04 21:05:05 +00:00
Jeremy Hylton 4f2f1335a8 Add missing import of log. 2002-06-04 21:04:03 +00:00
Jeremy Hylton 7146073850 Use module-level import of DEBUG instead of many function-level imports. 2002-06-04 21:02:26 +00:00
Jeremy Hylton fc861bab92 Remove unused imports 2002-06-04 21:00:33 +00:00
Jeremy Hylton 11a52708f7 Make None return explicit 2002-06-04 21:00:20 +00:00
Jeremy Hylton c58e984837 import base64 at the top to avoid two different imports at other times 2002-06-04 20:55:10 +00:00
Jeremy Hylton ec772744c7 ensure_filename() only takes one argument.
Call ensure_string() with one arg too, since the second value passed
was the default.
2002-06-04 20:45:17 +00:00
Jeremy Hylton adb2b38543 Reindent lines to improve readability 2002-06-04 20:42:41 +00:00
Jeremy Hylton 711f91cf83 Remove (commented out) options that have moved into the distribution. 2002-06-04 20:40:03 +00:00
Jeremy Hylton d003abccc7 get_script() implicitly returned None and also had explicit returns.
Make all returns explicit and rearrange logic to avoid extra
indentation.
2002-06-04 20:39:34 +00:00
Jeremy Hylton d53f6e43e7 global _option_order is not used 2002-06-04 20:35:10 +00:00
Jeremy Hylton e6f40ea4b6 Fix bug in recent change to logging code.
mode is not computed in dry_run mode, so it can't be included in the
log message.
2002-06-04 20:30:10 +00:00
Jeremy Hylton a2f9989c1a Fix unused local variables caught by pychecker.
Fixes a bug for Solaris pkgtool (bdist_pkgtool) that would have
prevented it from building subpackages.
2002-06-04 20:26:44 +00:00
Jeremy Hylton a181ec07af Set repeat metadata for an option based on repeat local var not
constant.
2002-06-04 20:24:05 +00:00
Jeremy Hylton 332a146127 Remove unused imports caught by pychecker 2002-06-04 20:18:24 +00:00
Jeremy Hylton cd8a1148e1 Make setup.py less chatty by default.
This is a conservative version of SF patch 504889.  It uses the log
module instead of calling print in various places, and it ignores the
verbose argument passed to many functions and set as an attribute on
some objects.  Instead, it uses the verbosity set on the logger via
the command line.

The log module is now preferred over announce() and warn() methods
that exist only for backwards compatibility.

XXX This checkin changes a lot of modules that have no test suite and
aren't exercised by the Python build process.  It will need
substantial testing.
2002-06-04 20:14:43 +00:00
Jeremy Hylton 6fa82a3477 A simple log mechanism styled after the proposed std library module 2002-06-04 20:00:26 +00:00
Jeremy Hylton e22bc1e841 The comment said:
# XXX this isn't used anywhere, and worse, it has the same name as a method
 # in Command with subtly different semantics.  (This one just has one
 # source -> one dest; that one has many sources -> one dest.)  Nuke it?

Yes.  Nuke it.
2002-06-04 18:55:54 +00:00
Fred Drake 16c8d702a4 When using a Python that has not been installed to build 3rd-party
modules, distutils does not understand that the build version of the
source tree is needed.

This patch fixes distutils.sysconfig to understand that the running
Python is part of the build tree and needs to use the appropriate
"shape" of the tree. This does not assume anything about the current
directory, so can be used to build 3rd-party modules using Python's
build tree as well.

This is useful since it allows us to use a non-installed debug-mode
Python with 3rd-party modules for testing. It as the side-effect that
set_python_build() is no longer needed (the hack which was added to
allow distutils to be used to build the "standard" extension modules).

This closes SF patch #547734.
2002-06-04 15:28:21 +00:00
Andrew M. Kuchling 8c20916de2 Remove unneeded import 2002-05-30 19:15:16 +00:00
Andrew M. Kuchling 0b5c11252d Prevent convert_path from crashing if the path is an empty string. Bugfix candidate. 2002-05-06 13:57:19 +00:00
Thomas Heller 69d31b749d Pass the full pathname to MSVC when compiling a debug version. This
allows the debugger to find the source without asking the user to
browse for it.
2002-04-25 17:29:45 +00:00
Thomas Heller 378498dad6 Append the PC specific include 'PC' and library 'PCBuild' directories
under NT - this allows distutils to work with the CVS version or the
source distribution.

Wrap a long line.
2002-04-25 17:26:37 +00:00
Thomas Heller e65008038e Fix trivial typo. 2002-04-25 17:03:30 +00:00
Barry Warsaw 8570013357 Whitespace normalization. Unka Timmy would be proud. 2002-04-23 18:18:43 +00:00
Marc-André Lemburg 0538f1f2c7 Patch #531901 by Mark W. Alexander: adds a new distutils packager
base class (in bdist_packager) and two subclasses which make use
of this base class: bdist_pkgtool (for Solaris) and bdist_sdux (for
HP-UX).
2002-04-17 20:30:10 +00:00
Thomas Heller 4c7fb96b7a Remove unconditional debugging prints. 2002-04-09 14:16:07 +00:00
Thomas Heller fd0e82a385 Set the warn_dir option to 0 before running the install command.
This suppresses bogus warnings about modules installed into a directory
not in sys.path.

Bugfix candidate.
2002-04-09 14:14:38 +00:00
Tim Peters a863270f04 Revert 0/1 -> False/True change; I didn't intend to muck w/ distutils. 2002-04-04 23:17:31 +00:00
Tim Peters bc0e910826 Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
Andrew M. Kuchling f4a4fb9a11 [Patch #536769] Add -Xcompiler flag for adding arguments and switches for
the compiler
2002-03-29 18:00:19 +00:00
Andrew M. Kuchling b26ca9db2e Revert part of previous patch: several install_* subcommands expect
.compile to be None, and set it to true if it is.
    Caught by Pearu Peterson.

Bugfix candidate, if the previous change is accepted for
release22-maint.
2002-03-22 15:35:17 +00:00
Andrew M. Kuchling 3f1822b468 Add missing Boolean options
Remove unused no_compile flag
Initialize the Boolean attribute .compile to 0 instead of None

Bugfix candidate.
2002-03-21 23:46:54 +00:00
Andrew M. Kuchling da9f0bf4dd Add unlisted Boolean options. Thomas H., can you please check that I
got this right?

Bugfix candidate, unless Thomas notes a problem.
2002-03-21 23:44:01 +00:00
Andrew M. Kuchling 5de82a855e [Bug #517451] bdist_rpm didn't list all of its Boolean options.
(Someone should check the other commands for this same error.)

Bugfix candidate.
2002-03-21 23:27:54 +00:00
Marc-André Lemburg bbea4717bc Allow shebang's which use versioned Python binaries. Fixes
bug #521526.
2002-02-28 09:16:21 +00:00
Thomas Heller d2d58e0496 First version which runs an install-script (specified by the
--install-script ... command line option to bdist_wininst) at the end
of the installation and at the start of deinstallation.  Output
(stdout, stderr) of the script (if any) is displayed in the last
screen at installation, or in a simple message box at deinstallation.

sys.argv[1] for the script will contain '-install' at installation
time or '-remove' at deinstallation time.

The installation script runs in an environment (embedded by the
bdist_wininst runtime) where an additional function is available as
builtin:

create_shortcut(path, description, filename,
	        [arguments[, workdir[, iconpath, iconindex]]])

Recreated this file after source changes.
2002-02-20 08:01:19 +00:00
Just van Rossum 005dbb219e on MacOSX/Darwin, use ranlib when building static libs. 2002-02-11 15:31:50 +00:00
Thomas Heller 745b4609cb Make it 1.5.2 compatible again. 2002-02-08 14:41:31 +00:00
Marc-André Lemburg 9273ec726c Forgot to add the new emxccompiler.py from Andrew I. MacIntyre's
distutils patch for OS/2.

Here it is...
2002-02-06 18:22:48 +00:00
Andrew M. Kuchling 3b388ec8b3 [Bug #220993; may also fix bug #479469] Fix flakiness when old
installations are present, by always unlinking the destination file
  before copying to it.  Without the unlink(), the copied file remains
  owned by its previous UID, causing the subsequent chmod() to fail.

Bugfix candidate, though it may cause changes on platforms where
  file ownership behaves differently.
2002-02-01 18:29:34 +00:00
Thomas Heller 0c350bfad0 package_dir must be converted from the distutils path conventions to
local conventions before being used by build_py.

Fixes SF bug #509288, probably a candidate for 2.2.1
2002-02-01 09:44:09 +00:00
Andrew M. Kuchling b24231e088 Restrict the mode to the lowest four octal positions; higher positions
contain the type of the file (regular file, socket, link, &c.).
   This means that install_scripts will now print
   "changing mode of <file> to 775" instead of "... to 100775".

2.2 bugfix candidate, I suppose, though this isn't actually fixing a bug.
2002-01-31 22:08:38 +00:00
Marc-André Lemburg 2544f51036 OS/2 patches by Andrew I MacIntyre for distutils.
Closes patch #435381.
2002-01-31 18:56:00 +00:00
Martin v. Löwis 9635d0bd1f Encode MSVC paths as mbcs. Fixes #509117. 2.2.1 candidate. 2002-01-29 10:23:42 +00:00
Thomas Heller 5cba76df7b SWIGing a source file <name>.i silently overwrites <name>.c if it is
present - at least the swigged file should be named <name>_wrap.c as
this is also SWIG's default. (Even better would be to generate the
wrapped sources in a different location, but I'll leave this for
later).

Newer versions of SWIG don't accept the -dnone flag any more.

Since virtually nobody uses SWIG with distutils, this should do no
harm.

Suggested be Martin Bless on c.l.p.
2002-01-18 20:30:53 +00:00
Martin v. Löwis 9668b933e3 Patch #414775: Add --skip-build option to bdist command. 2002-01-12 11:27:42 +00:00
Andrew M. Kuchling 3d2d980f50 Suggested by Pete Shinners: treat .m and .mm files as source code.
Question for Jack Jansen: is this reasonable?

Candidate for 2.2 release branch (if Jack thinks it's OK).
2001-12-21 15:34:17 +00:00
Thomas Heller f499b030bd Recreated after source changes. 2001-12-18 21:08:15 +00:00
Thomas Heller c7cb9ed35f Second part of fix for bug [#483982] Python 2.2b2 bdist_wininst
crashes.

If no external zip-utility is found, the archive is created by the
zipfile module, which behaves different now than in 2.1: if the
zip-file is created in the root directory if the distribution, it will
contain an (empty) version of itself.

This triggered the above bug - so it's better to create the zip-file
far away in the TMP directory.
2001-12-18 20:13:40 +00:00
Marc-André Lemburg 90294d01be Joe VanAndel wrote:
>
> When using 'distutils' (shipped with Python 2.1) I've found that my
> Python scripts installed with a first line of:
>
> #!/usr/bin/python2.1None
>
> This is caused by distutils trying to patch the first line of the python
> script to use the current interpreter.
2001-12-11 20:44:42 +00:00
Fred Drake d15db5c711 When using GCC, use the right option to add a directory to the list of dirs
searched for a dependency for runtime linking.
This closes SF bug #445902.
2001-12-11 05:04:24 +00:00
Michael W. Hudson fb173cd471 Fix for
[ #409430 ] pydoc install broken
2001-12-10 16:15:44 +00:00
Michael W. Hudson 49bdaede1b Fix for
[ #477371 ] build_scripts can use wrong #! line

scripts now get "built" into a directory

build/scripts-$(PYTHON_VERSION)/
2001-12-10 15:28:30 +00:00
Fred Drake 9028d0a525 Visious hackery to solve a build-control problem related to our use of
distutils for the library modules built as shared objects.  A better solution
appears possible, but with the threat that the distutils becomes more
magical ("complex").
This closes SF bug #458343.
2001-12-06 22:59:54 +00:00
Andrew M. Kuchling 3ecc1ce529 [Bug #475009] Tighten the pattern for the first line, so we don't
adjust it when a versioned interpreter is supplied (#!.../python2 ...)
2001-12-06 21:29:28 +00:00
Fred Drake 21d45356b8 Whitespace normalization. 2001-12-06 21:01:19 +00:00
Fred Drake b94b849d65 Whitespace normalization. 2001-12-06 20:51:35 +00:00
Thomas Heller bcd8975740 Use a version number of 0.0.0 instead of ???. The latter leads to
invalid filenames on Windows when building without specifying a
version number in the setup script.

See also
http://mail.python.org/pipermail/distutils-sig/2001-November/002656.html

Bugfix candidate.
2001-12-06 20:44:19 +00:00
Andrew M. Kuchling d303b61eb4 [Bug #459270] Fix incorrect docstring 2001-12-06 16:32:05 +00:00
Jack Jansen 92c2ebf1b2 The libraries argument was completely ignored, fixed. Reported by
Tom Loredo.
2001-11-10 23:20:22 +00:00
Thomas Heller be63884d50 With Andrew's blessing: distutils version number is now 1.0.3. 2001-10-05 20:43:09 +00:00
Thomas Heller e138f369e6 Explicitely list the metadata attributes to show
in the gui.
Updated to include the new exe-file.
2001-10-05 20:40:48 +00:00
Thomas Heller c010c17f4b Implement PEP250: Use Lib/site-packages under windows.
bdist_wininst doesn't use the NT SCHEME any more, instead
a custom SCHEME is used, which is exchanged at installation
time, depending on the python version used.

Avoid a bogus warning frpom install_lib about installing
into a directory not on sys.path.
2001-09-05 13:00:40 +00:00
Andrew M. Kuchling 045af6f8d8 [Bug #404274] Restore some special-case code for AIX and BeOS under 1.5.2.
This will have to stay until we decide to drop 1.5.2 compatibility
   completely.
2001-09-05 12:02:59 +00:00
Andrew M. Kuchling 4d335b3b9b [Bug #444589] Record empty directories in the install_data command
Slightly modified version of patch from Jon Nelson (jnelson).
2001-09-04 20:42:08 +00:00
Andrew M. Kuchling a8ea5ba8a9 [Bug #436732] install.py does not record a created *.pth file in the
INSTALLED_FILES output.  Modified version of a patch from
   Jon Nelson (jnelson)
2001-09-04 20:06:43 +00:00
Jack Jansen 212a2e1f9f On the mac some library paths returned were outdated, some were outright funny.
Fixed.
2001-09-04 12:01:49 +00:00
Neil Schemenauer a8aefe535c Don't use dir() to find instance attribute names. 2001-09-03 15:47:21 +00:00
Neil Schemenauer 69374e4836 Flush output more aggressively. This makes things look better if
the setup script is running from inside Vim.
2001-08-29 23:57:22 +00:00
Jack Jansen e259e5980c Patch by Bill Noon: added 'dylib' as a library type along with
'static' and 'shared'. This fixes extension building for dynamic
Pythons on MacOSX.
2001-08-27 15:08:16 +00:00
Greg Ward f17efb93d9 Patch #449054 to implement PEP 250. The standard install directory for
modules and extensions on Windows is now $PREFIX/Lib/site-packages.
Includes backwards compatibility code for pre-2.2 Pythons.  Contributed
by Paul Moore.
2001-08-23 20:53:27 +00:00
Andrew M. Kuchling db7aed5219 [Patch #441691] preprocess() method for Borland C compiler.
I have no way of testing this.
2001-08-16 20:17:41 +00:00
Andrew M. Kuchling b1d6029437 [Patch #444854 from twburton]
Add executable extension, needed to get the program name right on Win32
2001-08-16 14:08:02 +00:00
Andrew M. Kuchling 6fb8d3a3d6 [Patch #442530 from twburton]
Provide include_dirs argument to all calls to ._preprocess and ._compile
    Fix typo: pattern.search(pattern) should be pattern.search(line)
2001-08-16 13:56:40 +00:00
Andrew M. Kuchling 246c425964 Fix for NameError caught by PyChecker.
(This command seems to be essentially untested; should fix that...)
2001-08-13 13:56:24 +00:00
Andrew M. Kuchling f4aa684132 [Bug #414032] Make the 'sdist' command work when the distribution contains
libraries.  This is done by adding a .get_source_files() method,
    contributed by Rene Liebscher and slightly modified.
Remove an unused local variable spotted by PyChecker
2001-08-10 20:24:33 +00:00
Andrew M. Kuchling 13f4ea25d4 Remove unused variable 2001-08-10 19:00:41 +00:00
Andrew M. Kuchling 5079fe07fe Fix typo caught by PyChecker 2001-08-10 19:00:15 +00:00
Andrew M. Kuchling 665f248806 Add forgotten import 2001-08-10 18:59:59 +00:00
Fred Drake 981a1787b7 Wrap a comment to fit in 80 columns.
Use construction-syntax for an exception to make the argument easier
to read.
2001-08-10 18:59:30 +00:00
Andrew M. Kuchling db988b1ed3 Use .get_license() 2001-08-10 18:50:11 +00:00
Andrew M. Kuchling fa7dc57d6c [Bug #412271, bug #449009] Use 'license' as the attribute name,
though 'licence' is still supported for backward-compatibility
   (Should I add a warning to get_licence(), or not bother?)

Also fixes an UnboundLocalError noticed by PyChecker
2001-08-10 18:49:23 +00:00
Andrew M. Kuchling 6386a4c846 Import UnknownFileError 2001-08-09 21:02:34 +00:00
Andrew M. Kuchling 106ffdb672 Import the errno module 2001-08-09 20:59:53 +00:00
Andrew M. Kuchling affadeb9fd Use correct variable name 2001-08-09 20:57:46 +00:00
Fred Drake c916cdc5ca Miscellaneous minor cleanups. 2001-08-02 20:03:12 +00:00
Just van Rossum 8d8e7a3256 Do convert_path() on script paths (now PyXML builds out of the box
under MacOS.)
2001-07-29 21:39:18 +00:00
Marc-André Lemburg 7cf92fa1c8 Add backwards compatibility. 2001-07-26 18:06:58 +00:00
Martin v. Löwis 4f1cd8bdcb Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
Greg Ward 7cf7e7e529 Undo revision 1.7: always mangle a #! line containing "python" to point
to the current Python interpreter (ie. the one used for
building/installation), even (especially!) if "/usr/bin/env" appears in
the #! line.

Rationale: installing scripts with "#!/usr/bin/env python" is asking for
trouble, because
  1) it might pick the wrong interpreter (not the one used to
     build/install the script)
  2) it doesn't work on all platforms (try it on IRIX 5, or on Linux
     with command-line options for python)
  3) "env" might not be in /usr/bin
2001-07-25 20:20:11 +00:00
Greg Ward e628a2fa85 Don't "import *" from stat at all -- just import what's needed, and
do it back in copy_file() (not at module level).
2001-07-25 19:48:03 +00:00