summaryrefslogtreecommitdiff
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
commitda7ebc69dacd56962d29a195d3311e4038fd926a (patch)
tree738db685be2189b5ef2e2f811dbafb94a3fe2ed2
parent2aa98147a465c9542f28005fa2bd30c160fe0b9b (diff)
downloadgo-da7ebc69dacd56962d29a195d3311e4038fd926a.tar.gz
[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 http://codereview.appspot.com/4603056 ??? R=adg CC=golang-dev http://codereview.appspot.com/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 a8e3dfc3a..2095ec1d8 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;' |