diff setup.py @ 16282:ea4a2f3b266e legacy-trunk

Fixed setup.py to allow: 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
author Marc-André Lemburg <mal@egenix.com>
date Fri, 26 Jan 2001 18:03:24 +0000
parents e56dd2dd9960
children 65c6a2998b1b
line wrap: on
line diff
--- a/setup.py	Fri Jan 26 18:00:48 2001 +0000
+++ b/setup.py	Fri Jan 26 18:03:24 2001 +0000
@@ -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 @@
 
         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 @@
         # 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