summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/unixccompiler.py
diff options
context:
space:
mode:
authorGreg Ward <gward@python.net>1999-08-29 18:23:32 (GMT)
committerGreg Ward <gward@python.net>1999-08-29 18:23:32 (GMT)
commit65f4a3b1738dbe7c32a3fd4bad84c7c4d4a30d45 (patch)
tree849ac4d58d48fdfcd8846ba8b0b96f9067aa53db /Lib/distutils/unixccompiler.py
parent32162e832ee0dc2b82783ccc897f6d7c8233e1cd (diff)
downloadcpython-65f4a3b1738dbe7c32a3fd4bad84c7c4d4a30d45.zip
cpython-65f4a3b1738dbe7c32a3fd4bad84c7c4d4a30d45.tar.gz
cpython-65f4a3b1738dbe7c32a3fd4bad84c7c4d4a30d45.tar.bz2
Patch from Perry Stoll: caught up with changes in CCompiler necessary (?)
for MSVCCompiler.
Diffstat (limited to 'Lib/distutils/unixccompiler.py')
-rw-r--r--Lib/distutils/unixccompiler.py29
1 files changed, 21 insertions, 8 deletions
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
index c8468f9..6594043 100644
--- a/Lib/distutils/unixccompiler.py
+++ b/Lib/distutils/unixccompiler.py
@@ -51,6 +51,11 @@ class UnixCCompiler (CCompiler):
# directories and any module- or package-specific include directories
# are specified via {add,set}_include_dirs(), and there's no way to
# distinguish them. This might be a bug.
+
+ _obj_ext = '.o'
+ _exe_ext = ''
+ _shared_lib_ext = SO
+ _static_lib_ext = '.a'
def __init__ (self,
verbose=0,
@@ -121,23 +126,29 @@ class UnixCCompiler (CCompiler):
objects,
output_libname,
libraries=None,
- library_dirs=None):
+ library_dirs=None,
+ build_info=None):
# XXX should we sanity check the library name? (eg. no
# slashes)
- self.link_shared_object (objects, "lib%s%s" % (output_libname, SO))
+ self.link_shared_object (objects, "lib%s%s" % \
+ (output_libname, self._shared_lib_ext),
+ build_info=build_info)
def link_shared_object (self,
objects,
output_filename,
libraries=None,
- library_dirs=None):
+ library_dirs=None,
+ build_info=None):
if libraries is None:
libraries = []
if library_dirs is None:
library_dirs = []
-
+ if build_info is None:
+ build_info = {}
+
lib_opts = _gen_lib_options (self.libraries + libraries,
self.library_dirs + library_dirs)
ld_args = self.ldflags_shared + lib_opts + \
@@ -150,17 +161,19 @@ class UnixCCompiler (CCompiler):
def object_filenames (self, source_filenames):
outnames = []
for inname in source_filenames:
- outnames.append (re.sub (r'\.(c|C|cc|cxx)$', '.o', inname))
+ outnames.append ( re.sub (r'\.(c|C|cc|cxx|cpp)$',
+ self._obj_ext, inname))
return outnames
def shared_object_filename (self, source_filename):
- return re.sub (r'\.(c|C|cc|cxx)$', SO)
+ return re.sub (r'\.(c|C|cc|cxx|cpp)$', self._shared_lib_ext)
def library_filename (self, libname):
- return "lib%s.a" % libname
+ return "lib%s%s" % (libname, self._static_lib_ext )
def shared_library_filename (self, libname):
- return "lib%s.so" % libname
+ return "lib%s%s" % (libname, self._shared_lib_ext )
+
# class UnixCCompiler