travis-ci: update build matrix

Add clang-3.6/x86_64, clang-3.6/x86, and musl-gcc/x86_64 to the matrix.

* .travis.yml (compiler): Add gcc, clang-3.6, and musl-gcc.
(env): Add matrix, remove global ENABLE_GCC_WERROR.
(matrix): Add exclude, remove include.
* travis-ci.sh: Add support for clang and musl-gcc.
Use --enable-gcc-Werror for gcc build unconditionally.
diff --git a/.travis.yml b/.travis.yml
index b1aba3b..73fe57a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,11 @@
 
 sudo: required
 
+compiler:
+  - gcc
+  - clang-3.6
+  - musl-gcc
+
 addons:
   apt:
     packages:
@@ -13,12 +18,18 @@
 
 env:
   global:
-    - ENABLE_GCC_WERROR="--enable-gcc-Werror"
     - SLEEP_A_BIT="sleep 0.1"
     - VERBOSE="1"
+  matrix:
+    - TARGET=x86_64
+    - TARGET=x32
+    - TARGET=x86
 
 matrix:
-  include:
-    - env: TARGET=x86_64
-    - env: TARGET=x32
-    - env: TARGET=x86
+  exclude:
+    - compiler: clang-3.6
+      env: TARGET=x32
+    - compiler: musl-gcc
+      env: TARGET=x32
+    - compiler: musl-gcc
+      env: TARGET=x86
diff --git a/travis-ci.sh b/travis-ci.sh
index 652a5d5..2af1649 100755
--- a/travis-ci.sh
+++ b/travis-ci.sh
@@ -1,9 +1,25 @@
-#!/bin/sh -e
+#!/bin/sh -ex
 
-j=-j`getconf _NPROCESSORS_ONLN 2> /dev/null` || j=
-set -x
-git fetch --unshallow
-./git-set-file-times
+case "$CC" in
+  gcc)
+    ENABLE_GCC_WERROR=--enable-gcc-Werror
+    ;;
+  clang-*)
+    sudo apt-get -qq update
+    sudo apt-get -qq --no-install-suggests --no-install-recommends install -y \
+      "$CC"
+    # clang -mx32 fails with the following error:
+    # clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
+    export st_cv_mx32_runtime=no
+    ;;
+  musl-gcc)
+    sudo add-apt-repository ppa:bortis/musl -y
+    sudo apt-get -qq update
+    sudo apt-get -qq --no-install-suggests --no-install-recommends install -y \
+      musl-tools linux-musl-dev
+    ;;
+esac
+
 case "${TARGET-}" in
   x32)
     CC="$CC -mx32"
@@ -14,6 +30,12 @@
     ;;
 esac
 export CC_FOR_BUILD="$CC"
+
+$CC --version
+
+git fetch --unshallow
+./git-set-file-times
 ./bootstrap
 ./configure --enable-maintainer-mode ${ENABLE_GCC_WERROR-} ${DISTCHECK_CONFIGURE_FLAGS-}
+j=-j`getconf _NPROCESSORS_ONLN 2> /dev/null` || j=
 make -k $j distcheck VERBOSE=${VERBOSE-}