Skip to content

Commit

Permalink
Merge commit 'b335331e793a4e8aad19cadf6252094857a4a671' as 'src/3rdpa…
Browse files Browse the repository at this point in the history
…rty/torrent-rasterbar'
  • Loading branch information
aliakseis committed Mar 9, 2018
2 parents cc61a9a + b335331 commit 99b5b83
Show file tree
Hide file tree
Showing 769 changed files with 307,230 additions and 0 deletions.
58 changes: 58 additions & 0 deletions src/3rdparty/torrent-rasterbar/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
libtool

*.m4
*.in
*.pc
*.libs
*.deps
*.cache
*.dirstamp

bin
config*
Makefile
build-aux
test_tmp_*

.DS_Store
.idea

# Compile and link flag files
bindings/python/*flags

# Logs
libtorrent_logs*
*.log

# Python related files and dirs
*.pyc
dist
*.egg-info
3 changes: 3 additions & 0 deletions src/3rdparty/torrent-rasterbar/.gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "simulation/libsimulator"]
path = simulation/libsimulator
url = https://github.com/arvidn/libsimulator.git
174 changes: 174 additions & 0 deletions src/3rdparty/torrent-rasterbar/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
language: cpp

matrix:
include:
- env: variant=test_release lang=cpp11 sim=0 coverage=1 docs=1
- env: variant=test_debug lang=sanitizer sim=1 coverage=0
- env: variant=test_debug lang=cpp98 sim=0 coverage=0
- env: variant=test_barebones lang=cpp11 sim=0 coverage=0 autotools=1
- env: variant=test_debug lang=cpp11 sim=0 coverage=0 docs=1 target=osx-tests ios=1
os: osx
osx_image: xcode8.3

git:
submodules: false

branches:
only:
- master
- RC_1_1
- RC_1_0

# container-based builds
sudo: false
cache:
directories:
- $HOME/.ccache

# sources list: https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json,
# packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
addons:
apt:
sources:
- boost-latest
- ubuntu-toolchain-r-test
packages:
- libboost1.55-all-dev
- libboost1.55-tools-dev
- python2.7-dev
- g++-5

before_install:
- git submodule update --init --recursive
- if [ $TRAVIS_OS_NAME == "osx" ]; then brew update > /dev/null && brew install ccache boost-build; fi
# we have to use python from brew rather than the system provided python
# because of OSX System Integrity Protection, which prevents injecting
# user-libraries (i.e. python modules) into system binaries (i.e. /usr/bin/python)
- 'if [[ $TRAVIS_OS_NAME == "osx" && $docs = "1" ]]; then
easy_install --user docutils;
mkdir -p /Users/travis/Library/Python/2.7/lib/python/site-packages;
echo ''import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")'' >> /Users/travis/Library/Python/2.7/lib/python/site-packages/homebrew.pth;
easy_install --user Pygments;
easy_install --user aafigure;
brew install graphviz hunspell;
easy_install --user Pillow;
fi'
- 'if [[ $TRAVIS_OS_NAME == "osx" ]]; then travis_retry brew install boost-python python2; fi'

# disable simulations on OSX for now. It hangs on travis
- if [ $TRAVIS_OS_NAME == "osx" ]; then export toolset="darwin-${lang}"; fi
- if [ $TRAVIS_OS_NAME == "linux" ]; then export toolset="gcc-${lang}"; fi
- if [[ $TRAVIS_OS_NAME == "linux" && $coverage == "1" ]]; then
export coverage_toolset=gcc-coverage;
pip install --user codecov;
else
export coverage_toolset=$toolset;
fi
- 'if [[ $lang == "sanitizer" ]]; then export test_args=testing.arg="--no-stderr-redirect"; fi'
- 'echo "toolset: " ${toolset}'
- 'echo "target: " ${target}'
- 'echo "coverage_toolset: " ${coverage_toolset}'
- 'echo "test_args: " ${test_args}'
- 'echo "variant: " ${variant}'
# disable leak checking for now. it reports some suspicious reports against some
# tests
- export ASAN_OPTIONS=detect_leaks=0;

install:
- 'if [[ $toolset == "gcc" ]]; then g++-5 --version; fi'
- 'echo "using gcc : cpp11 : ccache g++-5 : <cflags>-std=c11 <cxxflags>-std=c++11 ;" > ~/user-config.jam'
- 'echo "using gcc : sanitizer : ccache g++-5 : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>-fsanitize=address,undefined <compileflags>-fno-sanitize-recover=undefined <linkflags>-fuse-ld=gold <linkflags>-fsanitize=address,undefined <linkflags>-fno-sanitize-recover=undefined ;" >> ~/user-config.jam'
- 'echo "using gcc : coverage : ccache g++-5 : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>--coverage <linkflags>--coverage ;" >> ~/user-config.jam'
- 'echo "using gcc : cpp98 : ccache g++-5 : <cflags>-std=c99 <cxxflags>-std=c++98 ;" >> ~/user-config.jam'

# osx builds need to disable the deprecated warning because of the openssl
# shipping with the system having marked all functions as deprecated. Since
# we're building with -Werror, we can't have those warnings
- 'echo "using darwin : cpp11 : ccache clang++ : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>-Wno-deprecated-declarations ;" >> ~/user-config.jam'
- 'echo "using darwin : cpp98 : ccache clang++ : <warnings>off <cflags>-std=c99 <cxxflags>-std=c++98 <compileflags>-Wno-deprecated-declarations ;" >> ~/user-config.jam'
- 'echo "using darwin : ios_sim : ccache clang++ : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>-Wno-deprecated-declarations
<compileflags>\"-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk\"
<compileflags>-mios-simulator-version-min=7
<compileflags>-fobjc-abi-version=2
<linkflags>\"-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk\"
<linkflags>-mios-simulator-version-min=7
<linkflags>-fobjc-abi-version=2
;" >>~/user-config.jam'
- 'echo "using darwin : ios : ccache clang++ : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>-Wno-deprecated-declarations
<compileflags>\"-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk\"
<compileflags>-mios-version-min=7
<compileflags>\"-arch armv7\"
<compileflags>-fobjc-abi-version=2
<linkflags>\"-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk\"
<linkflags>-mios-version-min=7
<linkflags>\"-arch armv7\"
<linkflags>-fobjc-abi-version=2
;" >>~/user-config.jam'
- 'echo "using python : 2.7 ;" >> ~/user-config.jam'
- ccache -V && ccache --show-stats && ccache --zero-stats
- if [[ $docs == "1" && $TRAVIS_OS_NAME == "osx" ]]; then /Users/travis/Library/Python/2.7/bin/rst2html.py --version; fi
- cat ~/user-config.jam

- which python2

script:
# disable invoking docutils for now, until we can have a modern version of it
- cd docs
- if [[ $docs == "1" && $TRAVIS_OS_NAME == "osx" ]]; then make spell-check RST2HTML=/Users/travis/Library/Python/2.7/bin/rst2html.py AAFIGURE=echo; fi
- cd ..

- cd test
# if we're building with code coverage, report it as soon as possible
- if [[ $tests != "0" ]]; then
bjam --hash -j3 warnings-as-errors=on invariant-checks=full variant=$variant -l900 $coverage_toolset $target $test_args &&
if [[ $TRAVIS_OS_NAME == "linux" && $coverage == "1" ]]; then
codecov --root .. --gcov-exec gcov-4.8;
fi;
fi

- cd ../examples
- bjam --hash -j3 warnings-as-errors=on debug-iterators=on picker-debugging=on invariant-checks=full variant=$variant $coverage_toolset link=shared &&
if [[ $lang == "cpp11" ]]; then
bjam --hash -j3 warnings-as-errors=on debug-iterators=on picker-debugging=on invariant-checks=full variant=$variant $coverage_toolset link=shared bt-get bt-get2;
fi
- cd ..

# run through autotools and ./configure to make sure it works
- if [[ "$autotools" == "1" ]]; then
./autotool.sh &&
export CXX=g++-5 &&
export CC=gcc-5 &&
export CXXFLAGS="-Werror -Wno-deprecated-declarations" &&
./configure --enable-debug --enable-encryption --enable-examples --enable-tests --enable-python-binding &&
make -j2;
fi

- if [[ $ios == "1" ]]; then
bjam darwin-ios darwin-ios_sim -j2 -q link=static;
fi

# build libtorrent separately and install it in a temporary (well known) dir
# we have to do this because on linux the name of the python module is the same
# as the main library, so we can't stage them to the same directory
- bjam --hash -j3 warnings-as-errors=on link=shared debug-iterators=on picker-debugging=on invariant-checks=full variant=$variant $coverage_toolset install location=./lib;

# here we specify the temporary lib dir as a path to look for the main library
# a binary built with sanitizer does not interact well with python
- cd bindings/python
- if [[ $lang != "sanitizer" ]]; then
bjam --hash -j3 warnings-as-errors=on debug-iterators=on picker-debugging=on invariant-checks=full variant=$variant $coverage_toolset stage_module stage_dependencies libtorrent-link=shared install-type=LIB dll-path=../../lib &&
if [[ $TRAVIS_OS_NAME == "osx" ]]; then
DYLD_LIBRARY_PATH=./dependencies python2 test.py;
else
LD_LIBRARY_PATH=./dependencies python test.py;
fi;
fi
- cd ../..

- cd simulation
- if [ $sim = "1" ]; then
bjam --hash -j2 crypto=built-in warnings-as-errors=on $coverage_toolset $test_args;
fi
- cd ..
- ccache --show-stats

28 changes: 28 additions & 0 deletions src/3rdparty/torrent-rasterbar/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Written by Arvid Norberg. Copyright (c) 2003-2016

Contributions by:
Andrei Kurushin
Steven Siloti
Thomas Fischer
Massaroddel
Tianhao Qiu.
Shyam
Magnus Jonsson
Daniel Wallin
Cory Nelson
Stas Khirman
Ryan Norton
Andrew Resch

Thanks to (github user) nervoir for bug reports

Building and maintainance of the autotools scripts:
Michael Wojciechowski
Peter Koeleman

Thanks to Reimond Retz for bugfixes, suggestions and testing

Thanks to University of Ume� for providing development and test hardware.

Project is hosted by sourceforge.

0 comments on commit 99b5b83

Please sign in to comment.