9941c96ad8
Adding install-python_ext target to install python extension related files. Installation directory is governed by python distutils package and follows the DESTDIR variable settings. Also moving python extension build output into '$(O)python_ext_build' directory and making it configurable via PYTHON_EXTBUILD variable. Keeping the '$(O)python/perf.so' file, so it could be used for testing as of until now. Cc: Ingo Molnar <mingo@elte.hu> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/20110722113307.GA1931@jolsa.brq.redhat.com Signed-off-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
#!/usr/bin/python2
|
|
|
|
from distutils.core import setup, Extension
|
|
from os import getenv
|
|
|
|
from distutils.command.build_ext import build_ext as _build_ext
|
|
from distutils.command.install_lib import install_lib as _install_lib
|
|
|
|
class build_ext(_build_ext):
|
|
def finalize_options(self):
|
|
_build_ext.finalize_options(self)
|
|
self.build_lib = build_lib
|
|
self.build_temp = build_tmp
|
|
|
|
class install_lib(_install_lib):
|
|
def finalize_options(self):
|
|
_install_lib.finalize_options(self)
|
|
self.build_dir = build_lib
|
|
|
|
|
|
cflags = ['-fno-strict-aliasing', '-Wno-write-strings']
|
|
cflags += getenv('CFLAGS', '').split()
|
|
|
|
build_lib = getenv('PYTHON_EXTBUILD_LIB')
|
|
build_tmp = getenv('PYTHON_EXTBUILD_TMP')
|
|
|
|
perf = Extension('perf',
|
|
sources = ['util/python.c', 'util/ctype.c', 'util/evlist.c',
|
|
'util/evsel.c', 'util/cpumap.c', 'util/thread_map.c',
|
|
'util/util.c', 'util/xyarray.c', 'util/cgroup.c'],
|
|
include_dirs = ['util/include'],
|
|
extra_compile_args = cflags,
|
|
)
|
|
|
|
setup(name='perf',
|
|
version='0.1',
|
|
description='Interface with the Linux profiling infrastructure',
|
|
author='Arnaldo Carvalho de Melo',
|
|
author_email='acme@redhat.com',
|
|
license='GPLv2',
|
|
url='http://perf.wiki.kernel.org',
|
|
ext_modules=[perf],
|
|
cmdclass={'build_ext': build_ext, 'install_lib': install_lib})
|