]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Patch from Perry Stoll: caught up with changes in CCompiler necessary (?)
authorGreg Ward <gward@python.net>
Sun, 29 Aug 1999 18:23:32 +0000 (18:23 +0000)
committerGreg Ward <gward@python.net>
Sun, 29 Aug 1999 18:23:32 +0000 (18:23 +0000)
for MSVCCompiler.

Lib/distutils/unixccompiler.py

index c8468f965a2b09f269c2d609e8a5cb6a95f1d578..6594043c732355c6d5571d541bc9b2644f23da00 100644 (file)
@@ -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