Skip to content
  • Jiri Olsa's avatar
    perf tools: Fix python extension build · 67d52689
    Jiri Olsa authored
    
    
    The util/python-ext-sources file contains source files required to build
    the python extension relative to $(srctree)/tools/perf,
    
    Such a file path $(FILE).c is handed over to the python extension build
    system, which builds the final object in the
    $(PYTHON_EXTBUILD)/tmp/$(FILE).o path.
    
    After the build is done all files from $(PYTHON_EXTBUILD)lib/ are
    carried as the result binaries.
    
    Above system fails when we add source file relative to ../lib, which we
    do for:
    
      ../lib/bitmap.c
      ../lib/find_bit.c
      ../lib/hweight.c
      ../lib/rbtree.c
    
    All above objects will be built like:
    
      $(PYTHON_EXTBUILD)/tmp/../lib/bitmap.c
      $(PYTHON_EXTBUILD)/tmp/../lib/find_bit.c
      $(PYTHON_EXTBUILD)/tmp/../lib/hweight.c
      $(PYTHON_EXTBUILD)/tmp/../lib/rbtree.c
    
    which accidentally happens to be final library path:
    
      $(PYTHON_EXTBUILD)/lib/
    
    Changing setup.py to pass full paths of source files to Extension build
    class and thus keep all built objects under $(PYTHON_EXTBUILD)tmp
    directory.
    
    Reported-by: default avatarJeff Bastian <jbastian@redhat.com>
    Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: stable@vger.kernel.org # v4.2+
    Link: http://lkml.kernel.org/r/20160227201350.GB28494@krava.redhat.com
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    67d52689