From ff65571474ea6bbff8791b873df2321d60e73412 Mon Sep 17 00:00:00 2001
From: "Meredith L. Patterson" <mlp@thesmartpolitenerd.com>
Date: Sun, 4 Oct 2015 01:43:44 +0200
Subject: [PATCH] this is a dirty hack, but it solves the Program builder not
 honoring LDFLAGS

---
 .travis.yml | 26 +++++++++++++-------------
 SConstruct  |  3 +--
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index eb7a752c..fe473d6b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,7 +13,7 @@ matrix:
     - compiler: clang
       language: ruby
       rvm: ruby-1.9.3-p484
-      env: BINDINGS=ruby CC=clang
+      env: BINDINGS=ruby CC="clang --coverage"
     - compiler: gcc
       language: ruby
       rvm: ruby-2.0.0-p353
@@ -21,7 +21,7 @@ matrix:
     - compiler: clang
       language: ruby
       rvm: ruby-2.0.0-p353
-      env: BINDINGS=ruby CC=clang
+      env: BINDINGS=ruby CC="clang --coverage"
     - compiler: gcc
       language: ruby
       rvm: ruby-2.1.0
@@ -29,7 +29,7 @@ matrix:
     - compiler: clang
       language: ruby
       rvm: ruby-2.1.0
-      env: BINDINGS=ruby CC=clang
+      env: BINDINGS=ruby CC="clang --coverage"
     - compiler: gcc
       language: python
       python: "2.7"
@@ -37,7 +37,7 @@ matrix:
     - compiler: clang
       language: python
       python: "2.7"
-      env: BINDINGS=python CC=clang
+      env: BINDINGS=python CC="clang --coverage"
     - compiler: gcc
       language: perl
       perl: "5.18"
@@ -45,7 +45,7 @@ matrix:
     - compiler: clang
       language: perl
       perl: "5.18"
-      env: BINDINGS=perl CC=clang
+      env: BINDINGS=perl CC="clang --coverage"
     - compiler: gcc
       language: perl
       perl: "5.14"
@@ -53,7 +53,7 @@ matrix:
     - compiler: clang
       language: perl
       perl: "5.14"
-      env: BINDINGS=perl CC=clang
+      env: BINDINGS=perl CC="clang --coverage"
     - compiler: gcc
       language: perl
       perl: "5.10"
@@ -61,7 +61,7 @@ matrix:
     - compiler: clang
       language: perl
       perl: "5.10"
-      env: BINDINGS=perl CC=clang
+      env: BINDINGS=perl CC="clang --coverage"
     - compiler: gcc
       language: php
       php: "5.5"
@@ -69,7 +69,7 @@ matrix:
     - compiler: clang
       language: php
       php: "5.5"
-      env: BINDINGS=php CC=clang
+      env: BINDINGS=php CC="clang --coverage"
     - compiler: gcc
       language: php
       php: "5.4"
@@ -77,19 +77,19 @@ matrix:
     - compiler: clang
       language: php
       php: "5.4"
-      env: BINDINGS=php CC=clang
+      env: BINDINGS=php CC="clang --coverage"
     - compiler: gcc
       language: dotnet
       env: BINDINGS=dotnet
     - compiler: clang
       language: dotnet
-      env: BINDINGS=dotnet CC=clang
+      env: BINDINGS=dotnet CC="clang --coverage"
     - compiler: gcc
       language: cpp
       env: BINDINGS=cpp
     - compiler: gcc
       language: cpp
-      env: BINDINGS=cpp CC=clang
+      env: BINDINGS=cpp CC="clang --coverage"
 before_install:
   - sudo apt-get update -qq
   - sudo apt-get install lcov
@@ -102,9 +102,9 @@ install: true
 before_script:
   - if [ "$BINDINGS" == "php" ]; then phpenv config-add src/bindings/php/hammer.ini; fi
 script: 
-  - scons bindings=$BINDINGS test --coverage
+  - scons bindings=$BINDINGS test --variant=debug --coverage
 after_success:
-  - lcov --capture --directory build/opt/src --output-file coverage.info
+  - if [ "$CC" == "clang --coverage" ]; then llvm-cov gcov -o coverage.info build/debug/src/test_suite.gcda; else lcov --capture --directory build/debug/src --output-file coverage.info; fi
   - coveralls-lcov coverage.info
 notifications:
   irc: 
diff --git a/SConstruct b/SConstruct
index b7549cd8..05596f32 100644
--- a/SConstruct
+++ b/SConstruct
@@ -93,8 +93,7 @@ else:
 if GetOption("coverage"):
     env.Append(CFLAGS=["--coverage"],
                CXXFLAGS=["--coverage"],
-               LDFLAGS=["--coverage"],
-               LIBS=['gcov'])
+               LDFLAGS=["--coverage"])
 
 env["CC"] = os.getenv("CC") or env["CC"]
 env["CXX"] = os.getenv("CXX") or env["CXX"]
-- 
GitLab