Author: thebeing
Date: Wed Jul 13 10:43:56 2016
New Revision: 39994

URL: http://svn.gna.org/viewcvs/gnustep?rev=39994&view=rev
Log:
Add build scripts for travis-ci

Added:
    libs/base/trunk/.travis.yml
    libs/base/trunk/travis-deps.sh   (with props)

Added: libs/base/trunk/.travis.yml
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/.travis.yml?rev=39994&view=auto
==============================================================================
--- libs/base/trunk/.travis.yml (added)
+++ libs/base/trunk/.travis.yml Wed Jul 13 10:43:56 2016
@@ -0,0 +1,61 @@
+language: cpp
+dist: trusty
+compiler:
+    - clang
+    - gcc
+env:
+    - LIBRARY_COMBO=gnu-gnu-gnu
+    - LIBRARY_COMBO=gnu-gnu-gnu SORT_ALG=timsort
+    - LIBRARY_COMBO=ng-gnu-gnu
+    - LIBRARY_COMBO=ng-gnu-gnu SORT_ALG=timsort
+    - LIBRARY_COMBO=ng-gnu-gnu BASE_ABI=--disable-mixed-abi
+    - LIBRARY_COMBO=ng-gnu-gnu BASE_ABI=--disable-mixed-abi SORT_ALG=timsort
+matrix:
+    exclude:
+        - compiler: gcc
+          env: LIBRARY_COMBO=ng-gnu-gnu
+        - compiler: gcc
+          env: LIBRARY_COMBO=ng-gnu-gnu SORT_ALG=timsort
+        - compiler: gcc
+          env: LIBRARY_COMBO=ng-gnu-gnu BASE_ABI=--disable-mixed-abi
+        - compiler: gcc
+          env: LIBRARY_COMBO=ng-gnu-gnu BASE_ABI=--disable-mixed-abi 
SORT_ALG=timsort
+        - compiler: clang
+          env: LIBRARY_COMBO=gnu-gnu-gnu
+        - compiler: clang
+          env: LIBRARY_COMBO=gnu-gnu-gnu SORT_ALG=timsort
+sudo: required
+before_install:
+    - sudo apt-get -qq update
+    - sudo apt-get install -y cmake pkg-config libgnutls28-dev libgmp-dev 
libffi-dev libicu-dev libxml2-dev libxslt1-dev libssl-dev libavahi-client-dev 
zlib1g-dev
+    - >
+        if [ $LIBRARY_COMBO = 'gnu-gnu-gnu' ];
+        then
+          if [ $CC = 'gcc' ];
+          then
+            sudo apt-get install -y gobjc;
+          fi;
+          sudo apt-get install -y libobjc-4.8-dev;
+        else
+          sudo apt-get install -y libkqueue-dev libpthread-workqueue-dev;
+        fi;
+install: ./travis-deps.sh
+before_script: >
+    export LIBRARY_PATH=$HOME/staging/lib:$LIBRARY_PATH;
+    export LD_LIBRARY_PATH=$HOME/staging/lib:$LD_LIBRARY_PATH;
+    if [ $LIBRARY_COMBO = 'ng-gnu-gnu' ];
+    then
+      export CPATH=$HOME/staging/include;
+    else
+      export CPATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/include;
+    fi;
+    export PATH=$HOME/staging/bin:$PATH;
+    export GNUSTEP_MAKEFILES=$HOME/staging/share/GNUstep/Makefiles;
+    . $HOME/staging/share/GNUstep/Makefiles/GNUstep.sh;
+script: >
+    if [ -z "$SORT_ALG" ];
+    then
+        SORT_ALG=shellsort
+    fi;
+    ./configure --with-sort-algorithm=$SORT_ALG $BASE_ABI;
+    make && make install && make check || (cat Tests/tests.log && false);

Added: libs/base/trunk/travis-deps.sh
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/travis-deps.sh?rev=39994&view=auto
==============================================================================
--- libs/base/trunk/travis-deps.sh      (added)
+++ libs/base/trunk/travis-deps.sh      Wed Jul 13 10:43:56 2016
@@ -0,0 +1,53 @@
+#! /usr/bin/env sh
+
+set -ex
+
+DEP_SRC=$HOME/dependency_source/
+
+install_gnustep_make() {
+    cd $DEP_SRC
+    git clone https://github.com/gnustep/make.git
+    cd make
+    if [ $LIBRARY_COMBO = 'ng-gnu-gnu' ]
+    then
+        ADDITIONAL_FLAGS="--enable-objc-nonfragile-abi"
+    else
+        ADDITIONAL_FLAGS=""
+    fi
+    ./configure --prefix=$HOME/staging --with-library-combo=$LIBRARY_COMBO 
$ADDITIONAL_FLAGS
+       make install
+}
+
+install_ng_runtime() {
+    cd $DEP_SRC
+    git clone https://github.com/gnustep/libobjc2.git
+    mkdir libobjc2/build
+    cd libobjc2/build
+    export CC="clang"
+    export CXX="clang++"
+    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGNUSTEP_INSTALL_TYPE=NONE 
-DCMAKE_INSTALL_PREFIX:PATH=$HOME/staging ../
+    make install
+}
+
+install_libdispatch() {
+    cd $DEP_SRC
+    git clone https://github.com/ngrewe/libdispatch.git
+    mkdir libdispatch/build
+    cd libdispatch/build
+    export CC="clang"
+    export CXX="clang++"
+    export LIBRARY_PATH=$HOME/staging/lib;
+    export LD_LIBRARY_PATH=$HOME/staging/lib:$LD_LIBRARY_PATH;
+    export CPATH=$HOME/staging/include;
+    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo  
-DCMAKE_INSTALL_PREFIX:PATH=$HOME/staging ../
+    make install
+}
+
+mkdir -p $DEP_SRC
+if [ $LIBRARY_COMBO = 'ng-gnu-gnu' ]
+then
+    install_ng_runtime
+    install_libdispatch
+fi
+
+install_gnustep_make

Propchange: libs/base/trunk/travis-deps.sh
------------------------------------------------------------------------------
    svn:executable = *


_______________________________________________
Gnustep-cvs mailing list
Gnustep-cvs@gna.org
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to