]> granicus.if.org Git - python/commitdiff
Part of patch #102409: special cases for Cygwin:
authorAndrew M. Kuchling <amk@amk.ca>
Wed, 24 Jan 2001 15:43:09 +0000 (15:43 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Wed, 24 Jan 2001 15:43:09 +0000 (15:43 +0000)
    Lib/distutils/command/build_ext.py(build_ext.finalize_options): Add
    Cygwin specific code to append Python's library directory to the
    extension's list of library directories.

    (build_ext.get_libraries): Add Cygwin specific code to append Python's
    (import) library to the extension's list of libraries.

Lib/distutils/command/build_ext.py

index 936a5f633a155e90cc3fc715abcbb160e7d37723..2876c3593f930e168913ead78dc170178a5fa7af 100644 (file)
@@ -163,6 +163,17 @@ class build_ext (Command):
                 self.build_temp = os.path.join(self.build_temp, "Debug")
             else:
                 self.build_temp = os.path.join(self.build_temp, "Release")
+
+        # for extensions under Cygwin Python's library directory must be
+        # appended to library_dirs
+        if sys.platform[:6] == 'cygwin':
+            if string.find(sys.executable, sys.exec_prefix) != -1:
+                # building third party extensions
+                self.library_dirs.append(os.path.join(sys.prefix, "lib", "python" + sys.version[:3], "config"))
+            else:
+                # building python standard extensions
+                self.library_dirs.append('.')
+
     # finalize_options ()
     
 
@@ -576,6 +587,13 @@ class build_ext (Command):
             # don't extend ext.libraries, it may be shared with other
             # extensions, it is a reference to the original list
             return ext.libraries + [pythonlib]
+        elif sys.platform[:6] == "cygwin":
+            template = "python%d.%d"
+            pythonlib = (template %
+                   (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff))
+            # don't extend ext.libraries, it may be shared with other
+            # extensions, it is a reference to the original list
+            return ext.libraries + [pythonlib]
         else:
             return ext.libraries