Commit Graph

10323 Commits

Author SHA1 Message Date
Cory Fields
4cdc0c43cc build: fix Windows builds without pkg-config
- guard PKG_PROG_PKG_CONFIG with an m4_ifdef. If not building for windows,
  require it
- add nops as necessary in case the ifdef reduces the if/then to nothing
- AC_SUBST some missing _LIBS. These were split out over time, but not all were
  properly substituted. They continued to work if pkg-config is installed
  because it does the AC_SUBST itself
2018-01-10 23:04:54 +03:00
Cory Fields
24fd04e93f build: require boost for bench 2018-01-10 23:03:29 +03:00
Wladimir J. van der Laan
8b6c238f0d windows: Add testnet icon for testnet link
Overhauled testnet icon by Jonas Schnelli
2018-01-10 23:02:57 +03:00
Wladimir J. van der Laan
d730d69efd windows: Add testnet link to installer 2018-01-10 23:02:49 +03:00
fanquake
dc7486e015 [trivial] Sync ax_pthread with upstream draft 2018-01-10 23:01:56 +03:00
MarcoFalke
c896b9ed64 [gitian] set correct PATH for wrappers 2018-01-10 23:01:39 +03:00
Cory Fields
8da4c55c85 bulid: fix "make translate" when out-of-tree 2018-01-10 22:59:00 +03:00
Cory Fields
0d2cf50377 build: add temporary fix for "bad magic number" error in out-of-tree builds
This was caused by an pyc files hanging around from previous
python2 invocations, when the matching .py missing from that path.

This should not be a problem with python3's tagged caches.
2018-01-10 22:58:52 +03:00
Cory Fields
2672a5bba3 travis: use out-of-tree build 2018-01-10 22:58:44 +03:00
Cory Fields
861e43938e build: fix out-of-tree 'make deploy' for osx
The plist is generated, lives in builddir.
2018-01-10 22:58:36 +03:00
Cory Fields
a2dd1cf86e build: a few ugly hacks to get the rpc tests working out-of-tree 2018-01-10 22:58:26 +03:00
Cory Fields
9590ee0613 build: more out-of-tree fixups
- clear the __pycache__ during 'make clean'
- Copy the qrc locale file to a temp location and remove it when finished
  (rcc expects everything to be in the same path)
2018-01-10 22:56:52 +03:00
Cory Fields
3efa7adf3b build: out-of-tree fixups
Don't glob the leveldb for dist. That means we need to enumerate the headers.
2018-01-10 22:56:44 +03:00
MarcoFalke
ed60218b70 [gitian] hardcode datetime for depends 2018-01-10 22:55:51 +03:00
MarcoFalke
7006f94a6b [gitian] Default reference_datetime to commit author date 2018-01-10 22:55:41 +03:00
lateminer
85aaa0b023 Fix comparison between signed and unsigned int
rpcwallet.cpp
wallet.cpp
2018-01-10 20:32:50 +03:00
Cory Fields
6a8b389cde build: No need to check for leveldb atomics
They're guaranteed with c++11
2018-01-10 00:08:53 +03:00
Cory Fields
0f46136999 build: quiet annoying warnings without adding new ones
Disabling warnings can be tricky, because doing so can cause a different
compiler to create new warnings about unsupported disable flags. Also, some
warnings don't surface until they're paired with another warning (gcc). For
example, adding "-Wno-foo" won't cause any trouble, but if there's a legitimate
warning emitted, the "unknown option -Wno-foo" will show up as well.

Work around this in 2 ways:

1. When checking to see if -Wno-foo is supported, check for "-Wfoo" instead.
2. Enable -Werror while checking 1.

If "-Werror -Wfoo" compiles, "-Wno-foo" is almost guaranteed to be supported.

-Werror itself is also checked. If that fails to compile by itself, it likely
means that the user added a flag that adds a warning. In that case, -Werror
won't be used while checking, and the build may be extra noisy. The user would
need to fix the bad input flag.

Also, silence 2 more additional warnings that can show up post-c++11.
2018-01-10 00:07:38 +03:00
randy-waterhouse
671725d695 Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e03. 2018-01-10 00:06:55 +03:00
Cory Fields
155af18074 leveldb: integrate leveldb into our buildsystem 2018-01-10 00:06:35 +03:00
Wladimir J. van der Laan
5acb13a540 test: Rename wallet.dat to wallet_test.dat
Indicate that the file name is not hardcoded, and a little bit of safety
so that it never nukes the main wallet.

Suggestion by Marco Falke.
2018-01-10 00:03:49 +03:00
lateminer
897cef91cc Fix: wallet_ismine.h → script/ismine.h 2018-01-10 00:03:40 +03:00
Wladimir J. van der Laan
a0bf1386b7 wallet_ismine.h → script/ismine.h 2018-01-10 00:03:31 +03:00
Wladimir J. van der Laan
8a0a14b77b test: Create test fixture for wallet
Removes all the `#ifdef ENABLE_WALLET` from `test_bitcoin` by
making the wallet tests use their own fixture.
2018-01-10 00:02:00 +03:00
lateminer
4d9bacf1ae Fix: test: move accounting_tests and rpc_wallet_tests to wallet/test 2018-01-10 00:01:51 +03:00
Wladimir J. van der Laan
f508e91677 test: move accounting_tests and rpc_wallet_tests to wallet/test 2018-01-10 00:01:44 +03:00
JeremyRand
92412d41bf Remove wxwidgets references from NSIS script.
The NSIS script tried to delete wxwidgets-based executables/locales.  These files are ancient, and presumably no users have them anymore, so we can simplify the NSIS script by removing those lines.
2018-01-09 23:58:03 +03:00
Cory Fields
471706588c build: define base filenames for use elsewhere in the buildsystem 2018-01-09 23:57:54 +03:00
JeremyRand
a77a6438c8 build: Use PACKAGE_TARNAME and new bin names in NSIS script.
Replaces the hardcoded string "bitcoin" with the autoconf variable PACKAGE_TARNAME; fixes #7265.

Places where I chose not to replace:

1. bitcoin.ico wasn't replaced because it doesn't seem to be relevant to the build system and its filename never affects the end user.
2. InstallDir wasn't replaced because the current text has an uppercase B, and I'm not sure of a good way to capitalize the result of PACKAGE_TARNAME.
3. A comment in the Main Installer section wasn't replaced because comments don't ever face the end user.
4. The registry value "URL:Bitcoin" wasn't replaced for the same reason as InstallDir.
5. Startup shortcut wasn't replaced for the same reason as InstallDir.

All other appearances of "bitcoin" were replaced with PACKAGE_TARNAME, except for the bin names, which were instead replaced with the new bin name autoconf variables.
2018-01-09 23:54:03 +03:00
Pavel Janík
4e459ffc7b Use relative paths instead of absolute paths 2018-01-09 23:52:11 +03:00
fanquake
bc7543731f [build-aux] Update Boost & check macros to latest serials 2018-01-09 23:51:41 +03:00
BtcDrak
929c0287d5 Add curl to Gitian setup instrustions
curl is required to fetch dependencies

[ci skip]
2018-01-09 23:48:09 +03:00
BtcDrak
36362fecef Add missing sudo entry in gitian VM setup.
[ci skip]
2018-01-09 23:47:33 +03:00
Pavel Janík
69a14ff63a make clean should clean .a files 2018-01-09 23:47:15 +03:00
Andrés G. Aragoneses
429502e334 autogen.sh: warn about needing autoconf if autoreconf is not found
Changes the error message from:
./autogen.sh: 9: ./autogen.sh: autoreconf: not found

To:
configuration failed, please install autoconf first
2018-01-09 23:46:56 +03:00
Luke Dashjr
3d698b1f49 build-unix: Update UniValue build conditions 2018-01-09 23:43:32 +03:00
Luke Dashjr
598c291182 LDADD dependency order shuffling 2018-01-09 23:43:24 +03:00
Luke Dashjr
e5692bc4cb Bugfix: Always include univalue in DIST_SUBDIRS 2018-01-09 23:43:16 +03:00
Luke Dashjr
7ea8a49f71 Change default configure option --with-system-univalue to "no" 2018-01-09 23:43:08 +03:00
Luke Dashjr
473a292add doc: Add UniValue to build instructions 2018-01-09 23:43:00 +03:00
Luke Dashjr
d4251e1075 Build against system UniValue when available 2018-01-09 23:42:52 +03:00
Luke Dashjr
6e4270f333 Bugfix: The var is LIBUNIVALUE,not LIBBITCOIN_UNIVALUE 2018-01-09 23:42:42 +03:00
fanquake
2bebba5a0e Use Debian 8.3 in gitian build guide
Add instructions to clone the gitian.sigs repo
2018-01-09 23:42:19 +03:00
Cory Fields
a5cb913081 c++11: add scoped enum fallbacks to CPPFLAGS rather than defining them locally
Due to include ordering, defining in one place was not enough to ensure correct
usage. Use global defines so that we don't have to worry abou this ordering.

Also add a comment in configure about the test.
2018-01-09 23:41:56 +03:00
Cory Fields
e013f50397 c++11: CAccountingEntry must be defined before use in a list 2018-01-09 23:36:00 +03:00
Cory Fields
2579687f83 c++11: don't throw from the reverselock destructor
noexcept is default for destructors as of c++11. By throwing in reverselock's
destructor if it's lock has been tampered with, the likely result is
std::terminate being called. Indeed that happened before this change.

Once reverselock has taken another lock (its ctor didn't throw), it makes no
sense to try to grab or lock the parent lock. That is be broken/undefined
behavior depending on the parent lock's implementation, but it shouldn't cause
the reverselock to fail to re-lock when destroyed.

To avoid those problems, simply swap the parent lock's contents with a dummy
for the duration of the lock. That will ensure that any undefined behavior is
caught at the call-site rather than the reverse lock's destruction.

Barring a failed mutex unlock which would be indicative of a larger problem,
the destructor should now never throw.
2018-01-09 23:32:07 +03:00
Cory Fields
6229258723 c++11: detect and correct for boost builds with an incompatible abi
This is ugly, but temporary. boost::filesystem will likely be dropped soon
after c++11 is enabled. Otherwise, we could simply roll our own copy_file. I've
fixed this at the buildsystem level for now in order to avoid mixing in
functional changes.

Explanation:
If boost (prior to 1.57) was built without c++11, it emulated scoped enums
using c++98 constructs. Unfortunately, this implementation detail leaked into
the abi. This was fixed in 1.57.

When building against that installed version using c++11, the headers pick up
on the native c++11 scoped enum support and enable it, however it will fail to
link. This can be worked around by disabling c++11 scoped enums if linking will
fail.

Add an autoconf test to determine incompatibility. At build-time, if native
enums are being used (a c++11 build), and force-disabling them causes a
successful link, we can be sure that there's an incompatibility and enable the
work-around.
2018-01-09 23:31:56 +03:00
janko33bd
228b3a9d89 Merge pull request #17 from lateminer/wallet-updates-0.13
Wallet updates from Bitcoin Core 0.13.x
2018-01-08 21:18:52 +01:00
lateminer
765380cf35 Revert "Make RelayWalletTransaction attempt to AcceptToMemoryPool."
This reverts commit c1a0128033.
2018-01-08 22:35:33 +03:00
lateminer
e8ad469c2c Remove unnecessary code 2018-01-08 22:25:00 +03:00