from setuptools import setup, find_packages
from distutils.extension import Extension
-from Pyrex.Distutils import build_ext
+from Cython.Distutils import build_ext
import sys
import os
if os.path.exists('%s/include/afs/afs.h' % root):
break
-include_dirs = ['%s/include' % root]
+include_dirs = [os.path.join(os.path.dirname(__file__), 'afs'),
+ '%s/include' % root]
library_dirs = ['%s/lib' % root,
'%s/lib/afs' % root]
+libraries = ['afsauthent', 'afsrpc', 'afsutil', 'resolv']
+define_macros = [('AFS_PTHREAD_ENV', None)]
+
+def PyAFSExtension(module):
+ return Extension(module,
+ ["%s.pyx" % module.replace('.', '/')],
+ libraries=libraries,
+ include_dirs=include_dirs,
+ library_dirs=library_dirs,
+ define_macros=define_macros)
setup(
name="PyAFS",
description="PyAFS - Python bindings for AFS",
author="Evan Broder",
author_email="broder@mit.edu",
- license="MIT",
- requires=['Pyrex'],
+ license="GPL",
+ requires=['Cython'],
packages=find_packages(),
ext_modules=[
- Extension("afs._pts",
- ["afs/_pts.pyx"],
- libraries=['bos', 'volser', 'vldb', 'afsrpc', 'afsauthent',
- 'cmd', 'usd', 'audit'],
- include_dirs=include_dirs,
- library_dirs=library_dirs)
+ PyAFSExtension("afs.afs"),
+ PyAFSExtension("afs._pts"),
],
cmdclass= {"build_ext": build_ext}
)