]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - tools/perf/util/setup.py
1833103768cb99fbdbb92ea8910b08488fd2aac3
[karo-tx-linux.git] / tools / perf / util / setup.py
1 #!/usr/bin/python2
2
3 from distutils.core import setup, Extension
4 from os import getenv
5
6 from distutils.command.build_ext   import build_ext   as _build_ext
7 from distutils.command.install_lib import install_lib as _install_lib
8
9 class build_ext(_build_ext):
10     def finalize_options(self):
11         _build_ext.finalize_options(self)
12         self.build_lib  = build_lib
13         self.build_temp = build_tmp
14
15 class install_lib(_install_lib):
16     def finalize_options(self):
17         _install_lib.finalize_options(self)
18         self.build_dir = build_lib
19
20
21 cflags = getenv('CFLAGS', '').split()
22 # switch off several checks (need to be at the end of cflags list)
23 cflags += ['-fno-strict-aliasing', '-Wno-write-strings', '-Wno-unused-parameter' ]
24
25 build_lib = getenv('PYTHON_EXTBUILD_LIB')
26 build_tmp = getenv('PYTHON_EXTBUILD_TMP')
27 libtraceevent = getenv('LIBTRACEEVENT')
28 libapikfs = getenv('LIBAPI')
29
30 ext_sources = [f.strip() for f in file('util/python-ext-sources')
31                                 if len(f.strip()) > 0 and f[0] != '#']
32
33 perf = Extension('perf',
34                   sources = ext_sources,
35                   include_dirs = ['util/include'],
36                   extra_compile_args = cflags,
37                   extra_objects = [libtraceevent, libapikfs],
38                  )
39
40 setup(name='perf',
41       version='0.1',
42       description='Interface with the Linux profiling infrastructure',
43       author='Arnaldo Carvalho de Melo',
44       author_email='acme@redhat.com',
45       license='GPLv2',
46       url='http://perf.wiki.kernel.org',
47       ext_modules=[perf],
48       cmdclass={'build_ext': build_ext, 'install_lib': install_lib})