mirror of
https://github.com/gnustep/libs-base.git
synced 2025-06-02 17:41:05 +00:00
Add build scripts for travis-ci
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39994 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
c9e0bddfd3
commit
34d39727f0
2 changed files with 114 additions and 0 deletions
61
.travis.yml
Normal file
61
.travis.yml
Normal file
|
@ -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);
|
53
travis-deps.sh
Executable file
53
travis-deps.sh
Executable file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue