aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2011-07-11 23:38:12 -0400
committerRuss Cox <rsc@golang.org>2011-07-11 23:38:12 -0400
commitbeca117ea3231c661d05f0570d88262f07ce9a00 (patch)
tree989bf6a398676457b7da55de8e715199257ebeb2
parentecfec2c61a1d3945ee382b95f1ce2dca97223234 (diff)
downloadgo-beca117ea3231c661d05f0570d88262f07ce9a00.tar.gz
go-beca117ea3231c661d05f0570d88262f07ce9a00.zip
[release-branch.r58] build: use awk instead of giant egrep regexp
««« CL 4603056 / 655a4be3968f 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 »»» R=adg CC=golang-dev https://golang.org/cl/4695042
-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;' |