lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 19 Jun 2014 12:41:41 +0200
From:	Michal Marek <mmarek@...e.cz>
To:	Boaz Harrosh <openosd@...il.com>
CC:	linux-kernel <linux-kernel@...r.kernel.org>,
	Alexei Starovoitov <alexei.starovoitov@...il.com>,
	Sam Ravnborg <sam@...nborg.org>
Subject: Re: kbuild: support of new KBUILD_FULL_PATH

On 2014-06-19 12:12, Boaz Harrosh wrote:
> 
> The commit:
> 
> 	commit 9da0763bdd82572be243fcf5161734f11568960f
> 	Author: Michal Marek <mmarek@...e.cz>
> 	Date:   Fri Apr 25 23:25:18 2014 +0200
> 
> 	kbuild: Use relative path when building in a subdir of the source tree
> 
> 	When doing make O=<subdir>, 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 <sam@...nborg.org>
> 	Signed-off-by: Michal Marek <mmarek@...e.cz>
> 
> 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

Parsing make output is a use case I did not think of, so the knob seems
inevitable :-/.


> Is there a document I need to edit for this new parameter?

That would be Documentation/kbuild/kbuild.txt


> Signed-off-by: Boaz Harrosh <boaz@...xistor.com>
> ---
>  Makefile | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 97b2861..778732a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -149,11 +149,17 @@ else
>  _all: modules
>  endif
>  
> +# put KBUILD_FULL_PATH=1 if relative path to sources breaks your system
> +ifneq ($(KBUILD_FULL_PATH), 1)
> +	KBUILD_FULL_PATH=""
> +endif
> +
>  ifeq ($(KBUILD_SRC),)
>          # building in the source tree
>          srctree := .
>  else
> -        ifeq ($(KBUILD_SRC)/,$(dir $(CURDIR)))
> +        # if KBUILD_FULL_PATH is not empty then condition will fail
> +        ifeq ($(KBUILD_FULL_PATH)$(KBUILD_SRC)/,$(dir $(CURDIR)))

This is an ugly way to express the logic.


>                  # building in a subdirectory of the source tree
>                  srctree := ..
>          else

How about generated sources like asm-offsets.s or the lexer and parser
in scripts/kconfig, does kdevelop figure out where the files live? If
not, you might need to add

-objtree                := .
+ifeq ($(KBUILD_FULL_PATH),1)
+       objtree := $(CURDIR)
+else
+        objtree        := .
+endif

to use the full path also for the O= directory.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists