3 from distutils
.core
import setup
, Extension
4 from Pyrex
.Distutils
import build_ext
15 if p
.read() != '': raise 'extra junk from %s' % cmd
17 return out
.rstrip('\n')
19 def libconfig(lib
, ver
):
20 config
= lib
+ '-config'
21 if system('%s --check %s' %
(config
, ver
)):
22 raise '%s version %s not found' %
(lib
, ver
)
23 version
= progoutput('%s --version' % config
)
24 for i
in progoutput('%s --cflags' % config
).split():
25 if i
[:2] == '-I': incdirs
.append(i
[2:])
26 else: raise 'strange cflags item %s' % i
27 for i
in progoutput('%s --libs' % config
).split():
28 if i
[:2] == '-L': libdirs
.append(i
[2:])
29 elif i
[:2] == '-l': libs
.append(i
[2:])
30 else: raise 'strange libs item %s' % i
41 libconfig('mLib', '2.0.3')
42 libconfig('checkpath', '1.1.0')
44 chk
= Extension('checkpath',
46 ##extra_compile_args = ['-O0'],
47 include_dirs
= uniquify(incdirs
),
48 library_dirs
= uniquify(libdirs
),
49 libraries
= uniquify(libs
))
50 setup(name
= 'checkpath-python',
52 description
= 'Checking paths for security',
53 author
= 'Straylight/Edgeware',
54 author_email
= 'mdw@distorted.org.uk',
55 license
= 'GNU General Public License',
57 cmdclass
= {'build_ext': build_ext
})