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