From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 16 Jul 2007 07:19:45 +0000 (+0000)
Subject: detect whether the find command supports -L or -follow
X-Git-Tag: reboot~28651
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=3e87d642f7592ae71078c4c3d725a4a0104901c7;p=openwrt%2Fstaging%2Fpepe2k.git

detect whether the find command supports -L or -follow

SVN-Revision: 8002
---

diff --git a/include/host.mk b/include/host.mk
index 833aa83a66..cc0436e7b0 100644
--- a/include/host.mk
+++ b/include/host.mk
@@ -5,7 +5,7 @@
 # See /LICENSE for more information.
 #
 
-include $(TMP_DIR)/.host.mk
+-include $(TMP_DIR)/.host.mk
 
 export TAR
 
@@ -29,6 +29,11 @@ $(TMP_DIR)/.host.mk: $(TOPDIR)/include/host.mk
 		[ -n "$$TAR" -a -x "$$TAR" ] || TAR=`which tar 2>/dev/null`; \
 		echo "TAR:=$$TAR" >> $@; \
 		echo "BASH:=$(shell which bash)" >> $@; \
+		if find -L /tmp -maxdepth 0 >/dev/null 2>/dev/null; then \
+			echo 'FIND_L=find -L $$(1)' >>$@; \
+		else \
+			echo 'FIND_L=find $$(1) -follow' >> $@; \
+		fi; \
 	)
 
 endif
diff --git a/include/scan.mk b/include/scan.mk
index 04add4016c..552f14637a 100644
--- a/include/scan.mk
+++ b/include/scan.mk
@@ -1,7 +1,10 @@
 include $(TOPDIR)/include/verbose.mk
+TMP_DIR:=$(TOPDIR)/tmp
 
 all: tmp/.$(SCAN_TARGET)
 
+include $(TOPDIR)/include/host.mk
+
 SCAN_TARGET ?= packageinfo
 SCAN_NAME ?= package
 SCAN_DIR ?= package
@@ -31,7 +34,7 @@ endef
 
 $(FILELIST):
 	rm -f tmp/info/.files-$(SCAN_TARGET)-*
-	find -follow $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
+	$(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
 
 tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST)
 	( \