| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
the linker leaves the (temporary) .lib file in the temporary dir. (Moved
from 'msvc_prelink_hack()' method in build_ext.py.)
|
|
|
|
|
|
| |
This'll work fine with 2.0 or 1.5.2, but is less than ideal for
1.6a1/a2. But the code to accomodate 1.6a1/a2 was released with
Distutils 0.9, so it can go away now.
|
|
|
|
|
| |
fail do we try for win32api/win32con. If *those* both fail, then we don't
have registry access. Phew!
|
| |
|
|
|
|
|
|
|
| |
methods (but not 'link_executable()', hmmm). Currently only used by
BCPPCompiler; it's a dummy parameter for UnixCCompiler and MSVCCompiler.
Also added 'bcpp' to compiler table used by 'new_compiler()'.
|
|
|
|
|
| |
doesn't blow up. We don't currently use the 'set_executables()' bureaucracy,
although it would be nice to do so for consistency with UnixCCompiler.
|
| |
|
|
|
|
| |
or LinkError (exception classes defined in ccompiler.py).
|
|
|
|
|
|
| |
and 'link_shared_lib()'. In MSVCCompiler, this is meaningful: it adds
/EXPORT: options to the linker command line. In UnixCCompiler, it
is ignored.
|
|
|
|
| |
Two small fixes to 'link_shared_object()'.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
functions, but with different names.
|
|
|
|
|
|
|
|
| |
HKEY_* and Reg* names once, rather than having near-duplicate code
in the two import attempts.
Also dropped the leading underscore on all the imported symbols,
as it's not appropriate (they're not local to this module).
|
| |
|
|
|
|
| |
now done in the 'build_ext' command.
|
|
|
|
| |
specific to building Python extensions.
|
| |
|
|
|
|
|
|
| |
we don't know what to do with it when we see it.
Call '_fix_object_args()' and/or '_fix_lib_args()' as appropriate, rather
than just '_fix_link_args()'.
|
|
|
|
|
|
|
|
|
|
| |
option in the 'build_ext' command):
* in ccompiler.py: 'gen_lib_options()' now takes 'runtime_library_dirs'
parameter
* in unixccompiler.py and msvccompiler.py: now pass
'self.runtime_library_dirs' to 'gen_lib_options()', and define
'runtime_library_dir_option()' (although in msvccompiler.py it
blows up with a DistutilsPlatformError right now!)
|
|
|
|
|
| |
a static library (using lib.exe as found by '__init__()', hopefully through
registry entries pointing to DevStudio).
|
|
|
|
|
|
|
|
|
|
|
|
| |
implement it (so far):
* moved filename generation methods into CCompiler base class,
driven by data supplied by implementation classes
* moved a bunch of common code from UnixCCompiler to convenience
methods in CCompiler
* overhauled MSVCCompiler's compile/link methods to look and act
as much as possible like UnixCCompiler's, in order to regularize
both interface and behaviour (especially by using those new
convenience methods)
|
| |
|
|
|
|
|
|
|
|
| |
'get_msvc_paths()'.
Renamed '_do_SET()' to 'set_path_env_var()', tweaked docstring, and
cosmetically tweaked code.
Stylistic changes to MSVCCompiler constructor (variable renaming
and type consistency).
|
|
|
|
|
|
|
|
|
|
| |
* tweak my docstrings
* fix None returns to empty list
* reshuffle responsibilities between '_find_exe()', '_find_SET()', and
the MSVCCompiler constructor -- now the constructor worries about
fetching the version list and determining the most recent one
* added "/W3" compile option
Also, I added/tweaked some docstrings.
|
|
|
|
| |
function names, dbetter (hopefully) ocstrings, and comments.
|
|
|
|
|
|
|
| |
* don't need to mention python<ver>.lib -- it's done by a pragma
* add debug flags for compile and link, and use them
* fix 'link_shared_library()' to pass everything to 'link_shared_object()'
* change filename when shared object with debug info (ugh)
|
|
|
|
|
|
| |
someone who knows Windows/MSVC++ to come along and add the right flags.
Comment noting that 'link_static_lib()' signature is inconsistent with
the other compiler classes (uh-oh!)
|
|
|
|
| |
harder to find the MSVC compiler (mainly by using the registry).
|
| |
|
|
|
|
| |
RT library.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- change how we call it
- added methods 'library_dir_option()', 'library_option()', and
'find_library_file()' that it calls
Added 'force' flag; it's automatically "respected", because this class
always rebuilds everything! (Which it to say, "force=0" is not respected.)
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add 'extra_preargs' and 'extra_postargs' parameters (and use them!)
- got rid of 'build_info' kludge parameter
- added 'compiler_type' class attribute
- respect reordered arguments to 'gen_lib_options()'
Also added 'output_dir' parameter (catching up with older change in
CCompiler) -- BUT this is presently ignored by all methods!
Deleted some more docstrings redundant with CCompiler.
Dropped generated of "/DEF:" argument --- that's now done by
the 'build_ext' command.
|
|
|
|
|
|
|
| |
Ditched redundant '_gen_preprocess_options()' and '_gen_lib_options()'
-- now provided by ccompiler.py.
Fixed some filename extension variables -- added missing period.
Cosmetic tweaks.
|
|
|