source: TI05-delivery/trunk/setup.py @ 1187

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI05-delivery/trunk/setup.py@1187
Revision 1187, 3.5 KB checked in by spascoe, 13 years ago (diff)

Auto-generated documentation included for the python-server interface.

Some file clean up prior to alpha. Fixed some confusion between authentication
and authorisation in the API.

The embedded client test case is disabled because it doesn't work :-(.

Line 
1"""Built bbftp embedded in python.
2"""
3
4from distutils.core import setup, Extension
5
6bbftpd_home = './src/bbftp-server-3.2.0'
7bbftpc_home = './src/bbftp-client-3.2.0'
8# Get the version from ./VERSION
9version = open('./VERSION').read()
10
11
12# Not all *.c files are compiled into *.o files in bbftpd
13bbftpd_src = [
14    'bbftpd.c',
15    'bbftpd_cd.c',
16    'bbftpd_check.c',
17    'bbftpd_crypt.c',
18    'bbftpd_daemon.c',
19    'bbftpd_list.c',
20    'bbftpd_login.c',
21    'bbftpd_message.c',
22    'bbftpd_mkdir.c',
23    'bbftpd_rm.c',
24    'bbftpd_stat.c',
25    'bbftpd_statfs.c',
26    'bbftpd_readcontrol.c',
27    'bbftpd_retr.c',
28    'bbftpd_signals.c',
29    'bbftpd_socket.c',
30    'bbftpd_store.c',
31    'bbftpd_utils.c',
32    'changetodir.c',
33    'createadir.c',
34    'createreceivesock.c',
35    'readcontrol.c',
36    'sendafile.c',
37    'sendlist.c',
38    'signals_routines.c',
39    'storeafile.c',
40    'bbftpd_private.c',
41    'bbftpd_private_user.c',
42    ]
43
44server_sources = ['%s/bbftpd/%s' % (bbftpd_home, x) for x in bbftpd_src] + ['./src/python_ext/bbftpd.c']
45
46bbftpc_src = [  'bbftp.c',
47                'bbftp_cd.c',
48                'bbftp_get.c',
49                'bbftp_lcd.c',
50                'bbftp_list.c',
51                'bbftp_mget.c',
52                'bbftp_mkdir.c',
53                'bbftp_mput.c',
54                'bbftp_put.c',
55                'bbftp_rm.c',
56                'bbftp_stat.c',
57                'bbftp_statfs.c',
58                'bbftp_dir.c',
59                'bbftp_retr.c',
60                'bbftp_setremotecos.c',
61                'bbftp_setremoteumask.c',
62                'bbftp_store.c',
63                'bbftp_socket.c',
64                'bbftp_utils.c',
65                'connecttoserver.c',
66                'getdatasock.c',
67                'readmessage.c',
68                'sendproto.c',
69                'treatcommand.c',
70                'bbftp_turl.c',
71                'writemessage.c',
72                'setsignals.c',
73                'bbftp_private.c',
74                'bbftp_private_user.c'
75                ]
76
77client_sources = ['%s/bbftpc/%s' % (bbftpc_home, x) for x in bbftpc_src] + ['./src/python_ext/bbftpc.c', 
78                                                                            './src/python_ext/util.c']
79
80bbftpd = Extension('delivery.bbftpd',
81                   define_macros = [('NDG_AUTH', 1), ('LOCAL_SYSLOG_FACILITY', 1),
82                                    ('_LARGEFILE64_SOURCE', 1),
83                                    ('NDG_PYTHON_EMBED', 1),
84                                    ('NDG_DELIVERY_VERSION', '"%s"' % version)],
85                   include_dirs = [bbftpd_home+'/includes', bbftpd_home+'/bbftpd'],
86                   libraries = ['crypt', 'crypto'],
87                   sources = server_sources)
88
89bbftpc = Extension('delivery.bbftpc',
90                   define_macros = [('NDG_AUTH', 1), ('LOCAL_SYSLOG_FACILITY', 1),
91                                    ('_LARGEFILE64_SOURCE', 1),
92                                    ('NDG_PYTHON_EMBED', 1),
93                                    ('NDG_DELIVERY_VERSION', '"%s"' % version)],
94                   include_dirs = [bbftpc_home+'/includes', bbftpc_home+'/bbftpc'],
95                   libraries = ['crypt', 'crypto'],
96                   sources = client_sources)
97
98setup(name = 'bbftp-python',
99      version = version,
100      description = 'Embedded bbftp server',
101      author = 'Stephen Pascoe',
102      author_email = 'S.Pascoe@rl.ac.uk',
103      package_dir = {'': 'lib/python'},
104      packages = ['delivery'],
105      ext_modules = [
106                     bbftpd,
107                     bbftpc])
108     
Note: See TracBrowser for help on using the repository browser.