blob: a072328f308c711dd0e86f43977d47970b33fc5d [file] [log] [blame]
#! /usr/bin/env python
import os, sys
from distutils.core import setup, Extension
from distutils.command.build_ext import build_ext
try:
# load py2exe distutils extension, if available
import py2exe
except ImportError:
pass
try:
import Numeric
except ImportError:
print "*** Warning: FontTools needs Numerical Python (NumPy), see:"
print " http://sourceforge.net/projects/numpy/"
try:
import xml.parsers.expat
except ImportError:
print "*** Warning: FontTools needs PyXML, see:"
print " http://sourceforge.net/projects/pyxml/"
class build_ext_optional(build_ext):
"""build_ext command which doesn't abort when it fails."""
def build_extension(self, ext):
# Skip extensions which cannot be built
try:
build_ext.build_extension(self, ext)
except:
self.announce(
'*** WARNING: Building of extension "%s" '
'failed: %s' %
(ext.name, sys.exc_info()[1]))
setup(
name = "FontTools",
version = "1.0",
description = "Python FontTools",
author = "Just van Rossum",
author_email = "just@letterror.com",
maintainer = "Just van Rossum",
maintainer_email = "just@letterror.com",
url = "http://fonttools.sourceforge.net/",
packages = [
"",
"fontTools",
"fontTools.encodings",
"fontTools.misc",
"fontTools.ttLib",
"fontTools.ttLib.tables",
"fontTools.ttLib.test",
],
package_dir = {'': 'Lib'},
extra_path = 'FontTools',
ext_modules = [
Extension(
"fontTools.misc.eexecOp",
["Src/eexecOp/eexecOpmodule.c"],
include_dirs=[],
define_macros=[],
library_dirs=[],
libraries=[],
)
],
scripts = ["Tools/ttcompile", "Tools/ttdump", "Tools/ttlist"],
cmdclass = {"build_ext": build_ext_optional}
)