don't support c++98 anymore. build bt-get and bt-get2 by default (which require C++11). simplify address-model configuration in appveyor script. enable msvc-14 builds. use boost 1.59 on appveyor (#618)
This commit is contained in:
parent
c9c6dd2d3b
commit
97bdb4ba25
22
.travis.yml
22
.travis.yml
|
@ -5,10 +5,9 @@ os:
|
||||||
- osx
|
- osx
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- variant=test_release lang=cpp11 sim=0 coverage=1 docs=1
|
- variant=test_release sim=0 coverage=1 docs=1
|
||||||
- variant=test_debug lang=cpp11 sim=1 coverage=0
|
- variant=test_debug sim=1 coverage=0
|
||||||
- variant=test_debug lang=cpp98 sim=0 coverage=0
|
- variant=test_barebones sim=0 coverage=0
|
||||||
- variant=test_barebones lang=cpp11 sim=0 coverage=0
|
|
||||||
|
|
||||||
git:
|
git:
|
||||||
submodules: false
|
submodules: false
|
||||||
|
@ -52,9 +51,9 @@ before_install:
|
||||||
fi'
|
fi'
|
||||||
|
|
||||||
# disable simulations on OSX for now. It hangs on travis
|
# disable simulations on OSX for now. It hangs on travis
|
||||||
- if [ $TRAVIS_OS_NAME == "osx" ]; then export toolset="darwin-${lang}"; export sim="0"; fi
|
- if [ $TRAVIS_OS_NAME == "osx" ]; then export toolset="darwin"; export sim="0"; fi
|
||||||
- if [ $TRAVIS_OS_NAME == "osx" ]; then export target="osx-tests"; fi
|
- if [ $TRAVIS_OS_NAME == "osx" ]; then export target="osx-tests"; fi
|
||||||
- if [ $TRAVIS_OS_NAME == "linux" ]; then export toolset="gcc-${lang}"; fi
|
- if [ $TRAVIS_OS_NAME == "linux" ]; then export toolset="gcc"; fi
|
||||||
- if [[ $TRAVIS_OS_NAME == "linux" && $coverage == "1" ]]; then
|
- if [[ $TRAVIS_OS_NAME == "linux" && $coverage == "1" ]]; then
|
||||||
export coverage_toolset=gcc-coverage;
|
export coverage_toolset=gcc-coverage;
|
||||||
pip install --user codecov;
|
pip install --user codecov;
|
||||||
|
@ -65,15 +64,13 @@ before_install:
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- g++-4.8 --version
|
- g++-4.8 --version
|
||||||
- 'echo "using gcc : cpp11 : ccache g++-4.8 : <cflags>-std=c11 <cxxflags>-std=c++11 ;" > ~/user-config.jam'
|
- 'echo "using gcc : : ccache g++-4.8 : <cflags>-std=c11 <cxxflags>-std=c++11 ;" > ~/user-config.jam'
|
||||||
- 'echo "using gcc : coverage : ccache g++-4.8 : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>--coverage <linkflags>--coverage ;" >> ~/user-config.jam'
|
- 'echo "using gcc : coverage : ccache g++-4.8 : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>--coverage <linkflags>--coverage ;" >> ~/user-config.jam'
|
||||||
- 'echo "using gcc : cpp98 : ccache g++-4.8 : <cflags>-std=c99 <cxxflags>-std=c++98 ;" >> ~/user-config.jam'
|
|
||||||
|
|
||||||
# osx builds need to disable the deprecated warning because of the openssl
|
# osx builds need to disable the deprecated warning because of the openssl
|
||||||
# shipping with the system having marked all functions as deprecated. Since
|
# shipping with the system having marked all functions as deprecated. Since
|
||||||
# we're building with -Werror, we can't have those warnings
|
# 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 : : ccache clang++ : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>-Wno-deprecated-declarations ;" >> ~/user-config.jam'
|
||||||
- 'echo "using darwin : cpp98 : ccache clang++ : <cflags>-std=c99 <cxxflags>-std=c++98 <compileflags>-Wno-deprecated-declarations ;" >> ~/user-config.jam'
|
|
||||||
- 'echo "using python : 2.7 ;" >> ~/user-config.jam'
|
- 'echo "using python : 2.7 ;" >> ~/user-config.jam'
|
||||||
- ccache -V && ccache --show-stats && ccache --zero-stats
|
- ccache -V && ccache --show-stats && ccache --zero-stats
|
||||||
- if [[ $docs == "1" && $TRAVIS_OS_NAME == "osx" ]]; then rst2html.py --version; fi
|
- if [[ $docs == "1" && $TRAVIS_OS_NAME == "osx" ]]; then rst2html.py --version; fi
|
||||||
|
@ -92,10 +89,7 @@ script:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- cd ../examples
|
- cd ../examples
|
||||||
- bjam --hash -j3 warnings-as-errors=on variant=$variant $toolset link=shared
|
- bjam --hash -j3 warnings-as-errors=on variant=$variant $toolset link=shared bt-get bt-get2;
|
||||||
- if [[ $lang == "cpp11" ]]; then
|
|
||||||
bjam --hash -j3 warnings-as-errors=on variant=$variant $toolset link=shared bt-get bt-get2;
|
|
||||||
fi
|
|
||||||
- cd ..
|
- cd ..
|
||||||
|
|
||||||
# build libtorrent separately and install it in a temporary (well known) dir
|
# build libtorrent separately and install it in a temporary (well known) dir
|
||||||
|
|
87
appveyor.yml
87
appveyor.yml
|
@ -8,32 +8,26 @@ os: Visual Studio 2015
|
||||||
clone_depth: 1
|
clone_depth: 1
|
||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
# - variant: test_debug
|
|
||||||
# compiler: msvc-14.0
|
|
||||||
# sim: 1
|
|
||||||
# linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2015\\lib"'
|
|
||||||
# include: '"c:\\openssl-1.0.1p-vs2015\\include"'
|
|
||||||
- variant: test_debug
|
- variant: test_debug
|
||||||
compiler: msvc-12.0
|
compiler: msvc-14.0
|
||||||
|
model: 64
|
||||||
sim: 1
|
sim: 1
|
||||||
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2013\\lib"'
|
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2015\\lib64"'
|
||||||
include: '"c:\\openssl-1.0.1p-vs2013\\include"'
|
include: '"c:\\openssl-1.0.1p-vs2015\\include"'
|
||||||
- variant: test_debug
|
- variant: test_debug
|
||||||
compiler: msvc-12.0
|
compiler: msvc-12.0
|
||||||
x64: 1
|
model: 64
|
||||||
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2013\\lib64"'
|
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2013\\lib64"'
|
||||||
include: '"c:\\openssl-1.0.1p-vs2013\\include"'
|
include: '"c:\\openssl-1.0.1p-vs2013\\include"'
|
||||||
- variant: test_debug
|
|
||||||
python_package: 1
|
|
||||||
compiler: msvc-10.0
|
|
||||||
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2010\\lib"'
|
|
||||||
include: '"c:\\openssl-1.0.1p-vs2010\\include"'
|
|
||||||
- variant: test_barebones
|
- variant: test_barebones
|
||||||
compiler: msvc-12.0
|
compiler: msvc-12.0
|
||||||
|
model: 32
|
||||||
|
python_package: 1
|
||||||
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2013\\lib"'
|
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2013\\lib"'
|
||||||
include: '"c:\\openssl-1.0.1p-vs2013\\include"'
|
include: '"c:\\openssl-1.0.1p-vs2013\\include"'
|
||||||
- variant: test_release
|
- variant: test_release
|
||||||
compiler: msvc-12.0
|
compiler: msvc-12.0
|
||||||
|
model: 32
|
||||||
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2013\\lib"'
|
linkflags: '"/LIBPATH:C:\\openssl-1.0.1p-vs2013\\lib"'
|
||||||
include: '"c:\\openssl-1.0.1p-vs2013\\include"'
|
include: '"c:\\openssl-1.0.1p-vs2013\\include"'
|
||||||
|
|
||||||
|
@ -62,20 +56,6 @@ install:
|
||||||
& copy c:\openssl-1.0.1p-vs2013\lib\ssleay32MT.lib c:\openssl-1.0.1p-vs2013\lib\ssleay32.lib
|
& copy c:\openssl-1.0.1p-vs2013\lib\ssleay32MT.lib c:\openssl-1.0.1p-vs2013\lib\ssleay32.lib
|
||||||
& copy c:\openssl-1.0.1p-vs2013\lib\libeay32MT.lib c:\openssl-1.0.1p-vs2013\lib\libeay32.lib
|
& copy c:\openssl-1.0.1p-vs2013\lib\libeay32MT.lib c:\openssl-1.0.1p-vs2013\lib\libeay32.lib
|
||||||
)
|
)
|
||||||
- if %compiler% == msvc-10.0 (
|
|
||||||
if not exist openssl-1.0.1p-vs2010.7z (
|
|
||||||
echo downloading openssl-2010
|
|
||||||
& appveyor DownloadFile "http://www.npcglib.org/~stathis/downloads/openssl-1.0.1p-vs2010.7z"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
- if %compiler% == msvc-10.0 (
|
|
||||||
echo extracting openssl-2010
|
|
||||||
& 7z x -oc:\ -aoa openssl-1.0.1p-vs2010.7z > nul
|
|
||||||
& copy c:\openssl-1.0.1p-vs2010\lib64\ssleay32MT.lib c:\openssl-1.0.1p-vs2010\lib64\ssleay32.lib
|
|
||||||
& copy c:\openssl-1.0.1p-vs2010\lib64\libeay32MT.lib c:\openssl-1.0.1p-vs2010\lib64\libeay32.lib
|
|
||||||
& copy c:\openssl-1.0.1p-vs2010\lib\ssleay32MT.lib c:\openssl-1.0.1p-vs2010\lib\ssleay32.lib
|
|
||||||
& copy c:\openssl-1.0.1p-vs2010\lib\libeay32MT.lib c:\openssl-1.0.1p-vs2010\lib\libeay32.lib
|
|
||||||
)
|
|
||||||
- if %compiler% == msvc-14.0 (
|
- if %compiler% == msvc-14.0 (
|
||||||
if not exist openssl-1.0.1p-vs2015.7z (
|
if not exist openssl-1.0.1p-vs2015.7z (
|
||||||
echo downloading openssl-2015
|
echo downloading openssl-2015
|
||||||
|
@ -91,14 +71,13 @@ install:
|
||||||
& copy c:\openssl-1.0.1p-vs2015\lib\libeay32MT.lib c:\openssl-1.0.1p-vs2015\lib\libeay32.lib
|
& copy c:\openssl-1.0.1p-vs2015\lib\libeay32MT.lib c:\openssl-1.0.1p-vs2015\lib\libeay32.lib
|
||||||
)
|
)
|
||||||
- cd %ROOT_DIRECTORY%
|
- cd %ROOT_DIRECTORY%
|
||||||
- set BOOST_ROOT=c:\Libraries\boost
|
- set BOOST_ROOT=c:\Libraries\boost_1_59_0
|
||||||
- set BOOST_BUILD_PATH=%BOOST_ROOT%\tools\build
|
- set BOOST_BUILD_PATH=%BOOST_ROOT%\tools\build
|
||||||
- echo %BOOST_ROOT%
|
- echo %BOOST_ROOT%
|
||||||
- echo %BOOST_BUILD_PATH%
|
- echo %BOOST_BUILD_PATH%
|
||||||
- set PATH=%PATH%;%BOOST_BUILD_PATH%\src\engine\bin.ntx86
|
- set PATH=%PATH%;%BOOST_BUILD_PATH%\src\engine\bin.ntx86
|
||||||
- 'echo using msvc : 10.0 ; >%HOMEDRIVE%%HOMEPATH%/user-config.jam'
|
- 'echo using msvc : 12.0 ; >%HOMEDRIVE%%HOMEPATH%/user-config.jam'
|
||||||
- 'echo using msvc : 12.0 ; >>%HOMEDRIVE%%HOMEPATH%/user-config.jam'
|
- 'echo using msvc : 14.0 ; >>%HOMEDRIVE%%HOMEPATH%/user-config.jam'
|
||||||
- 'echo using msvc : 9.0 ; >>%HOMEDRIVE%%HOMEPATH%/user-config.jam'
|
|
||||||
- type %HOMEDRIVE%%HOMEPATH%\user-config.jam
|
- type %HOMEDRIVE%%HOMEPATH%\user-config.jam
|
||||||
- cd %ROOT_DIRECTORY%
|
- cd %ROOT_DIRECTORY%
|
||||||
- set PATH=%PATH%;c:\Mingw\bin
|
- set PATH=%PATH%;c:\Mingw\bin
|
||||||
|
@ -110,34 +89,38 @@ install:
|
||||||
- cd %ROOT_DIRECTORY%
|
- cd %ROOT_DIRECTORY%
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- openssl-1.0.1p-vs2010.7z
|
|
||||||
- openssl-1.0.1p-vs2013.7z
|
- openssl-1.0.1p-vs2013.7z
|
||||||
- openssl-1.0.1p-vs2015.7z
|
- openssl-1.0.1p-vs2015.7z
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- if not defined x64 (
|
# examples
|
||||||
cd %ROOT_DIRECTORY%\examples
|
- cd %ROOT_DIRECTORY%\examples
|
||||||
& b2.exe --hash -j2 %compiler% variant=%variant% linkflags=%linkflags% include=%include% link=shared
|
- b2.exe --hash -j2 %compiler% address-model=%model% variant=%variant% linkflags=%linkflags% include=%include% link=shared
|
||||||
& if %compiler% == msvc-14.0 ( b2.exe --hash -j2 %compiler% variant=%variant% linkflags=%linkflags% include=%include% link=shared bt-get bt-get2 )
|
|
||||||
& cd %ROOT_DIRECTORY%\examples
|
# test
|
||||||
& b2.exe --hash -j2 %compiler% variant=%variant% linkflags=%linkflags% include=%include% link=shared
|
- cd %ROOT_DIRECTORY%\test
|
||||||
& cd %ROOT_DIRECTORY%\bindings\python
|
- b2.exe --hash -j2 address-model=%model% win-tests %compiler% variant=%variant% link=shared linkflags=%linkflags% include=%include% testing.execute=off
|
||||||
& b2.exe --hash -j2 %compiler% stage_module install-dependencies=on variant=%variant% libtorrent-link=shared linkflags=%linkflags% include=%include%
|
|
||||||
& python test.py
|
# python binding
|
||||||
& if defined python_package ( python setup.py --bjam bdist_msi )
|
- cd %ROOT_DIRECTORY%\bindings\python
|
||||||
|
# 64 bit python module builds don't work
|
||||||
|
- if %model% == 32 ( b2.exe --hash -j2 %compiler% address-model=%model% stage_module install-dependencies=on variant=%variant% libtorrent-link=shared linkflags=%linkflags% include=%include% )
|
||||||
|
- if defined python_package ( python setup.py --bjam bdist_msi )
|
||||||
|
|
||||||
|
# simulations
|
||||||
|
- if defined sim (
|
||||||
|
cd %ROOT_DIRECTORY%\simulation
|
||||||
|
& b2.exe --hash -j2 link=shared crypto=built-in %compiler% address-model=%model% testing.execute=off
|
||||||
)
|
)
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- cd %ROOT_DIRECTORY%\test
|
- cd %ROOT_DIRECTORY%\test
|
||||||
- if defined x64 (
|
- b2.exe --hash -j2 address-model=%model% win-tests %compiler% variant=%variant% link=shared linkflags=%linkflags% include=%include%
|
||||||
b2.exe --hash -j2 address-model=64 win-tests %compiler% variant=%variant% link=shared linkflags=%linkflags% include=%include%
|
- cd %ROOT_DIRECTORY%\bindings\python
|
||||||
) else (
|
# 64 bit python module builds don't work
|
||||||
b2.exe --hash -j2 address-model=32 win-tests %compiler% variant=%variant% link=shared linkflags=%linkflags% include=%include%
|
- if %model% == 32 ( python test.py )
|
||||||
)
|
- cd %ROOT_DIRECTORY%\simulation
|
||||||
- if defined sim (
|
- if defined sim ( b2.exe --hash -j2 link=shared crypto=built-in %compiler% address-model=%model% )
|
||||||
cd %ROOT_DIRECTORY%\simulation
|
|
||||||
& b2.exe --hash -j2 link=shared crypto=built-in %compiler%
|
|
||||||
)
|
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
- path: bindings\python\dist\*.msi
|
- path: bindings\python\dist\*.msi
|
||||||
|
|
|
@ -70,19 +70,15 @@ if '--bjam' in sys.argv:
|
||||||
if not '--help' in sys.argv \
|
if not '--help' in sys.argv \
|
||||||
and not '--help-commands' in sys.argv:
|
and not '--help-commands' in sys.argv:
|
||||||
|
|
||||||
toolset = ''
|
|
||||||
file_ext = '.so'
|
file_ext = '.so'
|
||||||
|
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
# msvc 9.0 (2008) is the official windows compiler for python 2.6
|
|
||||||
# http://docs.python.org/whatsnew/2.6.html#build-and-c-api-changes
|
|
||||||
toolset = ' msvc-9.0'
|
|
||||||
file_ext = '.pyd'
|
file_ext = '.pyd'
|
||||||
|
|
||||||
parallel_builds = ' -j%d' % multiprocessing.cpu_count()
|
parallel_builds = ' -j%d' % multiprocessing.cpu_count()
|
||||||
|
|
||||||
# build libtorrent using bjam and build the installer with distutils
|
# build libtorrent using bjam and build the installer with distutils
|
||||||
cmdline = 'b2 libtorrent-link=static boost-link=static release optimization=space stage_module --abbreviate-paths' + toolset + parallel_builds
|
cmdline = 'b2 libtorrent-link=static boost-link=static release optimization=space stage_module --abbreviate-paths' + parallel_builds
|
||||||
print(cmdline)
|
print(cmdline)
|
||||||
if os.system(cmdline) != 0:
|
if os.system(cmdline) != 0:
|
||||||
print('build failed')
|
print('build failed')
|
||||||
|
|
|
@ -30,8 +30,6 @@ exe upnp_test : upnp_test.cpp ;
|
||||||
|
|
||||||
explicit stage_client_test ;
|
explicit stage_client_test ;
|
||||||
explicit stage_connection_tester ;
|
explicit stage_connection_tester ;
|
||||||
explicit bt-get ;
|
|
||||||
explicit bt-get2 ;
|
|
||||||
|
|
||||||
install stage_client_test : client_test : <location>. ;
|
install stage_client_test : client_test : <location>. ;
|
||||||
install stage_connection_tester : connection_tester : <location>. ;
|
install stage_connection_tester : connection_tester : <location>. ;
|
||||||
|
|
Loading…
Reference in New Issue