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