From patchwork Thu Sep 14 20:59:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 112650 Delivered-To: patch@linaro.org Received: by 10.80.163.150 with SMTP id s22csp1041258edb; Thu, 14 Sep 2017 14:06:10 -0700 (PDT) X-Google-Smtp-Source: AOwi7QAaenleEJy1SmjeAtopxs9BqOSsirZNmY7FhPcBustAoLY6NW2umAcxzRCjm2Wfs+rVkkvP X-Received: by 10.55.42.216 with SMTP id q85mr4541226qkq.337.1505423170493; Thu, 14 Sep 2017 14:06:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1505423170; cv=none; d=google.com; s=arc-20160816; b=KVW7Qga+zyE2h22bJrBM8E5XVtZdz1C4lSCTBjLZo6YR+HKt0L6UCfxOgBtdNOZhJh UyFpmWkNUOZQr8dkh0sPl2ocuT6WKVY8Ohk5wtzTp+az5qOSOvMMob8swT1Py4dD3XNc Ss2EmNM1lf98kqokCbYMIX164MOq/IoZYSCqK2A7fYulivIffxQAWabBi3verp39I6tN dKt2IheJZmdB99nB1k3rW97qldWUn+ulceEr0mwhoYCCNOO/dte83HtzoscCGfcLHPgx 9go8FnBU0gZmw2hCgPpIwSzDyvPkZVeFXOFtvp+JvgHPF2xRI0JxMTa6WJaGF2tFrYSO HmHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=KTilKgavg6Ws8JD30B+oDrmw+g4NaB+VWv4aLWhxoXI=; b=Y9BIsXw4KcxVrRZrDeJL6B4KLp4Wc2M4cFVO5RDU5rAUkYSo0wRPZ1oNEBqDOlh0qq UveSLboe/6Yffr70UYtIDqvHWZ8grKvKRwZR6tBkn1aOa6AqWF0r8tUbxrP2j43YpKHT JLwbEkYHNoSnBC+PZ1707VlfUzZi6IkH/8wD4BlgH9zBr5D/EP1Bx/RAdqvy+Xx4uBu3 XkrCw0FcaPl55NBZpnBiXR7tjDU/Izir7yF6WHf0G+aO4oELQG49WUFeVBQ678QNA7U3 +Kj0d32E5fcmb0J+KKpIkUnM11nduSib5pl7WcQRwLTimwQ0vs2TiZtFbeZlC0QjXgUs c4Ag== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id x28si13047757qtk.126.2017.09.14.14.06.09; Thu, 14 Sep 2017 14:06:10 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id 73821608E6; Thu, 14 Sep 2017 21:06:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 9AE62609B5; Thu, 14 Sep 2017 21:01:43 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id D3204609A2; Thu, 14 Sep 2017 21:01:36 +0000 (UTC) Received: from forward104j.mail.yandex.net (forward104j.mail.yandex.net [5.45.198.247]) by lists.linaro.org (Postfix) with ESMTPS id 1EEE06092C for ; Thu, 14 Sep 2017 21:00:27 +0000 (UTC) Received: from mxback14g.mail.yandex.net (mxback14g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:93]) by forward104j.mail.yandex.net (Yandex) with ESMTP id 7BA0743172 for ; Fri, 15 Sep 2017 00:00:25 +0300 (MSK) Received: from smtp1j.mail.yandex.net (smtp1j.mail.yandex.net [2a02:6b8:0:801::ab]) by mxback14g.mail.yandex.net (nwsmtp/Yandex) with ESMTP id cwEsrfYrfk-0PLuVKpX; Fri, 15 Sep 2017 00:00:25 +0300 Received: by smtp1j.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id wNwc7KZcGv-0Om8sVrH; Fri, 15 Sep 2017 00:00:24 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Thu, 14 Sep 2017 23:59:57 +0300 Message-Id: <1505422809-5632-8-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1505422809-5632-1-git-send-email-odpbot@yandex.ru> References: <1505422809-5632-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 179 Subject: [lng-odp] [PATCH API-NEXT v1 7/19] travis: move cross-compilation into build matrix X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov As both native and cross-compilation now use the same script it is possible to move cross-compilation setup back to build matrix. Proper cross-compiler is selected based on actual compiler (gcc/clang) and cross-target. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Maxim Uvarov --- /** Email created from pull request 179 (muvarov:api-next) ** https://github.com/Linaro/odp/pull/179 ** Patch: https://github.com/Linaro/odp/pull/179.patch ** Base sha: 6b6253c30f88c80bf632436ff06c1b000860a2f1 ** Merge commit sha: ada61f5ba5f940d03a95893940c21028d4c75d19 **/ .travis.yml | 58 +++++++++++++++++++++------------------------------------- 1 file changed, 21 insertions(+), 37 deletions(-) diff --git a/.travis.yml b/.travis.yml index ac8a4c3ad..43141f9f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,6 +67,10 @@ env: - CONF="--enable-schedule-sp" - CONF="--enable-schedule-iquery" - CONF="--enable-dpdk-zero-copy" + - CROSS_ARCH="arm64" + - CROSS_ARCH="armhf" CFLAGS="-march=armv7-a" + - CROSS_ARCH="powerpc" + - CROSS_ARCH="i386" before_install: @@ -94,10 +98,19 @@ before_install: fi - if [ "${CC#clang}" != "${CC}" ] ; then + if [ -n "$CROSS_ARCH" ] ; + then + export CC="${CC} --target=$CROSS_GNU_TYPE" ; + fi ; export CXX="${CC/clang/clang++}"; elif [ "$CROSS_ARCH" = "i386" ] ; then + export CC="gcc -m32" ; export CXX="g++ -m32" ; + elif [ -n "$CROSS_ARCH" ] ; + then + export CC="$CROSS_GNU_TYPE"-gcc ; + export CXX="$CROSS_GNU_TYPE"-g++ ; fi - if test ! -L /usr/lib/ccache/${CC%% *} ; then sudo ln -s -t /usr/lib/ccache/ `which ${CC%% *}` ; fi - ccache -s @@ -128,15 +141,17 @@ install: - sudo mkdir -p /mnt/huge - sudo mount -t hugetlbfs nodev /mnt/huge - - sudo apt-get -qq update - - sudo apt-get install linux-headers-`uname -r` - - sudo pip install coverage + - if [ -z "$CROSS_ARCH" ] ; + then + sudo apt-get -qq update ; + sudo apt-get install linux-headers-`uname -r` ; + fi - gem install asciidoctor # DPDK pktio. Note that cache must be purged if dpdk version changes. - TARGET=${TARGET:-"x86_64-native-linuxapp-gcc"} - | - if [ ! -f "dpdk/${TARGET}/lib/libdpdk.a" ]; then + if [ -z "$CROSS_ARCH" -a ! -f "dpdk/${TARGET}/lib/libdpdk.a" ]; then git -c advice.detachedHead=false clone -q --depth=1 --single-branch --branch=v17.02 http://dpdk.org/git/dpdk dpdk pushd dpdk git log --oneline --decorate @@ -151,7 +166,7 @@ install: # Netmap pktio - | - if [ ! -f "netmap/LINUX/netmap.ko" ]; then + if [ -z "$CROSS_ARCH" -a ! -f "netmap/LINUX/netmap.ko" ]; then git -c advice.detachedHead=false clone -q --depth=1 --single-branch --branch=v11.2 https://github.com/luigirizzo/netmap.git pushd netmap/LINUX ./configure @@ -193,41 +208,10 @@ script: jobs: include: - stage: test - compiler: aarch64-linux-gnu-gcc - env: TEST="aarch64-linux-gnu" CROSS_ARCH="arm64" - install: gem install asciidoctor - - stage: test - compiler: "\"clang-3.8 --target=aarch64-linux-gnu\"" - env: TEST="clang-3.8 aarch64-linux-gnu" CROSS_ARCH="arm64" - install: gem install asciidoctor - - stage: test - compiler: arm-linux-gnueabihf-gcc - env: TEST="arm-linux-gnueabihf" CROSS_ARCH="armhf" - install: gem install asciidoctor - - stage: test - compiler: "\"clang-3.8 --target=arm-linux-gnueabihf\"" - env: TEST="clang-3.8 arm-linux-gnueabihf" CROSS_ARCH="armhf" CFLAGS="-march=armv7-a" - install: gem install asciidoctor - - stage: test - compiler: powerpc-linux-gnu-gcc - env: TEST="powerpc-linux-gnueabi" CROSS_ARCH="powerpc" - install: gem install asciidoctor - - stage: test - compiler: "\"clang-3.8 --target=powerpc-linux-gnu\"" - env: TEST="clang-3.8 powerpc-linux-gnu" CROSS_ARCH="powerpc" - install: gem install asciidoctor - - stage: test - compiler: "\"gcc -m32\"" - env: TEST="i686-linux-gnueabi" CROSS_ARCH="i386" - install: gem install asciidoctor - - stage: test - compiler: "\"clang-3.8 -m32\"" - env: TEST="clang-3.8 i686-linux-gnu" CROSS_ARCH="i386" - install: gem install asciidoctor - - stage: test env: TEST=coverage compiler: gcc script: + - sudo pip install coverage - ./bootstrap - ./configure --prefix=$HOME/odp-install --enable-user-guides