Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755344AbbG1Nos (ORCPT ); Tue, 28 Jul 2015 09:44:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48862 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752559AbbG1Noq (ORCPT ); Tue, 28 Jul 2015 09:44:46 -0400 Date: Tue, 28 Jul 2015 15:44:43 +0200 From: Jiri Olsa To: Pawel Moll Cc: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Namhyung Kim , Adrian Hunter , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] tools: perf: Avoid error message when building with no python installed Message-ID: <20150728134443.GB28175@krava.brq.redhat.com> References: <1438012255-26462-1-git-send-email-pawel.moll@arm.com> <20150727183601.GE20509@krava.brq.redhat.com> <1438087752.2114.22.camel@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1438087752.2114.22.camel@arm.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3054 Lines: 68 On Tue, Jul 28, 2015 at 01:49:12PM +0100, Pawel Moll wrote: > On Mon, 2015-07-27 at 19:36 +0100, Jiri Olsa wrote: > > > @@ -150,7 +150,7 @@ ifndef NO_LIBPYTHON > > > PYTHON2 := $(if $(call get-executable,python2),python2,python) > > > override PYTHON := $(call get-executable-or-default,PYTHON,$(PYTHON2)) > > > PYTHON2_CONFIG := \ > > > - $(if $(call get-executable,$(PYTHON)-config),$(PYTHON)-config,python-config) > > > + $(if $(PYTHON),$(if $(call get-executable,$(PYTHON)-config),$(PYTHON)-config,python-config)) > > > override PYTHON_CONFIG := \ > > > $(call get-executable-or-default,PYTHON_CONFIG,$(PYTHON2_CONFIG)) > > > > haven't tried, but seems like we want to add also the else part > > to get default into PYTHON_CONFIG? > > - $(if $(PYTHON),$(if $(call get-executable,$(PYTHON)-config),$(PYTHON)-config,python-config)) > > + $(if $(PYTHON),$(if $(call get-executable,$(PYTHON)-config),$(PYTHON)-config,python-config),python-config) > > It's not strictly necessary, because the issue here is just executing > "command -v -c" (followed by "onfig" :-), but of course it will still > work. > > > it fails anyway later either way, but seems like the 'python-config' > > was the default case that was meant to fail later > > Well, yes, I had the same impression. But at the same time > get-executable-or-default is constructed in such a way that either of > the variants must be a real executable: > > --8<----------- > # get-supplied-or-default-executable > # > # Usage: absolute-executable-path-or-empty = $(call get-executable-or-default,variable,default) > # > define get-executable-or-default > $(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2))) > endef > _ge_attempt = $(if $(get-executable),$(get-executable),$(call _gea_err,$(2))) > _gea_err = $(if $(1),$(error Please set '$(1)' appropriately)) > --8<----------- > > See? Both alternatives in the $(if $($(1)) monster do _ge_attempt... So > one could say that the change may rather look like this (untested): > > --8<----------- > diff --git a/tools/perf/config/utilities.mak > b/tools/perf/config/utilities.mak > index 0ebef09..78135dc 100644 > --- a/tools/perf/config/utilities.mak > +++ b/tools/perf/config/utilities.mak > @@ -173,7 +173,7 @@ _ge-abspath = $(if $(is-executable),$(1)) > # Usage: absolute-executable-path-or-empty = $(call > get-executable-or-default,variable,default) > # > define get-executable-or-default > -$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2))) > +$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(2)) > endef > _ge_attempt = $(if $(get-executable),$(get-executable),$(call _gea_err, > $(2))) > _gea_err = $(if $(1),$(error Please set '$(1)' appropriately)) hum right.. looks like pythom is the only caller, nice jirka -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/