summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShenghou Ma <minux.ma@gmail.com>2014-04-29 14:43:10 -0400
committerShenghou Ma <minux.ma@gmail.com>2014-04-29 14:43:10 -0400
commitae9fba6a702795c7324e0a2d493493960647ac1f (patch)
tree75838ae93870df2148ac2c531c3076f6f856af4f
parentf63c6b8de183b51cb4bfd0f7481e60360df62f2e (diff)
downloadgo-ae9fba6a702795c7324e0a2d493493960647ac1f.tar.gz
run.bash: skip -static cgo test if -static linking isn't possible.
Some system doesn't have libc.a available. While we're at here, also export GOROOT in run.bash, so that one doesn't need to set GOROOT to run run.bash. LGTM=iant R=iant CC=golang-codereviews https://codereview.appspot.com/99870043
-rwxr-xr-xsrc/run.bash7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/run.bash b/src/run.bash
index 0f3e4e0f3..876b5d757 100755
--- a/src/run.bash
+++ b/src/run.bash
@@ -6,6 +6,7 @@
set -e
eval $(go env)
+export GOROOT # the api test requires GOROOT to be set.
unset CDPATH # in case user has it set
unset GOPATH # we disallow local import for non-local packages, if $GOROOT happens
@@ -140,7 +141,11 @@ dragonfly-386 | dragonfly-amd64 | freebsd-386 | freebsd-amd64 | freebsd-arm | li
# static linking on FreeBSD/ARM with clang. (cgo depends on
# -fPIC fundamentally.)
*)
- go test -ldflags '-linkmode=external -extldflags "-static -pthread"' ../testtls || exit 1
+ if ! $CC -xc -o /dev/null -static - 2>/dev/null <<<'int main() {}' ; then
+ echo "No support for static linking found (lacks libc.a?), skip cgo static linking test."
+ else
+ go test -ldflags '-linkmode=external -extldflags "-static -pthread"' ../testtls || exit 1
+ fi
;;
esac
;;