Part of patch #102409: special cases for Cygwin:

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.
This commit is contained in:
Andrew M. Kuchling 2001-01-24 15:43:09 +00:00
parent f47075e86d
commit 506f0b1fc6
1 changed files with 18 additions and 0 deletions

View File

@ -163,6 +163,17 @@ def finalize_options (self):
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 @@ def get_libraries (self, ext):
# 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