| [2599] | 1 | #!/usr/bin/python | 
|---|
 | 2 |  | 
|---|
 | 3 | from distutils.core import setup | 
|---|
 | 4 | from distutils.extension import Extension | 
|---|
 | 5 | from Cython.Distutils import build_ext | 
|---|
 | 6 | import sys | 
|---|
 | 7 | import os | 
|---|
 | 8 |  | 
|---|
 | 9 | for root in ['/Library/OpenAFS/Tools', | 
|---|
 | 10 |              '/usr/local', | 
|---|
 | 11 |              '/usr/afsws', | 
|---|
 | 12 |              '/usr']: | 
|---|
 | 13 |     if os.path.exists('%s/include/afs/afs.h' % root): | 
|---|
 | 14 |         break | 
|---|
 | 15 |  | 
|---|
 | 16 | include_dirs = [os.path.join(os.path.dirname(__file__), 'afs'), | 
|---|
 | 17 |                 '%s/include' % root] | 
|---|
 | 18 | library_dirs = ['%s/lib' % root, | 
|---|
 | 19 |                 '%s/lib/afs' % root] | 
|---|
 | 20 | if os.path.exists('%s/lib/libafsauthent_pic.a' % root): | 
|---|
 | 21 |     suffix = '_pic' | 
|---|
 | 22 | else: | 
|---|
 | 23 |     suffix = '' | 
|---|
 | 24 | libraries = ['afsauthent%s' % suffix, 'afsrpc%s' % suffix, 'resolv'] | 
|---|
 | 25 | define_macros = [('AFS_PTHREAD_ENV', None)] | 
|---|
 | 26 |  | 
|---|
 | 27 | def PyAFSExtension(module, *args, **kwargs): | 
|---|
 | 28 |     kwargs.setdefault('libraries', []).extend(libraries) | 
|---|
 | 29 |     kwargs.setdefault('include_dirs', []).extend(include_dirs) | 
|---|
 | 30 |     kwargs.setdefault('library_dirs', []).extend(library_dirs) | 
|---|
 | 31 |     kwargs.setdefault('define_macros', []).extend(define_macros) | 
|---|
 | 32 |     return Extension(module, | 
|---|
 | 33 |                      ["%s.pyx" % module.replace('.', '/')], | 
|---|
 | 34 |                      *args, | 
|---|
 | 35 |                      **kwargs) | 
|---|
 | 36 |  | 
|---|
 | 37 | setup( | 
|---|
 | 38 |     name="PyAFS", | 
|---|
 | 39 |     version="0.1.1", | 
|---|
 | 40 |     description="PyAFS - Python bindings for AFS", | 
|---|
 | 41 |     author="Evan Broder", | 
|---|
 | 42 |     author_email="broder@mit.edu", | 
|---|
 | 43 |     url="http://github.com/ebroder/pyafs/", | 
|---|
 | 44 |     license="GPL", | 
|---|
 | 45 |     requires=['Cython'], | 
|---|
 | 46 |     packages=['afs', 'afs.tests'], | 
|---|
 | 47 |     ext_modules=[ | 
|---|
 | 48 |         PyAFSExtension("afs._util"), | 
|---|
 | 49 |         PyAFSExtension("afs._acl"), | 
|---|
 | 50 |         PyAFSExtension("afs._fs"), | 
|---|
 | 51 |         PyAFSExtension("afs._pts", libraries=['krb5']), | 
|---|
 | 52 |         ], | 
|---|
 | 53 |     cmdclass= {"build_ext": build_ext} | 
|---|
 | 54 | ) | 
|---|