aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2011-06-16 00:04:24 -0400
committerRuss Cox <rsc@golang.org>2011-06-16 00:04:24 -0400
commitf011bd378f9ee595ffe177017077124519b2b926 (patch)
treedfeaba063fd226945e3783db4c39659493b45fc8
parent832e87500ebb2d20da00d2930283521f366e3b0e (diff)
downloadgo-f011bd378f9ee595ffe177017077124519b2b926.tar.gz
go-f011bd378f9ee595ffe177017077124519b2b926.zip
build: use awk instead of giant egrep regexp
Avoids buggy version of egrep on some Macs. R=r, dsymonds CC=golang-dev https://golang.org/cl/4603056
-rwxr-xr-xsrc/pkg/deps.bash10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/pkg/deps.bash b/src/pkg/deps.bash
index a8e3dfc3a1..2095ec1d88 100755
--- a/src/pkg/deps.bash
+++ b/src/pkg/deps.bash
@@ -15,7 +15,13 @@ fi
# Get list of directories from Makefile
dirs=$(gomake --no-print-directory echo-dirs)
-dirpat=$(echo $dirs C | sed 's/ /|/g; s/.*/^(&)$/')
+dirpat=$(echo $dirs C | awk '{
+ for(i=1;i<=NF;i++){
+ x=$i
+ gsub("/", "\\/", x)
+ printf("/^(%s)$/\n", x)
+ }
+}')
for dir in $dirs; do (
cd $dir || exit 1
@@ -30,7 +36,7 @@ for dir in $dirs; do (
deps=$(
sed -n '/^import.*"/p; /^import[ \t]*(/,/^)/p' $sources /dev/null |
cut -d '"' -f2 |
- egrep "$dirpat" |
+ awk "$dirpat" |
grep -v "^$dir\$" |
sed 's/$/.install/' |
sed 's;^C\.install;runtime/cgo.install;' |