aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2019-10-15Merge #17033: Disable _FORTIFY_SOURCE when enable-debugWladimir J. van der Laan
44f7a8d7a774f82417106c452d793e6f091bc23e Disable _FORTIFY_SOURCE when enable-debug (Andrew Chow) Pull request description: The `_FORTIFY_SOURCE` macro is enabled by default when hardening is enabled, but it requires optimization in order to be used. Since we disable all optimization with `--enable-debug`, this macro doesn't actually do anything and instead just causes a lot of warnings to be printed. This PR explicitly disables `_FORTIFY_SOURCE` so that these useless warnings aren't printed. ACKs for top commit: laanwj: Thanks. ACK 44f7a8d7a774f82417106c452d793e6f091bc23e Tree-SHA512: e9302aef794dfd9ca9d0d032179ecc51d3212a9a0204454419f410011343b27c32e6be05f385051b5b594c607b91b8e0e588f644584d6684429a649a413077d9
2019-10-07Disable _FORTIFY_SOURCE when enable-debugAndrew Chow
Since enable-debug disables optimization entirely, _FORTIFY_SOURCE does nothing as it requires some kind of optimization enabled. It instead produces a bunch of useless warnings. So explicitly disable it when enable-debug so that those warnings are not produced.
2019-10-06build: Remove workaround for ancient libtoolHennadii Stepanov
Since libtool 1.5.2, on Linux libtool no longer sets RPATH for any directories in the dynamic linker search path, so there is no longer an issue. This commit reverts a98356fee8a44d7d1cb37f22c876fff8f244365e.
2019-10-06build: Ensure a minimal version of libtoolHennadii Stepanov
2019-10-02build: 0.19 release updates on masterJon Atack
as per doc/release-process.md. Note: On branch-off, these same changes should be made on the release branch, with also these additional changes to both files: - set `CLIENT_VERSION_REVISION` to `0` - set `CLIENT_VERSION_IS_RELEASE` to `true`
2019-09-18Merge #15146: Solve SmartOS FD_ZERO build issueWladimir J. van der Laan
b4fd0ca9be14c81023db759c405c0f67cfa78166 Include cstring for sanity_test_fdelt if required (Ben Woosley) 7fb886b1b1110de4c79478ac094e64cdcb81f3c8 [moveonly] Split glibc sanity_test_fdelt out (Ben Woosley) Pull request description: SmartOS FD_ZERO is implemented in a way that requires an external declaration of memcpy. We can not simply include cstring in the existing file because sanity_test_memcpy is attempting to replace memcpy. Instead split glibc_sanity into fdelt and memcpy files, and include <cstring> in glibc_sanity/fdelt.cpp. Fixes #13581, see also #13619 ACKs for top commit: laanwj: Code review an lightly tested (but not on SmartOS) ACK b4fd0ca9be14c81023db759c405c0f67cfa78166 Tree-SHA512: 231306da291ad9eca8ba91bea1e9c27b6c2e96e484d1602e1c2cf27761202f9287ce0bc19fefd000943d2b449d0e5929cd39e2f7e09cf930d89fa520228ccbec
2019-09-12build: disable BIP70 support by defaultfanquake
2019-08-31qt: Replace objc_msgSend with native syntaxHennadii Stepanov
2019-08-16build: echo prop tests status during buildJon Atack
Enable users to see if the prop tests are enabled during the build. This can be particularly helpful as property-based tests are silently auto-enabled by default if librapidcheck is found. Minor fixes to the docs and help grammar for this option.
2019-08-14Merge #16435: autoconf: Sane `--enable-debug` defaults.Jonas Schnelli
d6ac25bdd96589a71006e3ab3f303b091ffaa9e4 autoconf: Sane --enable-debug defaults. (Carl Dong) Pull request description: ``` Don't optimize even if variables adhere to as-if rule. This is a somewhat sane default for debugging. ``` ----- Fixes: #14830 This is more of a "do something dumb and have people correct you" kind of PR. The end goal is to have a configure flag that will allow for debugging without annoying "optimized out" messages, for developer experiences' sake. This is the minimal diff, but people have suggested `--enable-debug-slow` in the past. ACKs for top commit: jonasschnelli: Tested ACK d6ac25bdd96589a71006e3ab3f303b091ffaa9e4 Tree-SHA512: 7a5576ad1d33850aff1445ccb71b133f654b455da2d1daed2ed1b82ea773965790a62895aeeab74b23a25513ab96dddb670f9dbc593dd0b8c030694206a99ccf
2019-08-09build: disable libsecp256k1 benchmarksfanquake
These were previously disabled, but upstream changed to having benchmarks enabled by default in https://github.com/bitcoin-core/secp256k1/pull/480 and we pulled that change as part of #15703.
2019-07-30autoconf: Sane --enable-debug defaults.Carl Dong
Don't optimize at all when --enable-debug is supplied. This makes sure that nothing is optimized out.
2019-07-29Merge #15993: net: Drop support of the insecure miniUPnPc versionsWladimir J. van der Laan
59cb722fd050393a69f1e0df97d857c893d19d80 Update configure to reject unsafe miniUPnPc API ver (Hennadii Stepanov) ab2190557ec2757fa48b52855b05561854af49af doc: Add release notes for 15993 (Hennadii Stepanov) 02709e95601c6020a87a6a05ee1d00c13fc38f9b Align formatting with clang-format (Hennadii Stepanov) 91a1b8508358d04685391651aea303ebce1c3d05 Use PACKAGE_NAME in UPnP description (Hennadii Stepanov) 9f76e45b9d6671e2074fb7a3885db703045a791f Drop support of insecure miniUPnPc versions (Hennadii Stepanov) Pull request description: 1. Minimum supported miniUPnPc API version is set to 10: - https://packages.ubuntu.com/xenial/libminiupnpc-dev - https://packages.debian.org/jessie/libminiupnpc-dev Refs: - #6583 - #6789 - #10414 2. The hardcoded "Bitcoin" replaced with `PACKAGE_NAME`: ![Screenshot from 2019-05-06 23-10-29](https://user-images.githubusercontent.com/32963518/57253178-afc60780-7056-11e9-83c9-e85670c58c1e.png) 3. Also style-only commit applied. Pardon: could not reopen my previous PR #15966. ACKs for top commit: ryanofsky: utACK 59cb722fd050393a69f1e0df97d857c893d19d80. Changes since last review: adding a new commit which updates configure script to fall back to disabling upnp if version is too old, adding a requested comment explaining static_assert condition, and fixing a spelling (jessy/jessie) Tree-SHA512: 42ed11bc2fb2ec83d5dd58e2383da5444a24fd572707f6cf10b622cb8943e28adfcca4750d06801024c4472625b5ea9279516fbd9d2ccebc9bbaafe1d148e80d
2019-07-19build: Treat -Wswitch as error when --enable-werrorMarcoFalke
2019-07-10Merge #16338: test: Disable other targets when enable-fuzz is setWladimir J. van der Laan
84edfc72e5eba3dde824ebd0626e97929a0b1bca Update doc and CI config (qmma) 48bcb2ac249e0e666ce638bb29124558b3283c16 Disable other targets when enable-fuzz is set (qmma) Pull request description: This is to fix https://github.com/bitcoin/bitcoin/issues/16094 When the `enable-fuzz` flag is set, disable all other binary targets. ACKs for top commit: MarcoFalke: ACK 84edfc72e5eba3dde824ebd0626e97929a0b1bca (only checked that travis compiled this) Tree-SHA512: f4ac80526388a67709986b22de88b00bf93ab44ae31a20bd4d8923a4982ab97e015a9f13010081d6ecf6c23ae8afeac7ca9d849d198ce6ebe239aa3127151efc
2019-07-04Disable other targets when enable-fuzz is setqmma
2019-06-13Update configure to reject unsafe miniUPnPc API verHennadii Stepanov
Also fixes behavior when libminiupnpc is not installed.
2019-06-06[build]: check std::system for -[alert|block|wallet]notifySjors Provoost
Platforms such as iOs do not support launching a process through system().
2019-06-06[build] detect std::system or ::wsystemSjors Provoost
2019-05-23configure: Add flag for enabling thread_local.Carl Dong
- When aiming for glibc compatibility, don't use thread_local. - Add a flag --enable-threadlocal, which, when specified, will enable/disable thread_local regardless of the value of glibc_compat. - FreeBSD has a buggy thread_local, don't use it.
2019-05-15build with -fstack-reuse=noneMarcoFalke
2019-04-30Merge #15849: Thread names in logs and deadlock debug toolsMarcoFalke
8722e54e56 threads: add thread names to deadlock debugging message (James O'Beirne) 383b186c28 threads: prefix log messages with thread names (James O'Beirne) ddd95ccb80 tests: add threadutil tests (James O'Beirne) ae5f2b6a6c threads: introduce util/threadnames, refactor thread naming (James O'Beirne) 188ca75e5f disable HAVE_THREAD_LOCAL on unreliable platforms (James O'Beirne) Pull request description: I'm resurrecting this one (from #13168) because I need it to make progress on #15735. It's now off by default and can be turned on with `-logthreadnames=1`. Ran some benchmarks (IBD from local peer from 500_000 -> 504_000) and it's within spitting distance either on or off: ### threadnames off (default) #### 2018-05-threadnames.3 vs. master (absolute) | name | iterations | 2018-05-threadnames.3 | master | |------------------------------------------------|-----------:|----------------------------|----------------------------| | ibd.local.500000.504000.dbcache=2048 | 3 | 376.1584 (± 9.2944) | 392.3414 (± 13.4238) | | ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 2236117.3333 (± 1845.9623) | 2238690.6667 (± 2669.3487) | #### 2018-05-threadnames.3 vs. master (relative) | name | iterations | 2018-05-threadnames.3 | master | |------------------------------------------------|-----------:|----------------------:|-------:| | ibd.local.500000.504000.dbcache=2048 | 3 | 1 | 1.043 | | ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 1 | 1.001 | ### threadnames on #### 2018-05-threadnames-take-2 vs. master (absolute) | name | iterations | 2018-05-threadnames-take-2 | master | |------------------------------------------------|-----------:|----------------------------|----------------------------| | ibd.local.500000.504000.dbcache=2048 | 3 | 367.6861 (± 0.3941) | 364.1667 (± 0.9776) | | ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 2238461.3333 (± 3697.8730) | 2237014.6667 (± 3307.6966) | #### 2018-05-threadnames-take-2 vs. master (relative) | name | iterations | 2018-05-threadnames-take-2 | master | |------------------------------------------------|-----------:|---------------------------:|-------:| | ibd.local.500000.504000.dbcache=2048 | 3 | 1.010 | 1.00 | | ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 1.001 | 1.00 | ``` ACKs for commit 8722e5: Empact: utACK https://github.com/bitcoin/bitcoin/pull/15849/commits/8722e54e56fd959fd4ff2321b36a7640dee440c5 jnewbery: utACK 8722e54e56fd959fd4ff2321b36a7640dee440c5 MarcoFalke: re-utACK 8722e54e56fd959fd4ff2321b36a7640dee440c5 (Only change since my previous review is DEFAULT_LOGTHREADNAMES=false and stylistic updates Tree-SHA512: 50af992708295b8d680cf10025262dd964e599a356bdfc1dfc84fb18c00afabcb34d3d12d551b0677ff81f8fccad0e17c1d5b24dfecb953a913bc77fdd1a4577
2019-04-26disable HAVE_THREAD_LOCAL on unreliable platformsJames O'Beirne
Note that this doesn't affect anything unless DEBUG_LOCKCONTENTION is defined. See discussions here: - https://github.com/bitcoin/bitcoin/pull/11722#pullrequestreview-79322658 - https://github.com/bitcoin/bitcoin/pull/13168#issuecomment-387181155
2019-04-26Merge #13788: Fix --disable-asm for newer assembly checks/codeMarcoFalke
4207c1b35c configure: Initialise assembly enable_* variables (Luke Dashjr) afe0875577 configure: Skip assembly support checks, when assembly is disabled (Luke Dashjr) d8ab8dc12d configure: Invert --enable-asm help string since default is now enabled (Luke Dashjr) Pull request description: Fixes #13759 Also inverts the help (so it shows `--disable-asm` like other enabled-by-default options, and initialises the flag variables. ACKs for commit 4207c1: laanwj: makes sense, utACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52 achow101: utACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52 ken2812221: ACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52 practicalswift: tACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52 Tree-SHA512: a30be1008fd8f019db34073f78e90a3c4ad3767d88d7c20ebb83e99c7abc23552f7da3ac8bd20f727405799aff1ecb6044cf869653f8db70478a074d0b877e0a
2019-04-13Include cstring for sanity_test_fdelt if requiredBen Woosley
SmartOS FD_ZERO is implemented in a way that requires an external declaration of memcpy. We can not simply include cstring in the existing file because sanity_test_memcpy is attempting to replace memcpy, but we can do so here, now that the fdelt test is split out.
2019-03-02build: Require python 3.5MarcoFalke
2019-03-02build: Bump version to 0.18.99Wladimir J. van der Laan
Now that 0.18 branch has been split off, master is 0.18.99 (pre-0.19). Also clean out release notes. Tree-SHA512: ed5ca8bed37027aa852ba16f3f1e7fcd4ebaf74fa77a2a265cb33a9c710511019c577fae7a3b1e33259e245274d5cd4601d4774948396d0cf299b38ba634346a
2019-02-14Merge #15285: build: Prefer Python 3.4 even if newer versions are present on ↵MarcoFalke
the system 0890339fb3 build: prefer python3.4 even if newer versions are present on the system (Sjors Provoost) Pull request description: Python 3.4 is this mimimum supported version according to [doc/dependencies.md](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) Systems with [PyEnv](https://github.com/pyenv/pyenv) ensure (via [.python-version](https://github.com/bitcoin/bitcoin/blob/master/.python-version)) that Python 3.4 is used for the functional tests. However `make check` calls `bitcoin-util-test.py` using the Python command found by `configure.ac`, which looks system wide. On systems with multiple versions of Python this would cause `make check` to fail, as it tries to call a version of Python that PyEnv blocks. This is solved by preferring python3.4 in `configure.ac`. I missed this in #14884, so ideally this should be tagged 0.18 Tree-SHA512: b7487081a1ee7c2cb672a2e4bc1943ec8d23825fb941e567cb00fb123e6d59b1d8b7ddbf97d48aca770b9ddb9eacbfe73d8ac8cb1e1cdc34587ee1cee9929840
2019-02-05Merge #14922: windows: Set _WIN32_WINNT to 0x0601 (Windows 7)Wladimir J. van der Laan
0164b0f5cf80cd00a4914d9fea0bcb9508cb7607 build: Remove WINVER pre define in Makefile.leveldb.inlcude (Chun Kuan Lee) d0522ec94ebbaa564f5f6b31236d4df032664411 Drop defunct Windows compat fixes (Ben Woosley) d8a299206780b38959d732cbe40ba1dd25834f0e windows: Call SetProcessDEPPolicy directly (Chun Kuan Lee) 1bd9ffdd44000b208d29d35451f4dc9f1ac9318f windows: Set _WIN32_WINNT to 0x0601 (Windows 7) (Chun Kuan Lee) Pull request description: The current minimum support Windows version is Vista. So set it to 0x0600 https://github.com/mirror/mingw-w64/blob/5a88def8ad862ef8f4e5f2e69661bfb2d07f1ce2/mingw-w64-headers/include/sdkddkver.h#L19 Tree-SHA512: 38e2afc79426ae547131c8ad3db2e0a7f54a95512f341cfa0c06e4b2fe79521ae67d2795ef96b0192e683e4f1ba6183c010d7b4b8d6b3e68b9bf48c374c59e7d
2019-01-31Merge #13926: [Tools] bitcoin-wallet - a tool for creating and managing ↵MarcoFalke
wallets offline 3c3e31c3a4 [tests] Add wallet-tool test (João Barbosa) 49d2374acf [tools] Add wallet inspection and modification tool (Jonas Schnelli) Pull request description: Adds an offline tool `bitcoin-wallet-tool` for wallet creation and maintenance. Currently this tool can create a new wallet file, display information on an existing wallet, and run the salvage and zapwallettxes maintenance tasks on an existing wallet. It can later be extended to support other common wallet maintenance tasks. Doing wallet maintenance tasks in an offline tool makes much more sense (and is potentially safer) than having to spin up a full node. Tree-SHA512: 75a28b8a58858d9d76c7532db40eacdefc5714ea5aab536fb1dc9756e2f7d750d69d68d59c50a68e633ce38fb5b8c3e3d4880db30fe01561e07ce58d42bceb2b
2019-01-30[tools] Add wallet inspection and modification toolJonas Schnelli
This commit adds wallet-tool, a tool for creating and interacting with wallet files. Original implementation was by Jonas Schnelli <dev@jonasschnelli.ch> with modifications by John Newbery <john@johnnewbery.com> MSVC files were provided by Chun Kuan Lee <ken2812221@gmail.com>: build: Add MSVC project files for bitcoin-wallet-tool
2019-01-30build: prefer python3.4 even if newer versions are present on the systemSjors Provoost
Python 3.4 is the mimimum supported version according to doc/dependencies.md Systems with PyEnv ensure (via .python-version) that Python 3.4 is used for the functional tests. However make check calls bitcoin-util-test.py using the Python command found by configure.ac, which looks system wide. On systems with multiple versions of Python this would cause make check to fail, as it tries to call a version of Python that PyEnv blocks. This is solved by preferring python3.4 in configure.ac
2019-01-29test: Build fuzz targets into seperate executablesMarcoFalke
2019-01-23windows: Set _WIN32_WINNT to 0x0601 (Windows 7)Chun Kuan Lee
Also remove all defines in many places and define it in configure stage to keep consistency.
2019-01-16build: Drop macports supportBen Woosley
It's untested / unmaintained, according to theuni. https://github.com/bitcoin/bitcoin/pull/14920/files#r246964938
2019-01-12configure: bitcoin-tx doesn't need libevent, so don't pull it inLuke Dashjr
2019-01-05build: Allow to configure --with-sanitizers=fuzzerMarcoFalke
2018-12-31[Trivial] Update license year range to 2019Emil Engler
Update year range
2018-12-06Merge #14564: Adjust configure so that only bip70 is disabled when protobuf ↵MarcoFalke
is missing instead of the GUI 58c5cc9ce7 Adjust configure so that only bip70 is disabled when protobuf is missing instead of the GUI (James Hilliard) Pull request description: This change ensures that the GUI is still built even if protobuf is missing unless --enable-bip70 is passed to configure. If protobuf is present bip70 support will be compiled in unless --disable-bip70 is passed. Tree-SHA512: 432d2fbefec5436503d8aa8994e4efaf760d88bfd5249af031b502b356852e8fd56362f86420f9ffe78498649079d0f1b68c327960b215d83c275800626ad275
2018-11-10Adjust configure so that only bip70 is disabled when protobuf is missing ↵James Hilliard
instead of the GUI
2018-10-30build: include rc number in version numberAndrew Chow
2018-10-30build: if VERSION_BUILD is non-zero, include it in the package versionAndrew Chow
When the build number (CLIENT_VERSION_BUILD) is non-zero, we want to include that in the package version number so the resulting binaries are named with the correct version.
2018-10-09build: Add --disable-bip70 configure optionWladimir J. van der Laan
This patch adds a --disable-bip70 configure option that disables BIP70 payment request support. When disabled, this removes the dependency of the GUI on OpenSSL and Protobuf.
2018-09-13configure: Make it possible to build only one of bitcoin-cli or bitcoin-txLuke Dashjr
2018-09-10Merge #14127: build: avoid getifaddrs when unavailableWladimir J. van der Laan
9256f7d13f5b68ebc2981e8f45777f4bdc43f1b3 build: avoid getifaddrs when unavailable (Cory Fields) Pull request description: These changes from @theuni help building when targeting platforms that don't always have getifaddrs available like Android < 24 Tree-SHA512: dbfeb83297bd6f00b7991f53eef8a04948d2d739bf47c0524d9ae5335b843b8a5c06ff98c109fe5e6192665e6d0cf58700b8aa7e2a0b410281d3c052881973ff
2018-09-01build: avoid getifaddrs when unavailableCory Fields
2018-08-27Integration of property based testing into Bitcoin CoreChris Stewart
update copyright headers attempt to fix linting errors Fixing issue with make check classifying generator files as actual unit tests Wrapping gen files in ENABLE_PROPERTY_TESTS macro Make macro better
2018-08-13Merge #13899: build: Enable -Wredundant-decls where available. Remove ↵MarcoFalke
redundant redeclarations. d56b73f217 Remove redundant extern (practicalswift) f04bb1361c Enable -Wredundant-decls (gcc) if available (practicalswift) a9e90e5002 Remove redundant redeclaration of rescanblockchain(...) in same scope (practicalswift) Pull request description: Remove redundant redeclaration of `rescanblockchain` and enable `-Wredundant-decls` (gcc) where available to avoid accidental redundant redeclarations. ``` CXX wallet/libbitcoin_wallet_a-rpcwallet.o wallet/rpcwallet.cpp:4764:17: warning: redundant redeclaration of ‘UniValue rescanblockchain(const JSONRPCRequest&)’ in same scope [-Wredundant-decls] extern UniValue rescanblockchain(const JSONRPCRequest& request); ^~~~~~~~~~~~~~~~ wallet/rpcwallet.cpp:3929:10: note: previous declaration of ‘UniValue rescanblockchain(const JSONRPCRequest&)’ UniValue rescanblockchain(const JSONRPCRequest& request) ^~~~~~~~~~~~~~~~ ``` Tree-SHA512: b9af95fa53f494c3f6702e485956b66b042d2ff7578b4a53bf28e91aa844cdcf5d7ac3e2e710948eed566007324e81317304b8eabf2d4ea284cd6acd77f8ffcd
2018-08-13build: bump version to 0.17.99Wladimir J. van der Laan
Now that 0.17 branch has been split off, master is 0.17.99 (pre-0.18). Also clean out release notes. Tree-SHA512: bb20025d3ead3346afc7a6a51af715783e705e1de9d1b90ced6423d8969d64e42b72d06a1eb853083b11e9cfe674775266792ae2cd18ed6c858938e125edab03
2018-08-06Enable -Wredundant-decls (gcc) if availablepracticalswift