Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755350AbbG1MtQ (ORCPT ); Tue, 28 Jul 2015 08:49:16 -0400 Received: from foss.arm.com ([217.140.101.70]:58612 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752444AbbG1MtP (ORCPT ); Tue, 28 Jul 2015 08:49:15 -0400 Message-ID: <1438087752.2114.22.camel@arm.com> Subject: Re: [PATCH] tools: perf: Avoid error message when building with no python installed From: Pawel Moll To: Jiri Olsa Cc: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Namhyung Kim , Adrian Hunter , "linux-kernel@vger.kernel.org" Date: Tue, 28 Jul 2015 13:49:12 +0100 In-Reply-To: <20150727183601.GE20509@krava.brq.redhat.com> References: <1438012255-26462-1-git-send-email-pawel.moll@arm.com> <20150727183601.GE20509@krava.brq.redhat.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2839 Lines: 67 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)) --8<----------- Pawel -- 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/