diff mbox series

[U-Boot,v1] Makefile: Skip symbolic links to files for cscope

Message ID 20191008181245.1093-1-andriy.shevchenko@linux.intel.com
State Accepted
Commit e15a951da4db145bbcf659931f4bd4c5344ddb97
Delegated to: Tom Rini
Headers show
Series [U-Boot,v1] Makefile: Skip symbolic links to files for cscope | expand

Commit Message

Andy Shevchenko Oct. 8, 2019, 6:12 p.m. UTC
cscope complains that it can't find files that appears to be symbolic links

cscope: cannot find file tools/binman/test/u_boot_binman_syms_bad.c
cscope: cannot find file tools/version.h

`find -L` tests properties, but name, and cscope can't cope with symbolic
links (a lot of bugs in upstream were simple closed as kinda invalid).

To work around the problem, exclude symbolic links from the cscope.files.
Note, it's done in two pass to speed up the process (`-exec realpath ...`
approach is not portable and introduces a 3x delay).

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)

Comments

Tom Rini Oct. 17, 2019, 11:25 a.m. UTC | #1
On Tue, Oct 08, 2019 at 09:12:45PM +0300, Andy Shevchenko wrote:

> cscope complains that it can't find files that appears to be symbolic links
> 
> cscope: cannot find file tools/binman/test/u_boot_binman_syms_bad.c
> cscope: cannot find file tools/version.h
> 
> `find -L` tests properties, but name, and cscope can't cope with symbolic
> links (a lot of bugs in upstream were simple closed as kinda invalid).
> 
> To work around the problem, exclude symbolic links from the cscope.files.
> Note, it's done in two pass to speed up the process (`-exec realpath ...`
> approach is not portable and introduces a 3x delay).
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 54da5cd51c..968a70885b 100644
--- a/Makefile
+++ b/Makefile
@@ -1793,6 +1793,9 @@  etags:
 cscope:
 		$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) -name '*.[chS]' -print > \
 						cscope.files
+		@find $(TAG_SUBDIRS) -name '*.[chS]' -type l -print | \
+			grep -xvf - cscope.files > cscope.files.no-symlinks; \
+		mv cscope.files.no-symlinks cscope.files
 		cscope -b -q -k
 
 SYSTEM_MAP = \