]> granicus.if.org Git - python/commitdiff
Fixed setup.py to allow:
authorMarc-André Lemburg <mal@egenix.com>
Fri, 26 Jan 2001 18:03:24 +0000 (18:03 +0000)
committerMarc-André Lemburg <mal@egenix.com>
Fri, 26 Jan 2001 18:03:24 +0000 (18:03 +0000)
1. skipping of extensions which cause an error (a warning message
   is written to stdout, but the build process no longer fails
   completely)

2. the readline extension to compile on SuSE Linux (and probably
   other platforms too) by adding /usr/lib/termcap to the library search
   path

setup.py

index fc68172758b3e021ab15f4bbadbc66f5a5a46ebf..e6bc676461e88477e0cf3d9649a4fecf33f47dda 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -3,6 +3,7 @@
 
 import sys, os, string, getopt
 from distutils import sysconfig
+from distutils.errors import *
 from distutils.core import Extension, setup
 from distutils.command.build_ext import build_ext
 
@@ -99,6 +100,14 @@ class PyBuildExt(build_ext):
 
         build_ext.build_extensions(self)
 
+    def build_extension(self, ext):
+
+        try:
+            build_ext.build_extension(self, ext)
+        except (CCompilerError, DistutilsError), why:
+            self.announce('WARNING: building of extension "%s" failed: %s' %
+                          (ext.name, sys.exc_info()[1]))
+
     def get_platform (self):
         # Get value of sys.platform
         platform = sys.platform
@@ -235,6 +244,7 @@ class PyBuildExt(build_ext):
         # readline
         if (self.compiler.find_library_file(lib_dirs, 'readline')):
             exts.append( Extension('readline', ['readline.c'],
+                                   library_dirs=['/usr/lib/termcap'],
                                    libraries=['readline', 'termcap']) )
 
         # The crypt module is now disabled by default because it breaks builds