build: clang support
This works with at least one version of clang
that existed at one moment in time.
No guarantees about clangs past or future.
To try:
CC=clang all.bash
It does not work with the Xcode clang,
because that clang fails at printing a useful answer
to:
clang -print-libgcc-file-name
The clang that works prints a full path name for
that command, not just "libgcc.a".
Fixes #4713.
R=iant, minux.ma
CC=golang-dev
https://golang.org/cl/7323068
diff --git a/src/run.bash b/src/run.bash
index 8385978..f8716a6 100755
--- a/src/run.bash
+++ b/src/run.bash
@@ -46,8 +46,12 @@
echo '# sync -cpu=10'
go test sync -short -timeout=120s -cpu=10
-case "$GOHOSTOS-$GOOS-$GOARCH-$CGO_ENABLED" in
-linux-linux-amd64-1 | darwin-darwin-amd64-1)
+# Race detector only supported on Linux and OS X,
+# and only on amd64, and only when cgo is enabled.
+# Also, clang can't seem to link the .syso files, so only
+# run if we're using gcc.
+case "$GOHOSTOS-$GOOS-$GOARCH-$CGO_ENABLED-${CC:-gcc}" in
+linux-linux-amd64-1-*gcc* | darwin-darwin-amd64-1-*gcc*)
echo
echo '# Testing race detector.'
go test -race -i flag