From c81cf6b7efde8953f704e3a936786492db7a6fcc Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 01:49:11 +0100
Subject: [PATCH 1/8] Update .travis.yml

---
 .travis.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 90002648..e7f3e2dc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,6 +35,9 @@ compiler:
   - clang
 script: ./travis.sh
 env:
+  global:
+#    - LIBSTDC_VERSION=5
+    - CLANG_VERSION=3.6
   matrix:
     - GTEST_TARGET=googletest SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
     - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE

From 58b543535a57c5c2eb4602ea60966f6f5ad0a790 Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 01:51:49 +0100
Subject: [PATCH 2/8] Update .travis.yml

---
 .travis.yml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index e7f3e2dc..e0c3b941 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,12 @@
 # http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448
 # to allow C++11, though we are not yet building with -std=c++11
 
+before-install:
+  # Debug information
+  - if [[ "$TRAVIS_OS_NAME" = "linux" ]]; then lsb_release -a; fi
+  - uname -a
+  - $CC --version
+  - $CXX --version
 install:
 # /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
 - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi

From 231af5ddc81a246959915036cfc8530d0c3af25f Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 02:01:42 +0100
Subject: [PATCH 3/8] Try to use clang-3.6 in travis

---
 .travis.yml | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index e0c3b941..c48849f2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,9 +18,6 @@ install:
 # /usr/bin/clang is our version already, and clang-X.Y does not exist.
 #- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
 - echo ${PATH}
-- ls /usr/local
-- ls /usr/local/bin
-- export PATH=/usr/local/bin:/usr/bin:${PATH}
 - echo ${CXX}
 - ${CXX} --version
 addons:
@@ -30,7 +27,7 @@ addons:
     packages:
     - gcc-4.9
     - g++-4.9
-    - clang
+    - clang-3.6
     - valgrind
 os:
   - linux

From c76f9e0cdd49cdca144bd0838a76951a3f16817f Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 02:13:24 +0100
Subject: [PATCH 4/8] Update .travis.yml

---
 .travis.yml | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index c48849f2..baaadbe2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,6 +12,8 @@ before-install:
   - uname -a
   - $CC --version
   - $CXX --version
+  - $CXX -v
+
 install:
 # /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
 - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
@@ -20,6 +22,8 @@ install:
 - echo ${PATH}
 - echo ${CXX}
 - ${CXX} --version
+- $CXX -v
+- apt-cache search clang
 addons:
   apt:
     sources:
@@ -27,11 +31,11 @@ addons:
     packages:
     - gcc-4.9
     - g++-4.9
-    - clang-3.6
+    - clang
     - valgrind
 os:
   - linux
-  - osx
+#  - osx
 language: cpp
 compiler:
   - gcc
@@ -42,8 +46,8 @@ env:
 #    - LIBSTDC_VERSION=5
     - CLANG_VERSION=3.6
   matrix:
-    - GTEST_TARGET=googletest SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
-    - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
+#    - GTEST_TARGET=googletest SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
+#    - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
     - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug CXX_FLAGS=-std=c++11  VERBOSE_MAKE=true VERBOSE
 #    - GTEST_TARGET=googletest SHARED_LIB=ON  STATIC_LIB=ON CMAKE_PKG=ON  BUILD_TYPE=release VERBOSE_MAKE=false
 #    - GTEST_TARGET=googlemock SHARED_LIB=ON  STATIC_LIB=ON CMAKE_PKG=ON  BUILD_TYPE=release VERBOSE_MAKE=false

From e8193fe6e0646e38c02784741783528091b6f655 Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 02:25:24 +0100
Subject: [PATCH 5/8] Adding llvm toolchain repo

---
 .travis.yml | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index baaadbe2..3aa59cd9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,14 +6,6 @@
 # http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448
 # to allow C++11, though we are not yet building with -std=c++11
 
-before-install:
-  # Debug information
-  - if [[ "$TRAVIS_OS_NAME" = "linux" ]]; then lsb_release -a; fi
-  - uname -a
-  - $CC --version
-  - $CXX --version
-  - $CXX -v
-
 install:
 # /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
 - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
@@ -22,32 +14,29 @@ install:
 - echo ${PATH}
 - echo ${CXX}
 - ${CXX} --version
-- $CXX -v
-- apt-cache search clang
+- ${CXX} -v
 addons:
   apt:
     sources:
     - ubuntu-toolchain-r-test
+    - llvm-toolchain-precise-3.6
     packages:
     - gcc-4.9
     - g++-4.9
-    - clang
+    - clang-3.6
     - valgrind
 os:
   - linux
-#  - osx
+  - osx
 language: cpp
 compiler:
   - gcc
   - clang
 script: ./travis.sh
 env:
-  global:
-#    - LIBSTDC_VERSION=5
-    - CLANG_VERSION=3.6
   matrix:
-#    - GTEST_TARGET=googletest SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
-#    - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
+    - GTEST_TARGET=googletest SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
+    - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
     - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug CXX_FLAGS=-std=c++11  VERBOSE_MAKE=true VERBOSE
 #    - GTEST_TARGET=googletest SHARED_LIB=ON  STATIC_LIB=ON CMAKE_PKG=ON  BUILD_TYPE=release VERBOSE_MAKE=false
 #    - GTEST_TARGET=googlemock SHARED_LIB=ON  STATIC_LIB=ON CMAKE_PKG=ON  BUILD_TYPE=release VERBOSE_MAKE=false

From b8f9b2b540d9e4572eb1839df470d96f3e91986b Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 02:28:57 +0100
Subject: [PATCH 6/8] Update clang version

---
 .travis.yml | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3aa59cd9..effd4b5b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,15 +2,12 @@
 # http://about.travis-ci.org/docs/user/build-configuration/
 # This file can be validated on:
 # http://lint.travis-ci.org/
-# See also
-# http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448
-# to allow C++11, though we are not yet building with -std=c++11
 
 install:
 # /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
 - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
-# /usr/bin/clang is our version already, and clang-X.Y does not exist.
-#- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
+# /usr/bin/clang is 3.4, lets override with modern one.
+- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
 - echo ${PATH}
 - echo ${CXX}
 - ${CXX} --version
@@ -19,11 +16,11 @@ addons:
   apt:
     sources:
     - ubuntu-toolchain-r-test
-    - llvm-toolchain-precise-3.6
+    - llvm-toolchain-precise-3.7
     packages:
     - gcc-4.9
     - g++-4.9
-    - clang-3.6
+    - clang-3.7
     - valgrind
 os:
   - linux

From bbbc025d2e845c2a71961746c2c6167eeb42ec60 Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 02:34:12 +0100
Subject: [PATCH 7/8] More docs in travis config

---
 .travis.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index effd4b5b..d7d1ab39 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,6 +14,10 @@ install:
 - ${CXX} -v
 addons:
   apt:
+    # List of whitelisted in travis packages for ubuntu-precise can be found here:
+    #   https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
+    # List of whitelisted in travis apt-sources:
+    #   https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
     sources:
     - ubuntu-toolchain-r-test
     - llvm-toolchain-precise-3.7

From 6705b9adeabcac43304e450179fc3ac636074259 Mon Sep 17 00:00:00 2001
From: Anton Klautsan <DukeXar@gmail.com>
Date: Sun, 18 Oct 2015 13:02:49 +0100
Subject: [PATCH 8/8] Override clang++ name on Linux only

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index d7d1ab39..3204dfac 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,7 +7,7 @@ install:
 # /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
 - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
 # /usr/bin/clang is 3.4, lets override with modern one.
-- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
+- if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
 - echo ${PATH}
 - echo ${CXX}
 - ${CXX} --version