Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932679AbaFSOxF (ORCPT ); Thu, 19 Jun 2014 10:53:05 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:40041 "EHLO mail-wi0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932295AbaFSOxA (ORCPT ); Thu, 19 Jun 2014 10:53:00 -0400 Message-ID: <53A2F949.9090100@plexistor.com> Date: Thu, 19 Jun 2014 17:52:57 +0300 From: Boaz Harrosh User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Michal Marek CC: linux-kernel , Alexei Starovoitov , Sam Ravnborg Subject: [PATCH] kbuild: support of new KBUILD_FULL_PATH References: <53A1D3A1.70202@gmail.com> <53A2B7A9.7080605@gmail.com> <53A2BE65.2070501@suse.cz> <53A2D0FC.7040309@plexistor.com> <53A2E22F.6060100@suse.cz> In-Reply-To: <53A2E22F.6060100@suse.cz> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The commit 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when building in a subdir of the source tree When doing make O=, use '..' to refer to the source tree. This allows for more readable compiler messages, and, more importantly, it sets the VPATH to '..', so filenames in WARN_ON() etc. will be shorter. Acked-by: Sam Ravnborg Signed-off-by: Michal Marek Broke IDEs and other tools which analyze the make output. Introduce a new KBUILD_FULL_PATH switch to Makefile that will revert to the old output if KBUILD_FULL_PATH=1 is specified. The default is KBUILD_FULL_PATH=0 Signed-off-by: Boaz Harrosh --- Documentation/kbuild/kbuild.txt | 9 +++++++++ Makefile | 13 ++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt index 6466704..9133b47 100644 --- a/Documentation/kbuild/kbuild.txt +++ b/Documentation/kbuild/kbuild.txt @@ -77,6 +77,15 @@ Specify the output directory when building the kernel. The output directory can also be specified using "O=...". Setting "O=..." takes precedence over KBUILD_OUTPUT. +KBUILD_FULL_PATH +-------------------------------------------------- +Since Linux v3.16-rc1 the Kernel build system prefers to use +relative paths when supplying file-paths to gcc and other +tools. This will break IDEs and other environments that would +parse the gcc output to find files and lines. +Use KBUILD_FULL_PATH=1 on make command line to revert to old +way of feeding tools with full-paths. + KBUILD_DEBARCH -------------------------------------------------- For the deb-pkg target, allows overriding the normal heuristics deployed by diff --git a/Makefile b/Makefile index 97b2861..51fcebd 100644 --- a/Makefile +++ b/Makefile @@ -153,11 +153,14 @@ ifeq ($(KBUILD_SRC),) # building in the source tree srctree := . else - ifeq ($(KBUILD_SRC)/,$(dir $(CURDIR))) - # building in a subdirectory of the source tree - srctree := .. - else - srctree := $(KBUILD_SRC) + srctree := $(KBUILD_SRC) + + # if KBUILD_FULL_PATH=1 then do not use relative path + ifneq ($(KBUILD_FULL_PATH), 1) + ifeq ($(KBUILD_SRC)/,$(dir $(CURDIR))) + # building in a subdirectory of the source tree + srctree := .. + endif endif endif objtree := . -- 1.9.3 -- 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/