mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alexis Berlemont <alexis.berlemont@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: Alexis Berlemont <alexis.berlemont@gmail.com>,
	jolsa@redhat.com, dsahern@gmail.com, mingo@kernel.org,
	sam@ravnborg.org, mmarek@suse.cz, namhyung@kernel.org
Subject: [PATCH 11/13] perf kbuild: remove legacy script-related build variables
Date: Wed, 25 Jun 2014 00:47:58 +0200	[thread overview]
Message-ID: <1403650080-3130-12-git-send-email-alexis.berlemont@gmail.com> (raw)
In-Reply-To: <1403650080-3130-1-git-send-email-alexis.berlemont@gmail.com>
In-Reply-To: <CAMesUR4175wXt-Pov8Yu-ke7KG4FRaBCTYouCs=jK3n0CWi3zw@mail.gmail.com>

Remove NO_LIBPERL (replaced by CONFIG_LIBPERL)
Remove NO_LIBPYTHON (replaced by CONFIG_LIBPYTHON)
---
 tools/perf/builtin-script.c             |  6 ++--
 tools/perf/config/Makefile              | 51 +++++++++++----------------------
 tools/perf/config/Makefile.fix-config   | 16 -----------
 tools/perf/config/Makefile.fix-legacy   |  8 ------
 tools/perf/util/trace-event-scripting.c | 13 +++++----
 5 files changed, 27 insertions(+), 67 deletions(-)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 9e9c91f..3e59b24 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1,3 +1,5 @@
+#include "generated/autoconf.h"
+
 #include "builtin.h"
 
 #include "perf.h"
@@ -1362,11 +1364,11 @@ int find_scripts(char **scripts_array, char **scripts_path_array)
 	for_each_lang(scripts_path, scripts_dir, lang_dirent, lang_next) {
 		snprintf(lang_path, MAXPATHLEN, "%s/%s", scripts_path,
 			 lang_dirent.d_name);
-#ifdef NO_LIBPERL
+#ifndef CONFIG_LIBPERL
 		if (strstr(lang_path, "perl"))
 			continue;
 #endif
-#ifdef NO_LIBPYTHON
+#ifndef CONFIG_LIBPYTHON
 		if (strstr(lang_path, "python"))
 			continue;
 #endif
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index f4b133e..0f8fa99 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -454,9 +454,7 @@ endif
 grep-libs  = $(filter -l%,$(1))
 strip-libs = $(filter-out -l%,$(1))
 
-ifdef NO_LIBPERL
-  CFLAGS += -DNO_LIBPERL
-else
+ifdef CONFIG_LIBPERL
   PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null)
   PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS))
   PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS))
@@ -464,9 +462,8 @@ else
   FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS)
 
   ifneq ($(feature-libperl), 1)
-    CFLAGS += -DNO_LIBPERL
-    NO_LIBPERL := 1
     msg := $(warning Missing perl devel files. Disabling perl scripting support, consider installing perl-ExtUtils-Embed);
+    $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBPERL)
   else
     LDFLAGS += $(PERL_EMBED_LDFLAGS)
     EXTLIBS += $(PERL_EMBED_LIBADD)
@@ -481,27 +478,24 @@ ifdef CONFIG_TIMERFD
   endif
 endif
 
-disable-python = $(eval $(disable-python_code))
-define disable-python_code
-  CFLAGS += -DNO_LIBPYTHON
-  $(if $(1),$(warning No $(1) was found))
-  $(warning Python support will not be built)
-  NO_LIBPYTHON := 1
-endef
+ifdef CONFIG_LIBPYTHON
 
-override PYTHON := \
-  $(call get-executable-or-default,PYTHON,python)
+  disable-python = $(eval $(disable-python_code))
+  define disable-python_code
+    $(if $(1),$(warning No $(1) was found))
+    $(warning Python support will not be built)
+    $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBPYTHON)
+  endef
 
-ifndef PYTHON
-  $(call disable-python,python interpreter)
-else
+  override PYTHON := \
+    $(call get-executable-or-default,PYTHON,python)
 
-  PYTHON_WORD := $(call shell-wordify,$(PYTHON))
-
-  ifdef NO_LIBPYTHON
-    $(call disable-python)
+  ifndef PYTHON
+    $(call disable-python,python interpreter)
   else
 
+    PYTHON_WORD := $(call shell-wordify,$(PYTHON))
+
     override PYTHON_CONFIG := \
       $(call get-executable-or-default,PYTHON_CONFIG,$(PYTHON)-config)
 
@@ -522,18 +516,7 @@ else
       else
 
         ifneq ($(feature-libpython-version), 1)
-          $(warning Python 3 is not yet supported; please set)
-          $(warning PYTHON and/or PYTHON_CONFIG appropriately.)
-          $(warning If you also have Python 2 installed, then)
-          $(warning try something like:)
-          $(warning $(and ,))
-          $(warning $(and ,)  make PYTHON=python2)
-          $(warning $(and ,))
-          $(warning Otherwise, disable Python support entirely:)
-          $(warning $(and ,))
-          $(warning $(and ,)  make NO_LIBPYTHON=1)
-          $(warning $(and ,))
-          $(error   $(and ,))
+          $(call disable-python,python2 interpreter)
         else
           LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
           EXTLIBS += $(PYTHON_EMBED_LIBADD)
@@ -776,8 +759,6 @@ all:
 	$(call store,PERL_EMBED_CCOPTS)
 	$(call store,CONFIG_X86_64)
 	$(call store,NO_LIBUNWIND)
-	$(call store,NO_LIBPERL)
-	$(call store,NO_LIBPYTHON)
 	$(call store,ETC_PERFCONFIG_SQ)
 	$(call store,DESTDIR_SQ)
 	$(call store,bindir_SQ)
diff --git a/tools/perf/config/Makefile.fix-config b/tools/perf/config/Makefile.fix-config
index e63539f..3f0e33e 100644
--- a/tools/perf/config/Makefile.fix-config
+++ b/tools/perf/config/Makefile.fix-config
@@ -3,20 +3,4 @@ include $(KCONFIG_CONFIG)
 
 CONFIG := $(srctree)/scripts/config --file $(KCONFIG_CONFIG)
 
-# NO_LIBPERL
-ifdef CONFIG_LIBPERL
-ifdef NO_LIBPERL
-dummy := $(info Disabling CONFIG_LIBPERL)
-dummy := $(shell $(CONFIG) -d CONFIG_LIBPERL)
-endif
-endif
-
-# NO_LIBPYTHON
-ifdef CONFIG_LIBPYTHON
-ifdef NO_LIBPYTHON
-dummy := $(info Disabling CONFIG_LIBPYTHON)
-dummy := $(shell $(CONFIG) -d CONFIG_LIBPYTHON)
-endif
-endif
-
 all:
diff --git a/tools/perf/config/Makefile.fix-legacy b/tools/perf/config/Makefile.fix-legacy
index 20a4062..431c9bf 100644
--- a/tools/perf/config/Makefile.fix-legacy
+++ b/tools/perf/config/Makefile.fix-legacy
@@ -1,10 +1,2 @@
 
 include $(KCONFIG_CONFIG)
-
-ifndef CONFIG_LIBPERL
-NO_LIBPERL := 1
-endif
-
-ifndef CONFIG_LIBPYTHON
-NO_LIBPYTHON := 1
-endif
diff --git a/tools/perf/util/trace-event-scripting.c b/tools/perf/util/trace-event-scripting.c
index 57aaccc..4a70ef7 100644
--- a/tools/perf/util/trace-event-scripting.c
+++ b/tools/perf/util/trace-event-scripting.c
@@ -24,6 +24,7 @@
 #include <string.h>
 #include <errno.h>
 
+#include "generated/autoconf.h"
 #include "../perf.h"
 #include "util.h"
 #include "trace-event.h"
@@ -93,7 +94,7 @@ static void register_python_scripting(struct scripting_ops *scripting_ops)
 	scripting_context = malloc(sizeof(struct scripting_context));
 }
 
-#ifdef NO_LIBPYTHON
+#ifndef CONFIG_LIBPYTHON
 void setup_python_scripting(void)
 {
 	register_python_scripting(&python_scripting_unsupported_ops);
@@ -156,16 +157,16 @@ static void register_perl_scripting(struct scripting_ops *scripting_ops)
 	scripting_context = malloc(sizeof(struct scripting_context));
 }
 
-#ifdef NO_LIBPERL
+#ifdef CONFIG_LIBPERL
+extern struct scripting_ops perl_scripting_ops;
+
 void setup_perl_scripting(void)
 {
-	register_perl_scripting(&perl_scripting_unsupported_ops);
+	register_perl_scripting(&perl_scripting_ops);
 }
 #else
-extern struct scripting_ops perl_scripting_ops;
-
 void setup_perl_scripting(void)
 {
-	register_perl_scripting(&perl_scripting_ops);
+	register_perl_scripting(&perl_scripting_unsupported_ops);
 }
 #endif
-- 
1.9.3


  parent reply	other threads:[~2014-06-24 22:50 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-13 22:02 [PATCH 00/34] perf and kconfig / kbuild Alexis Berlemont
2014-05-13 22:02 ` [PATCH 01/34] kbuild: Introduce KBUILD_AUTOCONF variable for auto.conf include Alexis Berlemont
2014-05-14  5:00   ` Sam Ravnborg
2014-05-13 22:02 ` [PATCH 02/34] kbuild: Introduce KCONFIG_AUTOCONFIGDEP variable for conf tool Alexis Berlemont
2014-05-14  5:02   ` Sam Ravnborg
2014-05-14 10:17   ` Michal Marek
2014-05-13 22:02 ` [PATCH 03/34] perf tools: Kbuild builtin source related fixies Alexis Berlemont
2014-05-13 22:02 ` [PATCH 04/34] perf tools: Kbuild " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 05/34] perf tools: Add kbuild support into Makefile.kbuild Alexis Berlemont
2014-05-13 22:03 ` [PATCH 06/34] perf kbuild: fix recursive invocation of config/features-checks Alexis Berlemont
2014-05-13 22:03 ` [PATCH 07/34] perf kbuild: store in config-detected missing variables (libdir, ...) Alexis Berlemont
2014-05-13 22:03 ` [PATCH 08/34] perf kbuild: remove useless #ifdef directives Alexis Berlemont
2014-05-13 22:03 ` [PATCH 09/34] perf kbuild: fix a link issue if BUILTIN_TRACE is disabled Alexis Berlemont
2014-05-13 22:03 ` [PATCH 10/34] perf kbuild: add missing files and missing flags in Kbuild files Alexis Berlemont
2014-05-13 22:03 ` [PATCH 11/34] perf kbuild: update kbuild files according to last changes Alexis Berlemont
2014-05-13 22:03 ` [PATCH 12/34] perf kbuild: remove legacy slang-related build variables Alexis Berlemont
2014-05-13 22:03 ` [PATCH 13/34] perf kbuild: remove legacy libaudit-related " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 14/34] perf kbuild: remove legacy libgtk2-related " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 15/34] perf kbuild: remove legacy libperl-related " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 16/34] perf kbuild: remove legacy timerfd-related build variable Alexis Berlemont
2014-05-13 22:03 ` [PATCH 17/34] perf kbuild: remove legacy demangle-related build variables Alexis Berlemont
2014-05-13 22:03 ` [PATCH 18/34] perf kbuild: remove legacy on_exit-related build variable Alexis Berlemont
2014-05-13 22:03 ` [PATCH 19/34] perf kbuild: remove legacy backtrace-related " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 20/34] perf kbuild: remove legacy numa-related " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 21/34] perf kbuild: remove legacy bionic-related " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 22/34] perf kbuild: remove legacy libelf-related build variables (1st part) Alexis Berlemont
2014-05-13 22:03 ` [PATCH 23/34] perf kbuild: remove legacy libelf-related build variables (2nd part) Alexis Berlemont
2014-05-13 22:03 ` [PATCH 24/34] perf kbuild: remove legacy libdwarf-related build variables Alexis Berlemont
2014-05-13 22:03 ` [PATCH 25/34] perf kbuild: remove legacy libunwind-related " Alexis Berlemont
2014-05-13 22:03 ` [PATCH 26/34] perf kbuild: remove legacy libpython-related build variable Alexis Berlemont
2014-05-13 22:03 ` [PATCH 27/34] perf kbuild: add generated Kconfig build-test cases Alexis Berlemont
2014-05-13 22:03 ` [PATCH 28/34] perf kbuild: fix installation of traceevent plugins Alexis Berlemont
2014-05-13 22:03 ` [PATCH 29/34] perf kbuild: fix tarpkg target in tests/make Alexis Berlemont
2014-05-13 22:03 ` [PATCH 30/34] perf kbuild: update Kbuild files with new and removed sources Alexis Berlemont
2014-05-13 22:03 ` [PATCH 31/34] perf kbuild: update build test configurations Alexis Berlemont
2014-05-13 22:03 ` [PATCH 32/34] perf kbuild: relocate the configs generating script Alexis Berlemont
2014-05-13 22:03 ` [PATCH 33/34] perf kbuild: minor changes Alexis Berlemont
2014-05-13 22:03 ` [PATCH 34/34] perf kbuild: remove Makefile.perf Alexis Berlemont
2014-05-14  2:15 ` [PATCH 00/34] perf and kconfig / kbuild David Ahern
2014-05-17 15:39   ` Alexis Berlemont
2014-06-03 22:05     ` [PATCH 00/32] perf and kconfig kbuild (2nd try) Alexis Berlemont
2014-06-04  1:59       ` David Ahern
2014-06-04 11:12         ` Alexis Berlemont
2014-06-24 22:47           ` [PATCH 00/13] perf and kbuild (3rd try) Alexis Berlemont
2014-06-24 22:47           ` [PATCH 01/13] kbuild: add support of custom paths for "auto.conf*" files Alexis Berlemont
2014-06-24 22:47           ` [PATCH 02/13] perf tools: Kbuild builtin source related fixies Alexis Berlemont
2014-06-24 22:47           ` [PATCH 03/13] perf tools: Kbuild " Alexis Berlemont
2014-06-24 22:47           ` [PATCH 04/13] perf tools: Add kbuild support into Makefile.kbuild Alexis Berlemont
2014-06-24 22:47           ` [PATCH 05/13] perf kbuild: remove Makefile.perf Alexis Berlemont
2014-06-24 22:47           ` [PATCH 06/13] perf kbuild: remove legacy tui/gui-related build variables Alexis Berlemont
2014-06-24 22:47           ` [PATCH 07/13] perf kbuild: remove legacy demangle-related " Alexis Berlemont
2014-06-24 22:47           ` [PATCH 08/13] perf kbuild: remove legacy misc " Alexis Berlemont
2014-06-24 22:47           ` [PATCH 09/13] perf kbuild: remove legacy libelf-related " Alexis Berlemont
2014-06-24 22:47           ` [PATCH 10/13] perf kbuild: remove legacy libdwarf-related " Alexis Berlemont
2014-06-24 22:47           ` Alexis Berlemont [this message]
2014-06-24 22:47           ` [PATCH 12/13] perf kbuild: final cosmetic changes Alexis Berlemont
2014-06-24 22:48           ` [PATCH 13/13] perf kbuild: add generated Kconfig build-test cases Alexis Berlemont
2014-06-03 22:05     ` [PATCH 01/32] kbuild: add support of custom paths for "auto.conf*" files Alexis Berlemont
2014-06-03 22:05     ` [PATCH 02/32] perf tools: Kbuild builtin source related fixies Alexis Berlemont
2014-06-04  6:58       ` Paul Bolle
2014-06-04 14:15         ` David Ahern
2014-06-03 22:05     ` [PATCH 03/32] perf tools: Kbuild " Alexis Berlemont
2014-06-04  1:49       ` David Ahern
2014-06-04  6:49         ` Paul Bolle
2014-06-03 22:05     ` [PATCH 04/32] perf tools: Add kbuild support into Makefile.kbuild Alexis Berlemont
2014-06-03 22:05     ` [PATCH 05/32] perf kbuild: fix recursive invocation of config/features-checks Alexis Berlemont
2014-06-04  1:50       ` David Ahern
2014-06-03 22:05     ` [PATCH 06/32] perf kbuild: store in config-detected missing variables (libdir, ...) Alexis Berlemont
2014-06-04  1:52       ` David Ahern
2014-06-03 22:06     ` [PATCH 07/32] perf kbuild: remove useless #ifdef directives Alexis Berlemont
2014-06-04  1:53       ` David Ahern
2014-06-04 21:20         ` Alexis Berlemont
2014-06-03 22:06     ` [PATCH 08/32] perf kbuild: fix a link issue if BUILTIN_TRACE is disabled Alexis Berlemont
2014-06-03 22:06     ` [PATCH 09/32] perf kbuild: add missing files and missing flags in Kbuild files Alexis Berlemont
2014-06-03 22:06     ` [PATCH 10/32] perf kbuild: update kbuild files according to last changes Alexis Berlemont
2014-06-03 22:06     ` [PATCH 11/32] perf kbuild: remove legacy slang-related build variables Alexis Berlemont
2014-06-03 22:06     ` [PATCH 12/32] perf kbuild: remove legacy libaudit-related " Alexis Berlemont
2014-06-03 22:06     ` [PATCH 13/32] perf kbuild: remove legacy libgtk2-related " Alexis Berlemont
2014-06-03 22:06     ` [PATCH 14/32] perf kbuild: remove legacy libperl-related " Alexis Berlemont
2014-06-03 22:06     ` [PATCH 15/32] perf kbuild: remove legacy timerfd-related build variable Alexis Berlemont
2014-06-03 22:06     ` [PATCH 16/32] perf kbuild: remove legacy demangle-related build variables Alexis Berlemont
2014-06-03 22:06     ` [PATCH 17/32] perf kbuild: remove legacy on_exit-related build variable Alexis Berlemont
2014-06-03 22:06     ` [PATCH 18/32] perf kbuild: remove legacy backtrace-related " Alexis Berlemont
2014-06-03 22:06     ` [PATCH 19/32] perf kbuild: remove legacy numa-related " Alexis Berlemont
2014-06-03 22:06     ` [PATCH 20/32] perf kbuild: remove legacy bionic-related " Alexis Berlemont
2014-06-03 22:06     ` [PATCH 21/32] perf kbuild: remove legacy libelf-related build variables (1st part) Alexis Berlemont
2014-06-03 22:06     ` [PATCH 22/32] perf kbuild: remove legacy libelf-related build variables (2nd part) Alexis Berlemont
2014-06-03 22:06     ` [PATCH 23/32] perf kbuild: remove legacy libdwarf-related build variables Alexis Berlemont
2014-06-03 22:06     ` [PATCH 24/32] perf kbuild: remove legacy libpython-related build variable Alexis Berlemont
2014-06-03 22:06     ` [PATCH 25/32] perf kbuild: add generated Kconfig build-test cases Alexis Berlemont
2014-06-03 22:06     ` [PATCH 26/32] perf kbuild: fix installation of traceevent plugins Alexis Berlemont
2014-06-03 22:06     ` [PATCH 27/32] perf kbuild: fix tarpkg target in tests/make Alexis Berlemont
2014-06-03 22:06     ` [PATCH 28/32] perf kbuild: update Kbuild files with new and removed sources Alexis Berlemont
2014-06-03 22:06     ` [PATCH 29/32] perf kbuild: update build test configurations Alexis Berlemont
2014-06-03 22:06     ` [PATCH 30/32] perf kbuild: relocate the configs generating script Alexis Berlemont
2014-06-03 22:06     ` [PATCH 31/32] perf kbuild: minor changes Alexis Berlemont
2014-06-03 22:06     ` [PATCH 32/32] perf kbuild: remove Makefile.perf Alexis Berlemont
2014-05-15  8:05 ` [PATCH 00/34] perf and kconfig / kbuild Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1403650080-3130-12-git-send-email-alexis.berlemont@gmail.com \
    --to=alexis.berlemont@gmail.com \
    --cc=dsahern@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mmarek@suse.cz \
    --cc=namhyung@kernel.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®