Commit Graph

212 Commits

Author SHA1 Message Date
zkbot 90031e1d61 Auto merge of #1577 - radix42:v1.0.0-rc1-gitian, r=daira
V1.0.0 rc1 gitian

Removes indeterminism from gitian builds: underlying processor instruction set variant of x86_64 was being detected by the libgmp autoconf process, which caused differences in libgmp and libsnark
2016-10-20 17:40:27 -04:00
David Mercer ed928f413e explicitly pass HOST and BUILD to libgmp ./configure 2016-10-19 20:18:03 -07:00
David Mercer 1ead1bb0b3 allow both HOST and BUILD to be passed in from the zcutil/build.sh 2016-10-19 19:36:52 -07:00
Daira Hopwood 0ee86d399e Changes to build on Alpine Linux.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-20 00:36:32 +01:00
zkbot 4ee9d712b5 Auto merge of #1541 - str4d:upstream-gitian-updates, r=bitcartel
Upstream gitian updates

This PR pulls in all gitian-related PRs that have been merged upstream since 0.11.2. The only ones I left out were documentation-only PRs, because we removed `doc/gitian-building.md` at some point. Here are the commits applied here, in the order shown in `git log` (ie. last to first):

- bitcoin/bitcoin#7283
  - fa42a67
  - fa58c76
- bitcoin/bitcoin#8175
  - 74c1347
- bitcoin/bitcoin#8167
  - 7e7eb27
  - ad38204
  - b676f38
- bitcoin/bitcoin#7776
  - f063863
- bitcoin/bitcoin#7424
  - a81c87f ~ we already partly applied
  - a8ce872
  - f3d3eaf ~ we already partly applied
  - 475813b
  - ~~cd27bf5~~ X we already applied
- bitcoin/bitcoin#7060
  - 3b468a0 ~ we removed doc/gitian-building.md
  - ~~99fda26~~ X we removed doc/gitian-building.md
- bitcoin/bitcoin#7251
  - fa09562
- bitcoin/bitcoin#6900
  - ~~2cecb24~~ X we removed doc/gitian-building.md
  - 957c0fd
  - 2e31d74
  - ~~0b416c6~~ X we removed QT
  - 9f251b7
- bitcoin/bitcoin#6854
  - 579b863 ~ we already partly applied

Part of #540
2016-10-17 01:17:01 -04:00
Jack Grigg de064bab95
Update libsnark to include determinism fix 2016-10-16 12:27:01 -05:00
Cory Fields e6fa787a62
depends: allow for CONFIG_SITE to be used rather than stealing prefix
This does not break any existing prefix behavior, only makes new behavior work.

For example:
CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure --prefix=/
2016-10-15 14:12:41 -05:00
Jack Grigg 63bc8c9a17 Downgrade bdb to 5.3.28
bdb 6.X was released under the AGPL, which is incompatible with MIT-licensed
software (the result must be licensed under AGPL). bdb 5.X uses the same license
as bdb 4.8, and thus retains the same compatibility as in upstream Bitcoin.

Thanks to Luke-Jr for raising this issue.
2016-10-01 23:02:32 +13:00
Jack Grigg be9e7ce722 Remove no-autoalginit and no-autoerrinit OpenSSL flags
These flags are potentially risky, because they require that the app explicitly
initialize stuff that it wouldn't otherwise need to initialize, and we don't
have time for the necessary review.
2016-09-30 14:11:27 +13:00
Jack Grigg 629c8743a7 Disable nearly everything in OpenSSL
Flags obtained from:
https://gist.github.com/steakknife/8247726#gistcomment-1739713

Some flags not enabled because they aren't supported in OpenSSL 1.1.0b.

Flags not enabled because they break compilation:
- no-deprecated
- no-dh
- no-ec
2016-09-29 15:53:41 +13:00
Jack Grigg 21fb88a348 Fix auto_ptr deprecation warning in Boost 2016-09-29 14:15:55 +13:00
Jack Grigg 19c3917ce9 Upgrade ccache to 3.3.1 2016-09-29 12:34:40 +13:00
Jack Grigg 7bbf5f5ab2 Upgrade miniupnpc to 2.0 2016-09-29 12:34:40 +13:00
Jack Grigg fa318aa9fe Upgrade OpenSSL to 1.1.0b
Closes #1348
2016-09-29 12:34:09 +13:00
fanquake 95efc7cccb [depends] OpenSSL 1.0.1k - update config_opts 2016-09-29 12:07:23 +13:00
Jack Grigg 44bdcabc38 Upgrade libgmp to 6.1.1 2016-09-29 12:07:23 +13:00
Jack Grigg 2d6d5fb311 Upgrade Boost to 1.62.0
Part of #944
Closes #1241
2016-09-29 12:06:48 +13:00
Robert C. Seacord 4734b29ecd Changes to upgrade bdb to 6.2.23
Closes #1255
2016-09-29 11:56:56 +13:00
Sean Bowe f6b6c9bed8 Update libsnark again. 2016-09-05 12:00:50 -06:00
zkbot 27bd8e4129 Auto merge of #1270 - ThisIsNotOfficialCodeItsJustForks:t1168-fix-optimization-flags, r=daira
Fix inconsistent -O1/-O2, fix libzcash flags, add -fwrapv -fno-strict-aliasing

Closes #1168. In that ticket I decided the optimization flags for dependencies are out of scope, i.e. we go with whatever the upstream package maintainer chose.
2016-08-23 03:30:31 +00:00
Sean Bowe 6a1653f009 Update libsnark dependency. 2016-08-22 15:48:20 -06:00
Taylor Hornby 46ad3c2758 Fix inconsistent optimization flags; single source of truth. 2016-08-17 11:38:28 -06:00
Taylor Hornby a635d6e995 Upgrade libsodium for AVX2-detection bugfix. 2016-08-17 10:43:06 -06:00
Sean Bowe 25d2197043 Remove more from libsnark, and fix potential remote-DoS. 2016-07-21 18:34:59 -06:00
Taylor Hornby 86551dcb18 Remove insecurely-downloaded dependencies that we don't currently use. 2016-07-19 16:42:58 -06:00
Sean Bowe e9f9a73ab7 Update libsnark to our fork. 2016-07-15 10:45:09 -06:00
Taylor Hornby 4e117b63c6 Rename zerocash_packages to zcash_packages in packages.mk 2016-07-11 19:30:18 -06:00
Simon 5dad8f569d Disable USE_ASM when building libsnark (issue 932). 2016-06-20 15:18:15 -07:00
Taylor Hornby 0af5e31282 Pass -DPURIFY to OpenSSL so it doesn't clutter valgrind output. 2016-05-25 16:42:39 -06:00
Sean Bowe e6c2d66c93 Enable MULTICORE proving behavior with omp. 2016-05-25 11:19:13 -06:00
Sean Bowe 9285bba885 Enable binary serializations of proofs and r1cs keys, and make the `CPourTx` proof field fixed-size. 2016-05-24 11:08:31 -06:00
Taylor Hornby e334392fab Patch libsnark to build with my compiler. Upstream PR #35. 2016-05-18 11:22:29 -06:00
Nathan Wilcox b6aa043d1f Add googlemock 1.7.0 dependency. 2016-05-03 13:46:09 -07:00
Sean Bowe 6c36a9fe03 NoteEncryption implementation and integration, removal of ECIES and crypto++ dependencies. 2016-04-28 16:25:12 -06:00
Nathan Wilcox 0ee1d5d133 Add a depends description for googletest. 2016-04-18 11:13:05 -07:00
zkbot 9b7606fb6e Auto merge of #800 - str4d:592-disable-comparison-utility, r=defuse
Disable comparison utility

Also fixes `configure` to check that Java is present if `--with-comparison-tool` is set.

Closes #592
2016-04-01 00:02:59 +00:00
Taylor Hornby 5cd512b928 Try downloading from our mirror first to avoid headaches. 2016-03-31 16:33:30 -06:00
Jack Grigg f53f490b91 Disable comparison utility
Closes #592
2016-03-25 16:44:33 +13:00
Taylor Hornby abbab2cc4f Add libsodium to the depends system. 2016-03-17 16:29:37 -06:00
Sean Bowe 1e62bba762 Remove ate-pairing, xbyak and libzerocash dependencies from the depends tree.
The ALT_BN128 curve does not need ate-pairing or xbyak.

Also, remove crypto++ dependency from libsnark.
2016-02-15 15:27:59 -07:00
Nathan Wilcox ad71899e5f Append the preferred local filename to fallback url, rather than upstream filename.
In some cases, such as for github revision tarballs, the upstream
filename is just ``$HASH.tar.gz``, but the local filename is
``${PACKAGE_NAME}-${HASH}.tar.gz``. With this patch, it's clear which
packages each URLs provides *and* it makes the process of updating
http://z.cash/depends/sources a simple scp rather than involving some
kind of name translation.

Closes #622.
2016-01-19 18:24:45 -08:00
Sean Bowe 2c2dd2305e Update fallback path. 2016-01-19 14:36:10 -07:00
Sean Bowe a8ac403db0 Added mapAnchors consensus rules, finished zcrawpour/zcrawreceive.
Some specifics on consensus changes:
* Transactions must be anchored to a real anchor in the chain.
* Anchors are pushed and popped during ConnectBlock/DisconnectBlock as appropriate.
* DisconnectTip triggers evictions, under some circumstances, of transactions in the
  mempool which are anchored to roots that are no longer valid.
* Commitments append to the tree at the current best root during ConnectBlock.
2016-01-19 14:36:04 -07:00
Sean Bowe e934af2404 Update libzerocash ref 2016-01-19 14:36:04 -07:00
Sean Bowe 9f25631d50 Add mapAnchors infrastructure to CCoinsView.
This adds the TXDB/CCoinsViewCache primitives necessary for
writing consensus rules for mapAnchors later.
2016-01-19 14:36:04 -07:00
Sean Bowe 96c31d163f Added CPourTx verification and construction routines. 2016-01-19 14:36:04 -07:00
Nathan Wilcox d7ad5f3c45 Upgrade libzerocash to a recent version without bitcoin serialization; also remove cut'n'paste error. 2015-12-22 09:20:42 -08:00
Nathan Wilcox c4da097069 Pull over depends and build changes from zc.v0.10.0.latest. Fails to build due to new ./configure dependency for serialization stuff. 2015-12-22 09:20:42 -08:00
Wladimir J. van der Laan 6c31ac019f
Merge pull request #6825
af6edac *: alias -h for --help (Daniel Cousens)
131d7f9 Change URLs to https in debian/control (Matt Corallo)
7ce2c91 Update debian/changelog and slight tweak to debian/control (Matt Corallo)
4fbfebe Correct spelling mistakes in doc folder (Mitchell Cash)
e42bf16 Clarification of unit test build instructions. (Eric Lombrozo)
54f9dee Update bluematt-key, the old one is long-since revoked (Matt Corallo)
bfc6154 [Trivial] Fixed typo when referring to a previous section in depends/README.md [skip ci] (Chris Kleeschulte)
9e45157 build: disable -Wself-assign (Wladimir J. van der Laan)
33d6825 Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
87a797a build: Remove dependency of bitcoin-cli on secp256k1 (Wladimir J. van der Laan)
a33cd5b [trivial] Fix rpc message "help generate" (MarcoFalke)
6fd0019 Drop "with minimal dependencies" from description (Zak Wilcox)
2394f4d Split bitcoin-tx into its own package (Zak Wilcox)
1e672ae Include bitcoin-tx binary on Debian/Ubuntu (Zak Wilcox)
b3eaa30 [Qt] Raise debug window when requested (MarcoFalke)
01878c9 Fix locking in GetTransaction. (Alex Morcos)
9b9acc2 Fix spelling of Qt (Diego Viola)
2015-11-06 14:08:06 +01:00
Wladimir J. van der Laan 21e58b8e35
build: make sure OpenSSL heeds noexecstack
This passes `-Wa,--noexecstack` to the assembler when building
platform-specific assembly files, to signal that a non-executable stack
can be used. This is the same approach as used by Debian
(see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430583)

Rebased-From: bfcdc21a5da25ec1aa4aecc4cd8960dfa1c11781
Github-Pull: #6852
2015-10-19 15:04:14 +02:00
Chris Kleeschulte bfc6154429 [Trivial] Fixed typo when referring to a previous section in
depends/README.md [skip ci]
2015-10-14 08:20:38 +00:00
Wladimir J. van der Laan b4ad73f706
Update miniupnpc to 1.9.20151008
This version of miniupnpc fixes a buffer overflow in the XML (ugh)
parser during initial network discovery.

http://talosintel.com/reports/TALOS-2015-0035/

The commit fixing the vulnerability is:
79cca974a4

Reported by timothy on IRC.

Github-Pull: 6789
Rebased-From: 0cca0248f030ea32bd8de778b5a2782e0d191978
2015-10-09 14:56:22 +02:00
Wladimir J. van der Laan 1cd7952dde
Merge pull request #6703
45bfa13 PARTIAL: typofixes (found by misspell_fixer) (Veres Lajos)
21c406e add support for miniupnpc api version 14 (Pavel Vasin)
13bd5a7 rpc-tests: re-enable rpc-tests for Windows (Cory Fields)
ccc4ad6 net: Set SO_REUSEADDR for Windows too (Cory Fields)
1f6772e add unit test for CNetAddr::GetGroup. (Alex Morcos)
13642a5 Fix masking of irrelevant bits in address groups. (Alex Morcos)
6b51b9b Replace boost::reverse_lock with our own. (Casey Rodarmor)
626c5e6 Make sure we re-acquire lock if a task throws (Casey Rodarmor)
4877053 Add missing files to files.md (fanquake)
f171fee Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss)
c5b89fe Fix race condition on test node shutdown (Casey Rodarmor)
4a37410 Handle no chain tip available in InvalidChainFound() (Ross Nicoll)
f6d29a6 Use unique name for AlertNotify tempfile (Casey Rodarmor)
e6adac7 Delay initial pruning until after wallet init (Adam Weiss)
e0020d4 Make sure LogPrint strings are line-terminated (J Ross Nicoll)
7ff9d12 Make sure LogPrintf strings are line-terminated (Wladimir J. van der Laan)
5a39133 build: fix libressl detection (Cory Fields)
f6355e6 Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor)
60457d3 locking: fix a few small issues uncovered by -Wthread-safety (Cory Fields)
a496e11 Remove bash test note from rpc-tests readme (fanquake)
49c6a64 tests: Remove old sh-based test framework (Wladimir J. van der Laan)
a37567d Add autogen.sh to source tarball. (randy-waterhouse)
1f4d7cf travis: for travis generating an extra build (Cory Fields)
2015-09-23 14:12:55 +02:00
Veres Lajos 45bfa137ef PARTIAL: typofixes (found by misspell_fixer)
Upstream: 9f68ed6b6d1a9c6436ce37913666165f2b180ee3 (PR #6539)
2015-09-22 00:43:15 +00:00
Cory Fields 92401c2d90
Depends: bump to qt 5.5
Github-Pull: #6471
Rebased-From: fe997dfd121e3d82464908940753b77ebf61a10d 5189fe3d88b7d0154758379a877533fe364dec87 ab67dd7818ff2d0910f3fd9bfca9412d85de4424 ecd6a89381a34d4bcd07593a2e377656d070a7ed 060b3d377b0a0d318f630beb7fe4d8f41b99981c
2015-07-27 13:09:25 +02:00
Jacob Welsh 25c2216168
depends: fix Boost 1.55 build on GCC 5
Boost assumes variadic templates are always available in GCC 4.4+, but
they aren't since we don't build with -std=c++11.

This applies the patch that fixed the issue in boost 1.57:
eec8085549

See also: https://svn.boost.org/trac/boost/ticket/10500

Github-Pull: #6280
Rebased-From: b19a88b2a0e7bd9ef603055bc8e1ef058673025d
2015-06-17 09:10:01 +02:00
Shawn Wilkinson cc3db874b5 doc: Documentation in Markdown for Depends Dir
Documentation more readable when viewed on Github.

Some extra changes by @laanwj:

- Make README.usage the default README. This is more convenient from a
  user perspective. Link to other documentation in this default README

- Add list of popular targets for cross compilation, change default to
  Win64 instead of Win32
2015-05-15 12:35:20 +02:00
Cory Fields 235b3a789d depends: sanity-check sources and cached builds
In some cases (Travis), sources and build caches may be moved around in-between
builds, and we can't necessarily trust that everything is still intact.

This introduces pre-build checks that verify against stashed checksums.

Note that this will cause all sources to be re-downloaded, since cached sources
weren't trustworthy before this.
2015-05-14 01:33:07 -04:00
Michael Ford c0555dc8eb depends: latest config.guess and config.sub 2015-04-20 13:29:22 +02:00
Michael Ford c2f21612ca Add x86_64* i686* mips* and arm* to depends .gitignore 2015-04-20 13:29:20 +02:00
Cory Fields bb44d9e754 depends: fix a static qt5 crash when using certain versions of libxcb
See here for background: https://bugreports.qt.io/browse/QTBUG-34748

libxcb temporarily had an abi breakage which caused crashes when qt was
compiled against a non-compatible version. Building qt with -qt-xcb should have
shielded us from this issue, except that incompatible headers were used when
building qt's wrapper.

Make sure those headers aren't picked up by qt's build.

Details:

qt's build adds a wrapper around the xcb libs when -qt-xcb is used. This is
done to avoid having to link to a handful of different libs, which may not be
api/abi stable. This build depends on include-order, so that its files are
found before the real libxcb headers.

Our build (for other reasons related to qt's complicated build-system) injects
our prefix into CXXFLAGS. Because libxcb is found in this path, that reverses
the include-order, negating the purpose of the wrapper.

To fix, libxcb's includes are simply moved to a subdir. pkg-config ensures that
they're still found properly when needed.

To make things even more interesting, this behavior in qt's .pro files is broken:
INCLUDEPATH += $$QMAKE_CFLAGS_XCB

The INCLUDEPATH variable is processed by qmake which automatically prefixes each
entry with "-I". The QMAKE_CFLAGS_XCB variable comes from pkg-config and
already contains -I, making the path look like "-I-I/path/to/xcb/headers".

To work around that, CFLAGS/CXXFLAGS are used here rather than INCLUDEPATH.
2015-03-16 23:45:15 -04:00
Cory Fields d23b0a2711 depends: always use static qt5 for linux 2015-02-25 18:41:59 -05:00
Michael Ford 5a809ef0f0 depends: fix typos 2015-01-31 17:38:28 -05:00
Michael Ford 5fdc5b08e7 depends: latest config.guess and config.sub 2015-01-21 15:48:27 +08:00
Cory Fields f0172bf91e osx: bump build sdk to 10.9 2015-01-20 01:49:20 -05:00
Wladimir J. van der Laan 90c71548c7
depends: remove embedded OpenSSL timestamp for determinism
Chery-picked from 0.10 branch.

Rebased-From: c3200bcd1e7116e079aebabed3a01dc5385bfc9e
2015-01-12 16:19:24 +01:00
Cory Fields dad7764a9d depends: bump openssl to 1.0.1k 2015-01-09 21:31:38 -05:00
Cory Fields 4caad26ba1 depends: bump cctools to a custom version with less deps
This one no longer requires native libuuid or libcrypto
2015-01-02 19:31:07 -05:00
Cory Fields 4fe6c3c24f depends: major upgrade to darwin toolchain
tl;dr: Update to the newer stable toolchain and SDK for OSX without giving up
any backwards compatibility. We can move to clang 3.5 as a next step which
allows use to use libc++ and the 10.10 sdk, but we'll need to find a build that
works in gitian/travis first.

Switch to a new, better maintained fork of cctools:
https://github.com/tpoechtrager/cctools-port

I've forked this and will be working on it some as well:
https://github.com/theuni/cctools-port

This brings in:
cctools v862
ld64: v241.9

It also fixes 64bit builds, so there's no longer any need to use a 32bit clang.
Since clang is no longer tied to an old/crusty 32bit build, clang has been
upgraded to 3.3. Unfortunately, there's a bug in 3.4 that breaks builds. 3.5
works fine, but there are no binary builds compatible with precise, which is
currently used for gitian and travis. We could always build our own if
necessary.

After updating to stable clang/linker/cctools, it's possible to use a more
recent SDK. The current SDK (10.7) through the most recent 10.10 have all been
built/tested successfully, both with and without 10.6 compatibility. However,
10.10 requires clang 3.5.

SDKs >= 10.9 use libc++ rather than libstdc++. This is verified working as well.
2015-01-02 15:09:43 -05:00
Cory Fields ec90c97d13 depends: osx: fix qt5 build against 10.10 sdk 2015-01-02 15:09:43 -05:00
Cory Fields d57b303e1e depends: fix major regression after d546191dc.
Broken hash logic caused all depends on some platforms (osx at least) to end up
with the same build-id. Without this fix, nothing will be rebuilt when recipes
or dependencies change.
2014-12-31 13:20:24 -05:00
Wladimir J. van der Laan e36e619886 Add mips, mipsel and aarch64 to depends platforms 2014-12-17 13:20:11 +01:00
BtcDrak 164a45f57a
Fix download link for gitian builds 2014-12-13 09:03:33 +00:00
Cory Fields d7db4b6317 depends: fix packages with hard-coded SOURCES_PATH
Also fixes a nasty bug that removes the downloaded comparisontool jar file.
2014-12-11 19:23:12 -05:00
Cory Fields d546191dc2 depends: Move source stamps to source dir and misc cleanups
Since the last commit will force rebuilds of all depends, take the opportunity
to clean up a few other things that would trigger rebuilds as well.

- Move source stamps to the sources dir so that SOURCES_PATH is respected for
  "make download".
- Only print "fetching..." when actually downloading a file.
- Avoid using non-deterministic paths for the recipe hash (patch location).
  This should ensure that all builders get the same resulting build-ids.
- Use a per-package source paths. This will allow for removing old source files
  in the future.
- Use a host-agnostic path for downloads which gets cleaned up properly.
2014-12-11 19:23:12 -05:00
Cory Fields 422f873ef3 depends: teach 'make download' to download sources for all hosts 2014-12-11 19:23:12 -05:00
Pieter Wuille ffe3291466 Remove gmp dependency and doc mentions 2014-12-04 19:17:02 +01:00
Cory Fields d61dc25c71 qt: osx: fix hidden symbol visibility
Fixes default hidden symbol visibility for our linux->osx cross build. Without
this change, the check for working -fvisibility=hidden fails, and all symbols
are visible by default.

Ugly as this is, it's just a simple find/replace to fix a bug in Qt's configure.
They assume in an "XPLATFORM_MAC" block that the builder is capable of running
osx programs. This should be "BUILD_ON_MAC" instead.
2014-11-24 22:00:31 -05:00
Cory Fields 1aead42d41 gitian: descriptors overhaul
Descriptors now make use of the dependencies builder, so results are cached.
A very new version (>= e9741525c) of Gitian should be used in order to take
advantage of caching.
2014-11-19 22:49:41 -05:00
Cory Fields 5f93ec2028 depends: Add a package for qt4.6. Linux uses it by default.
We're not ready to switch to a static qt5 for Linux yet due to missing plugin
support. This adds a recipe for building a shared qt4 that we build and link
against, but don't distribute.

make USE_LINUX_STATIC_QT5=1 can be used to build static qt5 as before.
2014-11-19 22:49:41 -05:00
Cory Fields 4302fa67b1 depends: Use pic for all linux dependencies
This avoids textrels, and matches previous gitian behavior.
2014-11-19 22:49:41 -05:00
Cory Fields 54566de29d depends: quit exporting in config.site 2014-11-18 18:06:47 +01:00
Cory Fields ff1e5ba8c7 depends: add gmp package 2014-11-18 18:06:46 +01:00
Cory Fields 187739006c depends: cleanup better after qt and force a bump
qt needs to be rebuilt for travis. The previous commit should help ensure that
this won't need to be done again.
2014-11-13 04:09:19 -05:00
Cory Fields 0246ab6088 depends: boost: hard-code hidden symbol visibility
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.
2014-11-05 01:16:53 -05:00
Dominyk Tiller a6a3f141b1 openssl version bump
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.
2014-10-21 21:49:45 +01:00
Wladimir J. van der Laan d4b571a5d3
Merge pull request #5038
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)
2014-10-07 08:53:07 +02:00
Luke Dashjr ab72068565 Bugfix: Replace bashisms with standard sh in gitian descriptors 2014-10-03 23:45:26 +00:00
Matt Corallo c9c51cba4e Make comptool more deterministic 2014-10-02 13:52:19 -07:00
Cory Fields 609adc7660 depends: disable unused bdb replication manager. Fixes new mingw builds
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.
2014-10-02 13:41:31 -04:00
Pieter Wuille 0f78a0a2eb Upgrade comparison tool further 2014-10-02 03:55:33 +02:00
Cory Fields 6d7a0fa4e5 depends: update the comparison tool to a more recent version 2014-09-30 12:14:22 -07:00
Cory Fields 00522cd45b depends: disable reduced exports for debug builds
Some debug options may not be compatible.
2014-09-25 14:56:26 -04:00
Cory Fields 1f7fff2bee depends: add docs for debug 2014-09-25 14:56:26 -04:00
Cory Fields dc66ff53b4 depends: make LDFLAGS act like the other flags 2014-09-25 14:56:26 -04:00
Cory Fields b1efba8298 depends: give miniupnpc cppflags 2014-09-25 14:56:26 -04:00
Cory Fields 1d154db457 depends: teach qt to honor debug/release
This means it also needs to honor our flags, so patch them in as necessary.
2014-09-25 14:56:26 -04:00
Cory Fields 3b63df5fac depends: boost: build for debug or release as requested
Also hook up cppflags there, which was missing before.
2014-09-25 14:56:26 -04:00
Cory Fields 7e99df78c4 depends: make sure openssl sees cppflags 2014-09-25 14:56:26 -04:00
Cory Fields f397304002 depends: add debug/release flags for linux/osx/win
Linux and mingw enable libstdc++ debugging for extra runtime checks. OSX
doesn't play nice, so don't enable it there.
2014-09-25 14:56:26 -04:00
Cory Fields 2027ad30e7 depends: add the debug/release concept to depends 2014-09-25 14:56:25 -04:00
Cory Fields cf12c223d0 depends: respect CPPFLAGS when configuring with depends 2014-09-16 14:23:55 -04:00
Cory Fields 21f139b4a6 qt: fix tablet crash. closes #4854.
This backports the relevant parts of:
https://codereview.qt-project.org/#/c/82689/
2014-09-08 14:42:46 -04:00
Cory Fields e4cf9f8479 depends: fix typo in source downloading. Regression from c897b1e732.
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.
2014-09-04 14:17:57 -04:00
Wladimir J. van der Laan 107922663b
Merge pull request #4767
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)
2014-09-01 10:28:33 +02:00
Cory Fields df7565d99c depends: add sensible download timeout/retry values 2014-08-27 03:40:30 -04:00
Cory Fields b144a74a08 depends: bump miniupnpc to 1.9.20140701.
This is the forward-port of a9c6eef915ee264ccf4169d5e8769a6be1fa101a
2014-08-27 02:54:49 -04:00
Cory Fields f628127887 depends: bump openssl to 1.0.1i
This is the forward-port of bba01750226745d6666d587cabe57c321fde0875.
2014-08-26 15:28:31 -04:00
Cory Fields c897b1e732 depends: add a fallback path in case package sources go missing
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.
2014-08-22 15:42:54 -04:00
Cory Fields e42363d800 build: add funcs.mk to the list of meta-depends
If anything in funcs.mk changes, everything must rebuild
2014-08-15 22:48:38 -04:00
Cory Fields 1910910dde depends: fix shasum on osx < 10.9
Shasum verification from stdin doesn't work there, so we write to a file
instead.

Formatted a bit too.
2014-08-15 22:48:36 -04:00
Cory Fields 1dec09b341 depends: add shared dependency builder
See the README's in depends for documentation
2014-08-08 15:10:46 -04:00