- don't use OpenPACE on cross compile builds - build pcsc-relay for windows - clone repositories only when needed
107 lines
3.9 KiB
YAML
107 lines
3.9 KiB
YAML
language: C
|
|
|
|
matrix:
|
|
include:
|
|
- compiler: clang
|
|
- compiler: gcc
|
|
- compiler: i686-w64-mingw32-gcc
|
|
- compiler: x86_64-w64-mingw32-gcc
|
|
allow_failures:
|
|
- compiler: i686-w64-mingw32-gcc
|
|
- compiler: x86_64-w64-mingw32-gcc
|
|
|
|
env:
|
|
global:
|
|
- PKG_CONFIG_PATH=/tmp/install/lib/pkgconfig
|
|
- PREFIX=/tmp/install
|
|
- PYTHONPATH=$PYTHONPATH:$PREFIX/lib/python2.7/site-packages/
|
|
- ac_cv_func_malloc_0_nonnull=yes
|
|
- ac_cv_func_realloc_0_nonnull=yes
|
|
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
|
|
# via the "travis encrypt" command using the project repo's public key
|
|
- secure: "M+eNZPASDoFdWZUeSyu4whvPKaOwd0AlCmGWKc7SRbQPD8x8Ao8y3+kr++YonsWBnDUqQSNg3v4uWsJOo2Q57qMQ+FYcNlEjrYpXXSRdH4BnYnTH1WfNnTce7N5Bln9wxE+khe7cZJcxy+gvd+YiutQvHjT+bTzrs2MtHD0Odlw="
|
|
|
|
before_install:
|
|
- sudo apt-get update
|
|
|
|
install:
|
|
- if [ "$CC" == i686-w64-mingw32-gcc -o "$CC" == x86_64-w64-mingw32-gcc ]; then
|
|
export HOST=${CC%%-gcc};
|
|
fi
|
|
- if [ $TRAVIS_OS_NAME == linux ]; then
|
|
if [ -z "$HOST" ]; then
|
|
sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/x86_64-linux-gnu/libgcc_s.so;
|
|
sudo apt-get -qq install libpcsclite-dev libusb-dev xutils-dev gengetopt help2man swig python-dev;
|
|
pip install --user pycrypto;
|
|
else
|
|
sudo apt-get -qq install libpcsclite-dev libusb-dev xutils-dev gengetopt help2man binutils-mingw-w64 gcc-mingw-w64;
|
|
fi
|
|
fi
|
|
|
|
before_script:
|
|
# virtualsmartcard requires OpenPACE
|
|
- if [ -z "$HOST" ]; then
|
|
git clone https://github.com/frankmorgner/openpace;
|
|
cd openpace && autoreconf -vis;
|
|
./configure --prefix=$PREFIX --enable-openssl-install --enable-python || cat config.log;
|
|
make install;
|
|
fi
|
|
# ccid requires OpenSC
|
|
- git clone https://github.com/frankmorgner/OpenSC
|
|
- cd OpenSC && autoreconf -vsi
|
|
- if [ -z "$HOST" ]; then
|
|
./configure --prefix=$PREFIX || cat config.log;
|
|
else
|
|
./configure --prefix=$PREFIX --host=$HOST || cat config.log;
|
|
fi
|
|
- make install
|
|
# Configure virtualsmartcard
|
|
- cd $TRAVIS_BUILD_DIR/virtualsmartcard && autoreconf -vsi
|
|
- if [ -z "$HOST" ]; then
|
|
./configure || cat config.log;
|
|
else
|
|
./configure --host=$HOST --enable-libpcsclite || cat config.log;
|
|
fi
|
|
# pcsc-relay requires libnfc
|
|
- if [ -z "$HOST" ]; then
|
|
git clone https://github.com/nfc-tools/libnfc.git;
|
|
cd libnfc && autoreconf -vsi;
|
|
./configure --prefix=$PREFIX || cat config.log;
|
|
make install;
|
|
fi
|
|
# Configure pcsc-relay
|
|
- cd $TRAVIS_BUILD_DIR/pcsc-relay && autoreconf -vsi
|
|
- if [ -z "$HOST" ]; then
|
|
./configure || cat config.log;
|
|
else
|
|
./configure --host=$HOST PCSC_CFLAGS="-I/usr/$HOST/include" PCSC_LIBS="-lwinscard" || cat config.log;
|
|
fi
|
|
# Configure ccid
|
|
- if [ $TRAVIS_OS_NAME == linux -a -z "$HOST" ]; then
|
|
cd $TRAVIS_BUILD_DIR/ccid && autoreconf -vsi;
|
|
./configure OPENSC_LIBS="-L$PREFIX/lib -lopensc" || cat config.log;
|
|
fi
|
|
|
|
addons:
|
|
coverity_scan:
|
|
project:
|
|
name: "frankmorgner/vsmartcard"
|
|
description: "Umbrella project for various projects concerned with the emulation of different types of smart card readers or smart cards themselves"
|
|
notification_email: frankmorgner@gmail.com
|
|
build_command: make -C $TRAVIS_BUILD_DIR/virtualsmartcard -C $TRAVIS_BUILD_DIR/ccid -C $TRAVIS_BUILD_DIR/pcsc-relay
|
|
branch_pattern: master
|
|
|
|
script:
|
|
# Build virtualsmartcard
|
|
- make -C $TRAVIS_BUILD_DIR/virtualsmartcard
|
|
# Verify virtualsmartcard
|
|
- if [ -z "$HOST" ]; then
|
|
cd $TRAVIS_BUILD_DIR/virtualsmartcard/src/vpicc && export PYTHONPATH=$PYTHONPATH:`pwd` && export LD_LIBRARY_PATH=$PREFIX/lib/ && python -m unittest discover -s virtualsmartcard.tests -p *_test.py -v;
|
|
fi
|
|
# Build pcsc-relay
|
|
- make -C $TRAVIS_BUILD_DIR/pcsc-relay;
|
|
# Build ccid
|
|
- if [ $TRAVIS_OS_NAME == linux -a -z "$HOST" ]; then
|
|
make -C $TRAVIS_BUILD_DIR/ccid;
|
|
fi
|