]> Cypherpunks.ru repositories - gostls13.git/commitdiff
run.bash: skip -static cgo test if -static linking isn't possible.
authorShenghou Ma <minux.ma@gmail.com>
Tue, 29 Apr 2014 18:43:10 +0000 (14:43 -0400)
committerShenghou Ma <minux.ma@gmail.com>
Tue, 29 Apr 2014 18:43:10 +0000 (14:43 -0400)
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://golang.org/cl/99870043

src/run.bash

index 0f3e4e0f36c97dcaaa9b33ed04a675b917005f14..876b5d757d4a92240a45da8598217550e6787945 100755 (executable)
@@ -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
        ;;