summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/command
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2001-01-24 15:43:09 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2001-01-24 15:43:09 (GMT)
commit506f0b1fc6d44fbc1dffae47b0599ddc916dc596 (patch)
treeda8e15e14e00b931cb739ba435d2b22c6e163572 /Lib/distutils/command
parentf47075e86d4693cbe4a176a9a39c90dceef2f005 (diff)
downloadcpython-506f0b1fc6d44fbc1dffae47b0599ddc916dc596.zip
cpython-506f0b1fc6d44fbc1dffae47b0599ddc916dc596.tar.gz
cpython-506f0b1fc6d44fbc1dffae47b0599ddc916dc596.tar.bz2
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.
Diffstat (limited to 'Lib/distutils/command')
-rw-r--r--Lib/distutils/command/build_ext.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index 936a5f6..2876c35 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -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