Age | Commit message (Collapse) | Author |
|
tl;dr: This solves boost visibility problems for default/release build configs
on non-Linux platforms.
When Bitcoin builds against boost's header-only classes, it ends up with
objects containing symbols that the upstream boost libs also have. Since
Bitcoin builds by default with hidden symbol visibility, it can end up trying
to link against a copy of the same symbols with default visibility.
This is not a problem on Linux because 3rd party static libs are un-exported
by default (--exclude-libs,ALL), but that is not available for MinGW and OSX.
Those platforms (and maybe others?) end up confused about which version to use.
The OSX linker spews hundreds of: "ld: warning: direct access in <foo> to
global weak symbol guard variable for <bar> means the weak symbol cannot be
overridden at runtime. This was likely caused by different translation units
being compiled with different visibility settings."
MinGW's linker complains similarly.
Since the default symbol visibility for Bitcoin is hidden and releases are
built that way as well, build Boost with hidden visibility. Linux builds Boost
this way also, but only for the sake of continuity.
This means that the linker confusion logic is reversed, so the problem will
will now be encountered if Bitcoin is built with --disable-reduce-exports, but
that's better than the current situation.
|
|
Bumps the OpenSSL version to the latest release, and kills SSL2. (SSL3 was already killed here, so I'm not sure why SSL2 was left around?)
No other changes.
|
|
0b17964 Bugfix: Replace bashisms with standard sh in tests/tools (Luke Dashjr)
ab72068 Bugfix: Replace bashisms with standard sh in gitian descriptors (Luke Dashjr)
b77b4ed Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems (Luke Dashjr)
d6b0539 travis: add non-default shell testing to travis. (Cory Fields)
|
|
|
|
|
|
Newer mingw supports the features necessary to enable this api, whereas older
versions didn't. However once enabled (automatically by configure), it triggers
an unrelated build bug.
Since it was not enabled previously anyway, and we don't depend on the
functionality, just disable it across the board.
|
|
|
|
|
|
Some debug options may not be compatible.
|
|
|
|
|
|
|
|
This means it also needs to honor our flags, so patch them in as necessary.
|
|
Also hook up cppflags there, which was missing before.
|
|
|
|
Linux and mingw enable libstdc++ debugging for extra runtime checks. OSX
doesn't play nice, so don't enable it there.
|
|
|
|
|
|
This backports the relevant parts of:
https://codereview.qt-project.org/#/c/82689/
|
|
Some sources are renamed after download, since the filenames don't play nice
with (for example) gitian. This fixes the rename.
Needed for OSX build as it renames a file.
|
|
b144a74 depends: bump miniupnpc to 1.9.20140701. (Cory Fields)
f628127 depends: bump openssl to 1.0.1i (Cory Fields)
9f7f504 build: add -DMINIUPNP_STATICLIB for new version (Cory Fields)
|
|
|
|
This is the forward-port of a9c6eef915ee264ccf4169d5e8769a6be1fa101a
|
|
This is the forward-port of bba01750226745d6666d587cabe57c321fde0875.
|
|
If a source url fails to download, try again at
$FALLBACK_DOWNLOAD_PATH/file.name, where FALLBACK_DOWNLOAD_PATH can be
overridden by the user.
|
|
If anything in funcs.mk changes, everything must rebuild
|
|
Shasum verification from stdin doesn't work there, so we write to a file
instead.
Formatted a bit too.
|
|
See the README's in depends for documentation
|