merged RC_1_1 into master

This commit is contained in:
arvidn 2017-07-13 22:51:05 -07:00
commit bff09a70fe
3 changed files with 39 additions and 23 deletions

40
Jamfile
View File

@ -61,22 +61,20 @@ rule linking ( properties * )
} }
# openssl libraries, if enabled # openssl libraries, if enabled
# exclude gcc from a regular windows build to make mingw
# link against the regular unix library name
if <ssl>openssl in $(properties) if <ssl>openssl in $(properties)
{ {
# exclude gcc from a regular windows build to make mingw if <openssl-version>pre1.1 in $(properties)
# link against the regular unix library name && <target-os>windows in $(properties)
if <target-os>windows in $(properties)
&& ! <toolset>gcc in $(properties) && ! <toolset>gcc in $(properties)
{ {
result += <library>ssleay32 result += <library>ssleay32 ;
<library>advapi32
<library>user32
<library>shell32
<library>gdi32
;
} }
else else
{ {
# on windows the library names were changed to be in line with other
# system starting with OpenSSL 1.1
result += <library>ssl ; result += <library>ssl ;
} }
} }
@ -85,16 +83,12 @@ rule linking ( properties * )
{ {
# exclude gcc from a regular windows build to make mingw # exclude gcc from a regular windows build to make mingw
# link against the regular unix library name # link against the regular unix library name
if <target-os>windows in $(properties) if <openssl-version>pre1.1 in $(properties)
&& <target-os>windows in $(properties)
&& ! <toolset>gcc in $(properties) && ! <toolset>gcc in $(properties)
{ {
# it should be possible to cleanup this list, but this is safe for now # it should be possible to cleanup this list, but this is safe for now
result += <library>libeay32 result += <library>libeay32 ;
<library>advapi32
<library>user32
<library>shell32
<library>gdi32
;
} }
else else
{ {
@ -102,6 +96,18 @@ rule linking ( properties * )
} }
} }
# windows needs some more libraries when using openSSL
if <ssl>openssl in $(properties)
&& <target-os>windows in $(properties)
&& ! <toolset>gcc in $(properties)
{
result += <library>advapi32
<library>user32
<library>shell32
<library>gdi32
;
}
if <simulator>on in $(properties) if <simulator>on in $(properties)
{ {
result += <library>/libsimulator//simulator ; result += <library>/libsimulator//simulator ;
@ -464,6 +470,8 @@ feature crypto : built-in libcrypto libgcrypt : composite propagated ;
feature.compose <crypto>libcrypto : <define>TORRENT_USE_LIBCRYPTO ; feature.compose <crypto>libcrypto : <define>TORRENT_USE_LIBCRYPTO ;
feature.compose <crypto>libgcrypt : <define>TORRENT_USE_LIBGCRYPT ; feature.compose <crypto>libgcrypt : <define>TORRENT_USE_LIBGCRYPT ;
feature openssl-version : 1.1 pre1.1 : composite propagated ;
feature ssl : off openssl : composite propagated ; feature ssl : off openssl : composite propagated ;
feature.compose <ssl>openssl : <define>TORRENT_USE_OPENSSL <define>OPENSSL_NO_SSL2 ; feature.compose <ssl>openssl : <define>TORRENT_USE_OPENSSL <define>OPENSSL_NO_SSL2 ;

View File

@ -74,32 +74,32 @@ cache:
build_script: build_script:
# examples # examples
- cd %ROOT_DIRECTORY%\examples - cd %ROOT_DIRECTORY%\examples
- b2.exe --hash warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% - b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto%
# tools # tools
- cd %ROOT_DIRECTORY%\tools - cd %ROOT_DIRECTORY%\tools
- b2.exe --hash warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% - b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto%
# test # test
- cd %ROOT_DIRECTORY%\test - cd %ROOT_DIRECTORY%\test
- b2.exe --hash warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% win-tests test_upnp test_natpmp testing.execute=off - b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% win-tests test_upnp test_natpmp testing.execute=off
# python binding # python binding
- cd %ROOT_DIRECTORY%\bindings\python - cd %ROOT_DIRECTORY%\bindings\python
# we use 64 bit python builds # we use 64 bit python builds
- if defined python ( - if defined python (
b2.exe --hash warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% libtorrent-link=shared stage_module install-dependencies=on b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% libtorrent-link=shared stage_module install-dependencies=on
) )
# simulations # simulations
- cd %ROOT_DIRECTORY%\simulation - cd %ROOT_DIRECTORY%\simulation
- if defined sim ( - if defined sim (
b2.exe --hash warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=built-in testing.execute=off b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=built-in testing.execute=off
) )
test_script: test_script:
- cd %ROOT_DIRECTORY%\test - cd %ROOT_DIRECTORY%\test
- appveyor-retry b2.exe -l400 --hash warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% win-tests - appveyor-retry b2.exe -l400 --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared ssl=%ssl% crypto=%crypto% win-tests
- cd %ROOT_DIRECTORY%\bindings\python - cd %ROOT_DIRECTORY%\bindings\python
# we use 64 bit python build # we use 64 bit python build
@ -108,5 +108,5 @@ test_script:
# simulation tests # simulation tests
- cd %ROOT_DIRECTORY%\simulation - cd %ROOT_DIRECTORY%\simulation
- if defined sim ( - if defined sim (
b2.exe --hash warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=built-in b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=on picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=built-in
) )

View File

@ -290,6 +290,14 @@ Build features:
| | torrents over ssl feature. Requires | | | torrents over ssl feature. Requires |
| | the option crypto=libcrypto. | | | the option crypto=libcrypto. |
+--------------------------+----------------------------------------------------+ +--------------------------+----------------------------------------------------+
| ``openssl-version`` | This can be used on windows to link against the |
| | special OpenSSL library names used on windows |
| | prior to OpenSSL 1.1. |
| | * ``1.1`` - link against the normal openssl |
| | library name. (default) |
| | * ``pre1.1`` - link against the old windows names |
| | (i.e. ``ssleay32`` and ``libeay32``. |
+--------------------------+----------------------------------------------------+
| ``allocator`` | * ``pool`` - default, uses pool allocators for | | ``allocator`` | * ``pool`` - default, uses pool allocators for |
| | send buffers. | | | send buffers. |
| | * ``system`` - uses ``malloc()`` and ``free()`` | | | * ``system`` - uses ``malloc()`` and ``free()`` |