Home | History | Annotate | Download | only in util
      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 liblk = getenv('LIBLK')
     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, liblk],
     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 (at] 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})
     49