| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
the 'implib_dir' attribute is back (only on NT, of course).
|
|
|
|
|
|
| |
Also supposedly made some change to where .lib files wind up under MSVC++,
but I don't understand how to code is doing what Thomas says it's
doing.
|
|
|
|
| |
Ensure that 'extra_args' (whether compile or link args) is never None.
|
|
|
|
|
|
| |
to 'msvc_prelink_hack()', adding the parameters that it actually needs,
and only calling it for MSVC compiler objects. Generally gave up on the
idea of a general "hook" mechanism: deleted the empty 'precompile_hook()'.
|
|
|
|
|
| |
experimental and untested.)
Call 'customize_compiler()' after getting CCompiler object.
|
|
|
|
|
|
|
| |
in the module of the command classes that have command-specific
help options. This lets us keep the principle of lazily importing
the ccompiler module, and also gets away from defining non-methods
at class level.
|
| |
|
|
|
|
|
|
| |
and added (empty) 'precompile_hook()' for symmetry. One can envision
a much more elaborate hook mechanism, but this looks like it'll do for
now.
|
|
|
|
|
|
|
|
|
|
| |
values that "--foo" can take for various commands: eg. what formats for
"sdist" and "bdist", what compilers for "build_ext" and "build_clib".
I have *not* reviewed this patch; I'm checking it in as-is because it also
fixes a paper-bag-over-head bug in bdist.py, and because I won't have
time to review it properly for several days: so someone else can
test it for me, instead!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* 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").
|
|
|
|
|
| |
up-to-date with respect to the source files; that way, we
don't needlessly rebuild just because object files go away.
|
| |
|
|
|
|
|
|
|
| |
variable.
(Is this really needed? Can we drop it when the config file mechanism
allows users to set compiler flags in setup.cfg?)
|
|
|
|
| |
correctly ensure that it's 'dirname' exists.
|
|
|
|
|
|
| |
Also added creation of 'implib_dir', a temporary directory specific to
MSVC++ -- but I checked in two ways of fixing it (Lyle's and mine),
because I'm not sure which is right.
|
| |
|
|
|
|
| |
via an 'extra_compile_args' option in the 'build_info' dictionary.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- DistutilsOptionError is now documented as it's actually used, ie.
to indicate bogus option values (usually user options, eg. from
the command-line)
- added DistutilsSetupError to indicate errors that definitely arise
in the setup script
- got rid of DistutilsValueError, and changed all usage of it to
either DistutilsSetupError or ValueError as appropriate
- simplified a bunch of option get/set methods in Command and
Distribution classes -- just pass on AttributeError most of
the time, rather than turning it into something else
|
|
|
|
| |
rather than cobbling them togethere here.
|
|
|
|
|
| |
timestamps), so every build_* command has 'self.force', which follows the
'build' command if not set by the user.
|
|
|
|
|
|
|
|
|
| |
* build to "Debug" or "Release" temp directory
* put linker turds (.lib and .exp files) in the build temp directory
* tack on "_d" to extensions built with debugging
* added 'get_ext_libname()' help in putting linker turds to temp dir
Also, moved the code that simplifies None to empty list for a bunch
of options to 'finalize_options()' instead of 'run()'.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Changed signature of 'build_extensions()': no longer takes the extension
list, but uses 'self.extensions' (just like 'get_outputs()' has to)
Moved call to 'check_extensions_list()' from 'run()' to 'build_extensions()',
again for consistency with 'get_outputs()'.
|
|
|
|
|
| |
Fixed 'build_extensions()' to pay attention to the 'rpath' element of the
'build_info' dictionary.
|
|
|
|
|
| |
have been checked in: was passing the PLAT environment variable as the
'plat' argument to 'new_compiler()'.
|
| |
|
|
|
|
|
| |
Don't assume that the 'libraries' and 'library_dirs' elements of the
build info dict are always lists.
|
|
|
|
|
|
| |
* replaced build_lib.py with build_clib.py
* renamed the class in build_clib.py
* changed all references to 'build_lib' command in other command classes
|
| |
|
|
|
|
|
|
|
| |
when building extensions (uses build_lib's 'get_library_names()' method).
Ensure that the relative structure of source filenames is preserved in
the temporary build tree, eg. foo/bar.c compiles to
build/temp.<plat>/foo/bar.o.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 'build_dir' -> 'build_lib', which by default takes its value
straight from 'build_lib' in the 'build' command
* added 'build_temp' and 'inplace' options
* change 'build_extensions()' to put object files (compiler turds) in
'build_temp' dir
* complicated the name-of-extension-file shenanigans in
'build_extensions()' to support "in-place" extension building, i.e.
put the extension right into the source tree (handy for developers)
* added 'get_ext_fullname()', renamed 'extension_filename()' to
'get_ext_filename()', and tweaked the latter a bit -- all to support
the new filename shenanigans
|
|
|
|
| |
'set_final_options()' to 'finalize_options()'.
|
| |
|
|
|
|
|
| |
command itself: no more of this "FooBar class for foo_bar command"
silliness.
|
|
|
|
| |
/export option mini-kludge.
|
| |
|
| |
|
| |
|
|
|
|
| |
Announce when we start building each extension (better feedback).
|
|
|
|
|
|
|
| |
'--help-commands' option).
Shuffled imports around in a few command modules to avoid expensive
up-front import of sysconfig (and resulting delays in generating list
of all commands).
|
|
|
|
|
| |
call CCompiler method 'compile()' with 'include_dirs' not 'includes'.
Fixed stupid typo in 'get_source_files()'.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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".
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
actual extension module to.
|
|
|
|
|
| |
we no longer explicitly pull distribution options out of our Distribution
object, but rather let the Distribution put them into the command object.
|
| |
|
|
|