summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/unixccompiler.py
Commit message (Collapse)AuthorAgeFilesLines
* on MacOSX/Darwin, use ranlib when building static libs.Just van Rossum2002-02-111-1/+4
|
* When using GCC, use the right option to add a directory to the list of dirsFred Drake2001-12-111-1/+18
| | | | | searched for a dependency for runtime linking. This closes SF bug #445902.
* Whitespace normalization.Fred Drake2001-12-061-8/+8
|
* Patch by Bill Noon: added 'dylib' as a library type along withJack Jansen2001-08-271-2/+7
| | | | | 'static' and 'shared'. This fixes extension building for dynamic Pythons on MacOSX.
* Fix a mismatched parenthesis in the last patch.Guido van Rossum2001-07-161-1/+1
|
* [Bug #441527] Fixes for preprocessor support, contributed by TarnAndrew M. Kuchling2001-07-161-4/+5
| | | | Weisner Burton
* Patch #413912 from Steve Majewski: Add .m to the list of extensionsAndrew M. Kuchling2001-04-051-1/+1
| | | | in order to support Objective-C.
* Big patch from Rene Liebscher to simplify the CCompiler API andGreg Ward2000-09-271-82/+18
| | | | | | | | | | | | | | | | | | | | 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
* Standardize whitespace in function calls.Greg Ward2000-09-261-52/+52
|
* Added 'debug' flag to 'find_library_file()'.Greg Ward2000-08-041-1/+1
|
* Fix to call 'library_filename()' instead of the non-existentGreg Ward2000-07-271-3/+5
| | | | 'shared_library_filename()'.
* Lyle Johnson: added 'build_temp' parameter to 'link_shared_{lib,object}()'Greg Ward2000-06-281-3/+8
| | | | | | | 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()'.
* Got rid of direct dependence on the sysconfig module. Mainly, thisGreg Ward2000-06-251-67/+35
| | | | | | | | meant playing along with the new "dictionary of executables" scheme added to CCompiler by adding the 'executables' class attribute, and changing all the compile/link/etc. methods to use the new attributes (which encapsulate both the program to run and its standard arguments, so it was a *little* bit more than just changing some names).
* Added 'preprocess()' method to CCompiler interface, and implementedGreg Ward2000-06-211-0/+32
| | | | | | it in UnixCCompiler. Still needs to be implemented in MSVCCompiler (and whatever other compiler classes are lurking out there, waiting to be checked in).
* Import exceptions from errors.py, not ccompiler.py.Greg Ward2000-05-301-3/+3
|
* Changed to catch compile/link failures and raise CompileError, LibError,Greg Ward2000-05-301-5/+22
| | | | or LinkError (exception classes defined in ccompiler.py).
* Added support for the 'export_symbols' parameter to 'link_shared_object()'Greg Ward2000-05-201-0/+3
| | | | | | and 'link_shared_lib()'. In MSVCCompiler, this is meaningful: it adds /EXPORT: options to the linker command line. In UnixCCompiler, it is ignored.
* Don't run "ranlib" if sysconfig's RANLIB (from Python's Makefile) startsGreg Ward2000-04-141-5/+7
| | | | with ":".
* Cleaned up use of sysconfig module a bit: don't import more namesGreg Ward2000-04-141-7/+13
| | | | | | | than we actually use, and do actually use AR and SO. Run ranlib on static libraries. (Should probably have a platform-check so we don't run ranlib when it's not necessary, ie. on most modern Unices.)
* Added 'runtime_library_dirs' parameter to 'link_*()' methods, and changed toGreg Ward2000-03-261-9/+13
| | | | | | use it when linking. Call '_fix_object_args()' and/or '_fix_lib_args()' as appropriate, rather than just '_fix_link_args()'.
* Changed to pay attention to the 'runtime_library_dirs' list (= 'rpath'Greg Ward2000-03-181-2/+9
| | | | | | | | | | 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!)
* Renamed 'link_static_lib() to 'create_static_lib()'.Greg Ward2000-03-101-6/+6
|
* Serious overhaul of the C compiler interface and the two classes thatGreg Ward2000-03-061-185/+52
| | | | | | | | | | | | 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)
* Changed '__rcsid__' to '__revision__'.Greg Ward2000-03-021-1/+1
|
* In the 'compile()' method: preserve the directory portion of sourceGreg Ward2000-03-021-2/+7
| | | | | | filenames when constructing object filenames, even if output_dir given -- eg. "foo/bar.c" will compile to "foo/bar.o" without an output_dir, and to "temp/foo/bar.o" if output_dir is "temp".
* In compile/link methods: ensure that the directory we expect to be writing toGreg Ward2000-03-011-1/+6
| | | | exists before calling the compiler/linker.
* Typecheck 'output_dir' argument to compile/link methods.Greg Ward2000-02-101-0/+6
|
* Added 'debug' flags to compile and link methods, and modified code to addGreg Ward2000-02-091-1/+13
| | | | '-g' flag to compiler/linker command lines when it's true.
* Changed 'compile()' method to compile files one-at-a-time -- gives betterGreg Ward2000-02-031-28/+21
| | | | | feedback and, theoretically, the opportunity to set compiler flags on a per-file basis.
* Abstracted '_fix_link_args()' out of 'link_shared_object()'.Greg Ward2000-01-091-37/+133
| | | | | | | | | | | | | | Added 'link_static_lib()' method, and 'archiver' and 'archiver_options' class attributes to support it. Added 'link_executable()' method, and 'ld_exec' instance attribute to support it. 'newer_group()' is now able to handle missing files, so we don't have to kludge it by catching OSError when calling it. 'object_filenames()' and 'shared_object_filename()' now take 'keep_dir' flag parameters. 'library_filename()' and 'shared_library_filename()' now respect a directory component in the library name. Various comment updates/deletions.
* In 'compile()' method, renamed 'includes' parameter to 'include_dirs' forGreg Ward1999-12-121-6/+16
| | | | | | consistency with 'build_ext' command option. Changed 'compile()' and 'link_shared_object()' so 'include_dirs', 'libraries', and 'library_dirs' can be lists or tuples.
* Fixed order of link options: object files now precede library stuff.Greg Ward1999-10-031-21/+58
| | | | | | | | Catch up with changes in 'gen_lib_options()': - change how we call it - added methods 'library_dir_option()', 'library_option()', and 'find_library_file()' that it calls Added 'force' flag and changed compile/link methods to respect it.
* Catch up with latest changes in CCompiler:Greg Ward1999-09-291-10/+22
| | | | | | - add 'extra_preargs' and 'extra_postargs' parameters (and use them!) - added 'compiler_type' class attribute - respect reordered arguments to 'gen_lib_options()'
* In 'link_shared_object()', try to be less sensitive to missing input filesGreg Ward1999-09-211-1/+11
| | | | in dry-run mode.
* Added 'output_dir' parameter to 'compile()' and 'link_shared_object().Greg Ward1999-09-131-22/+83
| | | | | | Changed those two methods to only compile/link if necessary (according to simplistic timestamp checks). Added 'output_dir' to 'object_filenames()' and 'shared_object_filename()'.
* Ditched '_gen_preprocess_options()' and '_gen_lib_options()' -- they'reGreg Ward1999-09-081-68/+8
| | | | | | now provided (minus the leading underscore) by the ccompiler module. Fix 'compile()' to return the list of object files generated. Cosmetic tweaks/delete cruft.
* Patch from Perry Stoll: caught up with changes in CCompiler necessary (?)Greg Ward1999-08-291-8/+21
| | | | for MSVCCompiler.
* Changed to use 'spawn()', now that it exists.Greg Ward1999-08-141-24/+62
| | | | | | | | Added 'verbose' and 'dry_run' parameters to constructor. Changed 'compile()', 'link_*()' to default lists arguments to None rather than empty list. Added implementations of the filename-mangling methods mandated by the CCompiler interface.
* The first concrete subclass of CCompiler: defines a barebones Unix C compiler.Greg Ward1999-07-101-0/+192