From 212507d976030c19f6641350b64c9e014a1f9367 Mon Sep 17 00:00:00 2001
From: Denis Demidov <dennis.demidov@gmail.com>
Date: Sat, 3 Dec 2016 16:03:53 +0300
Subject: [PATCH] ci(Travis): Added travis build that installs OpenCL first.

---
 .travis.yml                | 30 +++++++++++++++++++++
 .travis/install_amd_sdk.sh | 53 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+)
 create mode 100644 .travis.yml
 create mode 100644 .travis/install_amd_sdk.sh

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..3878dab6
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,30 @@
+sudo: required
+dist: trusty
+language: cpp
+compiler:
+    - gcc
+    - clang
+
+env:
+  global:
+      - BOOST_BASENAME=boost_1_62_0
+      - AMDAPPSDKROOT=${HOME}/AMDAPPSDK
+      - secure: "A5GuWMfy2tamED4Xq/h1hXSAX18qemLuhaX3mLD77VMv6Hx2ZPAPXXDuRwg+Htoqccz3DQ3ezA5tf/D2PXffbOvkQeXMKkOBqHLy4aReZm9L+UajPETrQVW2bWBAuVJXMJbJEqdOv+QAEXf82Eml25zGp2r7L0J+FO5nrPtSeqE="
+  matrix:
+      - VEXCL_BACKEND=OpenCL
+      - VEXCL_BACKEND=JIT
+
+addons:
+  apt:
+    sources:
+      - ubuntu-toolchain-r-test
+    packages:
+      - opencl-headers
+      - lcov
+
+cache:
+    directories:
+        - ${AMDAPPSDKROOT}
+
+before_install:
+    - . .travis/install_amd_sdk.sh;
diff --git a/.travis/install_amd_sdk.sh b/.travis/install_amd_sdk.sh
new file mode 100644
index 00000000..99a1cd03
--- /dev/null
+++ b/.travis/install_amd_sdk.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+# Original script from https://github.com/gregvw/amd_sdk/
+
+export OPENCL_VENDOR_PATH=${AMDAPPSDKROOT}/etc/OpenCL/vendors
+export LD_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64:${LD_LIBRARY_PATH}
+export CMAKE_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64
+
+if [ ! -e ${AMDAPPSDKROOT}/bin/x86_64/clinfo ]; then
+    # Location from which get nonce and file name from
+    URL="http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-tools-sdks/amd-accelerated-parallel-processing-app-sdk/"
+    URLDOWN="http://developer.amd.com/amd-license-agreement-appsdk/"
+
+    NONCE1_STRING='name="amd_developer_central_downloads_page_nonce"'
+    FILE_STRING='name="f"'
+    POSTID_STRING='name="post_id"'
+    NONCE2_STRING='name="amd_developer_central_nonce"'
+
+    #For newest FORM=`wget -qO - $URL | sed -n '/download-2/,/64-bit/p'`
+    FORM=`wget -qO - $URL | sed -n '/download-5/,/64-bit/p'`
+
+    # Get nonce from form
+    NONCE1=`echo $FORM | awk -F ${NONCE1_STRING} '{print $2}'`
+    NONCE1=`echo $NONCE1 | awk -F'"' '{print $2}'`
+    echo $NONCE1
+
+    # get the postid
+    POSTID=`echo $FORM | awk -F ${POSTID_STRING} '{print $2}'`
+    POSTID=`echo $POSTID | awk -F'"' '{print $2}'`
+    echo $POSTID
+
+    # get file name
+    FILE=`echo $FORM | awk -F ${FILE_STRING} '{print $2}'`
+    FILE=`echo $FILE | awk -F'"' '{print $2}'`
+    echo $FILE
+
+    FORM=`wget -qO - $URLDOWN --post-data "amd_developer_central_downloads_page_nonce=${NONCE1}&f=${FILE}&post_id=${POSTID}"`
+
+    NONCE2=`echo $FORM | awk -F ${NONCE2_STRING} '{print $2}'`
+    NONCE2=`echo $NONCE2 | awk -F'"' '{print $2}'`
+    echo $NONCE2
+
+    wget --content-disposition --trust-server-names $URLDOWN --post-data "amd_developer_central_nonce=${NONCE2}&f=${FILE}" -O AMD-SDK.tar.bz2;
+
+    # Unpack and install
+    tar -xjf AMD-SDK.tar.bz2;
+    mkdir -p ${OPENCL_VENDOR_PATH};
+    sh AMD-APP-SDK*.sh --tar -xf -C ${AMDAPPSDKROOT};
+    echo libamdocl64.so > ${OPENCL_VENDOR_PATH}/amdocl64.icd;
+    chmod +x ${AMDAPPSDKROOT}/bin/x86_64/clinfo;
+fi
+
+${AMDAPPSDKROOT}/bin/x86_64/clinfo
-- 
GitLab