Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56c7d79e authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf tools: Fix make PYTHON override



Thomas reported that make PYTHON=python2 is not work on some systems.  I
can reproduce it on my ArchLinux box too.

This is because it's overridden by config/feature-checks/Makefile
regardless of PYTHON setting.  I guess it's a bug slipped into during
the feature checking change.

Actually, we don't need to check python-config in the feature-checks.
We can just pass appropriate FEATURE_CHECK_*FLAGS.

Reported-by: default avatarThomas Ilsche <thomas.ilsche@tu-dresden.de>
Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Tested-by: default avatarThomas Ilsche <thomas.ilsche@tu-dresden.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Ilsche <thomas.ilsche@tu-dresden.de>
Link: http://lkml.kernel.org/r/1406617040-26909-1-git-send-email-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 64c40908
Loading
Loading
Loading
Loading
+22 −12
Original line number Original line Diff line number Diff line
@@ -120,6 +120,23 @@ ifdef PARSER_DEBUG
  CFLAGS             += -DPARSER_DEBUG
  CFLAGS             += -DPARSER_DEBUG
endif
endif


ifndef NO_LIBPYTHON
  override PYTHON := \
    $(call get-executable-or-default,PYTHON,python)
  override PYTHON_CONFIG := \
    $(call get-executable-or-default,PYTHON_CONFIG,$(PYTHON)-config)

  PYTHON_CONFIG_SQ := $(call shell-sq,$(PYTHON_CONFIG))

  PYTHON_EMBED_LDOPTS := $(shell $(PYTHON_CONFIG_SQ) --ldflags 2>/dev/null)
  PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)

  FEATURE_CHECK_CFLAGS-libpython := $(PYTHON_EMBED_CCOPTS)
  FEATURE_CHECK_LDFLAGS-libpython := $(PYTHON_EMBED_LDOPTS)
  FEATURE_CHECK_CFLAGS-libpython-version := $(PYTHON_EMBED_CCOPTS)
  FEATURE_CHECK_LDFLAGS-libpython-version := $(PYTHON_EMBED_LDOPTS)
endif

CFLAGS += -fno-omit-frame-pointer
CFLAGS += -fno-omit-frame-pointer
CFLAGS += -ggdb3
CFLAGS += -ggdb3
CFLAGS += -funwind-tables
CFLAGS += -funwind-tables
@@ -482,22 +499,15 @@ define disable-python_code
  NO_LIBPYTHON := 1
  NO_LIBPYTHON := 1
endef
endef


override PYTHON := \
ifdef NO_LIBPYTHON
  $(call get-executable-or-default,PYTHON,python)
  $(call disable-python)
else


  ifndef PYTHON
  ifndef PYTHON
    $(call disable-python,python interpreter)
    $(call disable-python,python interpreter)
  else
  else

    PYTHON_WORD := $(call shell-wordify,$(PYTHON))
    PYTHON_WORD := $(call shell-wordify,$(PYTHON))


  ifdef NO_LIBPYTHON
    $(call disable-python)
  else

    override PYTHON_CONFIG := \
      $(call get-executable-or-default,PYTHON_CONFIG,$(PYTHON)-config)

    ifndef PYTHON_CONFIG
    ifndef PYTHON_CONFIG
      $(call disable-python,python-config tool)
      $(call disable-python,python-config tool)
    else
    else
+2 −16
Original line number Original line Diff line number Diff line
@@ -101,25 +101,11 @@ FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS)
test-libperl.bin:
test-libperl.bin:
	$(BUILD) $(FLAGS_PERL_EMBED)
	$(BUILD) $(FLAGS_PERL_EMBED)


override PYTHON := python
override PYTHON_CONFIG := python-config

escape-for-shell-sq =  $(subst ','\'',$(1))
shell-sq = '$(escape-for-shell-sq)'

PYTHON_CONFIG_SQ = $(call shell-sq,$(PYTHON_CONFIG))

PYTHON_EMBED_LDOPTS = $(shell $(PYTHON_CONFIG_SQ) --ldflags 2>/dev/null)
PYTHON_EMBED_LDFLAGS = $(call strip-libs,$(PYTHON_EMBED_LDOPTS))
PYTHON_EMBED_LIBADD = $(call grep-libs,$(PYTHON_EMBED_LDOPTS))
PYTHON_EMBED_CCOPTS = $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)
FLAGS_PYTHON_EMBED = $(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)

test-libpython.bin:
test-libpython.bin:
	$(BUILD) $(FLAGS_PYTHON_EMBED)
	$(BUILD)


test-libpython-version.bin:
test-libpython-version.bin:
	$(BUILD) $(FLAGS_PYTHON_EMBED)
	$(BUILD)


test-libbfd.bin:
test-libbfd.bin:
	$(BUILD) -DPACKAGE='"perf"' -lbfd -lz -liberty -ldl
	$(BUILD) -DPACKAGE='"perf"' -lbfd -lz -liberty -ldl