#!/usr/bin/python from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext import sys import os for root in ['/Library/OpenAFS/Tools', '/usr/local', '/usr/afsws', '/usr']: if os.path.exists('%s/include/afs/afs.h' % root): break include_dirs = [os.path.join(os.path.dirname(__file__), 'afs'), '%s/include' % root] library_dirs = ['%s/lib' % root, '%s/lib/afs' % root] if os.path.exists('%s/lib/libafsauthent_pic.a' % root): suffix = '_pic' else: suffix = '' libraries = ['afsauthent%s' % suffix, 'afsrpc%s' % suffix, 'resolv'] define_macros = [('AFS_PTHREAD_ENV', None)] def PyAFSExtension(module, *args, **kwargs): kwargs.setdefault('libraries', []).extend(libraries) kwargs.setdefault('include_dirs', []).extend(include_dirs) kwargs.setdefault('library_dirs', []).extend(library_dirs) kwargs.setdefault('define_macros', []).extend(define_macros) return Extension(module, ["%s.pyx" % module.replace('.', '/')], *args, **kwargs) setup( name="PyAFS", version="0.1.1", description="PyAFS - Python bindings for AFS", author="Evan Broder", author_email="broder@mit.edu", url="http://github.com/ebroder/pyafs/", license="GPL", requires=['Cython'], packages=['afs', 'afs.tests'], ext_modules=[ PyAFSExtension("afs._util"), PyAFSExtension("afs._acl"), PyAFSExtension("afs._fs"), PyAFSExtension("afs._pts", libraries=['krb5']), ], cmdclass= {"build_ext": build_ext} )