setup.py revision b46acaab8838310108a154d279132c793eb01861
1#! /usr/bin/env python 2 3import os, sys 4from distutils.core import setup, Extension 5from distutils.command.build_ext import build_ext 6 7try: 8 # load py2exe distutils extension, if available 9 import py2exe 10except ImportError: 11 pass 12 13try: 14 import Numeric 15except ImportError: 16 print "*** Warning: FontTools needs Numerical Python (NumPy), see:" 17 print " http://sourceforge.net/projects/numpy/" 18 19try: 20 import xml.parsers.expat 21except ImportError: 22 print "*** Warning: FontTools needs PyXML, see:" 23 print " http://sourceforge.net/projects/pyxml/" 24 25 26class build_ext_optional(build_ext): 27 """build_ext command which doesn't abort when it fails.""" 28 def build_extension(self, ext): 29 # Skip extensions which cannot be built 30 try: 31 build_ext.build_extension(self, ext) 32 except: 33 self.announce( 34 '*** WARNING: Building of extension "%s" ' 35 'failed: %s' % 36 (ext.name, sys.exc_info()[1])) 37 38 39setup( 40 name = "FontTools", 41 version = "1.0", 42 description = "Python FontTools", 43 author = "Just van Rossum", 44 author_email = "just@letterror.com", 45 maintainer = "Just van Rossum", 46 maintainer_email = "just@letterror.com", 47 url = "http://fonttools.sourceforge.net/", 48 49 packages = [ 50 "", 51 "fontTools", 52 "fontTools.encodings", 53 "fontTools.misc", 54 "fontTools.ttLib", 55 "fontTools.ttLib.tables", 56 "fontTools.ttLib.test", 57 ], 58 package_dir = {'': 'Lib'}, 59 extra_path = 'FontTools', 60 ext_modules = [ 61 Extension( 62 "fontTools.misc.eexecOp", 63 ["Src/eexecOp/eexecOpmodule.c"], 64 include_dirs=[], 65 define_macros=[], 66 library_dirs=[], 67 libraries=[], 68 ) 69 ], 70 scripts = ["Tools/ttx"], 71 cmdclass = {"build_ext": build_ext_optional} 72 ) 73 74