]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.r58] build: use awk instead of giant egrep regexp
authorRuss Cox <rsc@golang.org>
Tue, 12 Jul 2011 03:38:12 +0000 (23:38 -0400)
committerRuss Cox <rsc@golang.org>
Tue, 12 Jul 2011 03:38:12 +0000 (23:38 -0400)
««« 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

src/pkg/deps.bash

index a8e3dfc3a152e8c3ca586e71ad501332289f6c2d..2095ec1d887a79f7ef5840fa116da06aecd77a6f 100755 (executable)
@@ -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;' |