aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2017-05-31build: silence gcc7's implicit fallthrough warningCory Fields
This is a well-intentioned but realistically annoying warning. Unfortunately, it's too easy for a warning in one header to cause dozens of repeated warnings.
2017-04-24Merge #9792: FastRandomContext improvements and switch to ChaCha20Wladimir J. van der Laan
4fd2d2f Add a FastRandomContext::randrange and use it (Pieter Wuille) 1632922 Switch FastRandomContext to ChaCha20 (Pieter Wuille) e04326f Add ChaCha20 (Pieter Wuille) 663fbae FastRandom benchmark (Pieter Wuille) c21cbe6 Introduce FastRandomContext::randbool() (Pieter Wuille) Tree-SHA512: 7fff61e3f6d6dc6ac846ca643d877b377db609646dd401a0e8f50b052c6b9bcd2f5fc34de6bbf28f04afd1724f6279ee163ead5f37d724fb782a00239f35db1d
2017-04-20Make Boost use std::atomic internallyPieter Wuille
2017-04-05doc: Make build system insert version in DoxyfileWladimir J. van der Laan
2017-04-01build: Disable Wshadow warningWladimir J. van der Laan
This warning was enabled by default in #8808 but it's a [continuing](https://github.com/bitcoin/bitcoin/pull/9911#issuecomment-285171447) [source](https://github.com/bitcoin/bitcoin/pull/10089#issuecomment-289369688) of [annoyance](https://github.com/bitcoin/bitcoin/pull/9911#issuecomment-285179129) for me and other developers. I'm sick of sounding like a broken record, so disable it again.
2017-03-30util: Work around (virtual) memory exhaustion on 32-bit w/ glibcWladimir J. van der Laan
glibc-specific: On 32-bit systems set the number of arenas to 1. By default, since glibc 2.10, the C library will create up to two heap arenas per core. This is known to cause excessive virtual address space usage in our usage. Work around it by setting the maximum number of arenas to 1.
2017-03-29Add a FastRandomContext::randrange and use itPieter Wuille
2017-03-20Move src/test/bitcoin-util-test.py to test/util/bitcoin-util-test.pyJohn Newbery
2017-03-20Rename --enable-extended-rpc-tests to --enable-extended-functional-testsJohn Newbery
2017-03-20Rename test/pull-tester/rpc-tests.py to test/functional/test_runner.pyJohn Newbery
2017-03-20Rename rpc-tests directory to functionalJohn Newbery
2017-03-20Rename qa directory to testJohn Newbery
2017-03-20Add mallocinfo mode to `getmemoryinfo` RPCWladimir J. van der Laan
This adds a mode argument to `getmemoryinfo`. By default the output will remain the same. However if a mode argument of `mallocinfo` is provided the result of glibc `malloc_info` (if available) will be returned as a string, as-is. This is useful for tracking heap usage over time or troubleshooting memory fragmentation issues.
2017-03-16build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAITWladimir J. van der Laan
Introduced in #9921. Thanks to Pavol Rusnak for spotting this one.
2017-03-05build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNALWladimir J. van der Laan
Instead of the WIN32-specific workaround, detect lack of `MSG_DONTWAIT` in the build system. This allows other platforms without `MSG_DONTWAIT` to work too.
2017-03-03Merge #8808: Do not shadow variables (gcc set)Wladimir J. van der Laan
ad1ae7a Check and enable -Wshadow by default. (Pavel Janík) 9de90bb Do not shadow variables (gcc set) (Pavel Janík) Tree-SHA512: 9517feb423dc8ddd63896016b25324673bfbe0bffa97f22996f59d7a3fcbdc2ebf2e43ac02bc067546f54e293e9b2f2514be145f867321e9031f895c063d9fb8
2017-03-01Merge #9821: util: Specific GetOSRandom for Linux/FreeBSD/OpenBSDWladimir J. van der Laan
7e6dcd9 random: Add fallback if getrandom syscall not available (Wladimir J. van der Laan) 7cad849 sanity: Move OS random to sanity check function (Wladimir J. van der Laan) aa09ccb squashme: comment that NUM_OS_RANDOM_BYTES should not be changed lightly (Wladimir J. van der Laan) 224e6eb util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (Wladimir J. van der Laan) Tree-SHA512: 9fd408b1316c69de86674f342339b2f89192fd317c8c036b5df4320f828fa263c7966146bfc1904c51137ee4a26e4cb0f560b2cd05e18cde4d808b9b92ad15c4
2017-02-23Merge #9831: build: force a c++ standard to be specifiedWladimir J. van der Laan
9829c54 build: force a c++ standard to be specified (Cory Fields)
2017-02-23build: add --enable-werror optionCory Fields
This turns some compiler warnings into errors. Useful for c-i.
2017-02-22build: force a c++ standard to be specifiedCory Fields
Newer compilers may switch to newer standards by default. For example, gcc6 uses std=gnu++14 by default.
2017-02-21util: Specific GetOSRandom for Linux/FreeBSD/OpenBSDWladimir J. van der Laan
These are available in sandboxes without access to files or devices. Also [they are safer and more straightforward](https://en.wikipedia.org/wiki/Entropy-supplying_system_calls) to use than `/dev/urandom` as reading from a file has quite a few edge cases: - Linux: `getrandom(buf, buflen, 0)`. [getrandom(2)](http://man7.org/linux/man-pages/man2/getrandom.2.html) was introduced in version 3.17 of the Linux kernel. - OpenBSD: `getentropy(buf, buflen)`. The [getentropy(2)](http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man2/getentropy.2) function appeared in OpenBSD 5.6. - FreeBSD and NetBSD: `sysctl(KERN_ARND)`. Not sure when this was added but it has existed for quite a while. Alternatives: - Linux has sysctl `CTL_KERN` / `KERN_RANDOM` / `RANDOM_UUID` which gives 16 bytes of randomness. This may be available on older kernels, however [sysctl is deprecated on Linux](https://lwn.net/Articles/605392/) and even removed in some distros so we shouldn't use it. Add tests for `GetOSRand()`: - Test that no error happens (otherwise `RandFailure()` which aborts) - Test that all 32 bytes are overwritten (initialize with zeros, try multiple times) Discussion: - When to use these? Currently they are always used when available. Another option would be to use them only when `/dev/urandom` is not available. But this would mean these code paths receive less testing, and I'm not sure there is any reason to prefer `/dev/urandom`. Closes: #9676
2017-02-21build: warn about variable length arraysCory Fields
2017-02-18Merge #9657: Improve rpc-tests.pyMarcoFalke
a6a3e58 Various review markups for rpc-tests.py improvements (John Newbery) 3de3ccd Refactor rpc-tests.py (John Newbery) afd38e7 Improve rpc-tests.py arguments (John Newbery) 91bffff Use argparse in rpc_tests.py (John Newbery) 1581ecb Use configparser in rpc-tests.py (John Newbery)
2017-02-17build: bump version to 0.14.99Wladimir J. van der Laan
Now that 0.14 branch has been split off, master is 0.14.99 (pre-0.15). Also clean out release notes.
2017-01-31Use configparser in rpc-tests.pyJohn Newbery
Remove the use of wildcard imports in rpc-tests.py and replace with configparser.
2017-01-23[Trivial] Update license year range to 2017Lauda
The same as #7363.
2017-01-05Merge #9475: Let autoconf detect presence of EVP_MD_CTX_newWladimir J. van der Laan
0388afe Let autoconf detect presence of EVP_MD_CTX_new (Luke Dashjr)
2017-01-04Let autoconf detect presence of EVP_MD_CTX_newLuke Dashjr
Fixes LibreSSL compatibility
2017-01-02Merge #9412: build: Fix 'make deploy' for OSXJonas Schnelli
2fb98f6 Fix bug in dmg builder so that it actually reads in the configuration file (Don Patterson) b01667c Mention RSVG dependency when creating the disk image on OSX (Jonas Schnelli) 09aefb5 build: Fix 'make deploy' for OSX (Cory Fields)
2016-12-28Fix linker error when configured with --enable-lcovDouglas Roark
2016-12-23Mention RSVG dependency when creating the disk image on OSXJonas Schnelli
2016-12-23build: Fix 'make deploy' for OSXCory Fields
Native OSX uses system tools rather than 3rd party dependencies. rsvg-convert is still required, though.
2016-12-05Check and enable -Wshadow by default.Pavel Janík
2016-12-04remove obsolete run-bitcoind-for-test.shAlex Morcos
2016-12-02Merge #9260: Mrs Peacock in The Library with The Candlestick (killed ↵Pieter Wuille
main.{h,cpp}) 76faa3c Rename the remaining main.{h,cpp} to validation.{h,cpp} (Matt Corallo) e736772 Move network-msg-processing code out of main to its own file (Matt Corallo) 87c35f5 Remove orphan state wipe from UnloadBlockIndex. (Matt Corallo)
2016-12-02Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo
2016-12-01Revert "Use async name resolving to improve net thread responsiveness"Matt Corallo
This reverts commit caf6150e9785da408f1e603ae70eae25b5202d98. getaddrinfo_a has a nasty tendency to segfault internally in its background thread, on every version of glibc I tested, especially under helgrind. See https://sourceware.org/bugzilla/show_bug.cgi?id=20874
2016-11-17Merge #9156: Add compile and link options echo to configureWladimir J. van der Laan
d8274bc Add compile and link options echo to configure (Jonas Schnelli)
2016-11-16Add compile and link options echo to configureJonas Schnelli
2016-11-15build: fix qt5.7 build under macOSCory Fields
OBJCXX's std flags don't get defined by our cxx macro. Rather than hard-coding to c++11, just force OBJCXX to be the same as CXX unless the user specified otherwise.
2016-11-09Revert "Check and enable -Wshadow by default."Wladimir J. van der Laan
This reverts commit fd5654cab1e5d317119f747abd245c620e8ba29b. This is still causing too many warnings for some compiler combinations, forget it for now.
2016-11-09Merge #8794: Enable -Wshadow by defaultWladimir J. van der Laan
359bac7 Add notes about variable names and shadowing (Pavel Janík) fd5654c Check and enable -Wshadow by default. (Pavel Janík)
2016-10-17Set minimum required Boost to 1.47.0fanquake
2016-09-30Merge #8813: bitcoind: Daemonize using daemon(3)Wladimir J. van der Laan
a92bf4a bitcoind: Daemonize using daemon(3) (Matthew King)
2016-09-26bitcoind: Daemonize using daemon(3)Matthew King
Simplified version of #8278. Assumes that every OS that (a) is supported by Bitcoin Core (b) supports daemonization has the `daemon()` function in its C library. - Removes the fallback path for operating systems that support daemonization but not `daemon()`. This prevents never-exercised code from ending up in the repository (see discussion here: https://github.com/bitcoin/bitcoin/pull/8278#issuecomment-242704745). - Removes the windows-specific path. Windows doesn't support `daemon()`, so it don't support daemonization there, automatically. Original code by Matthew King, adapted by Wladimir van der Laan.
2016-09-26Merge #8249: Enable (and check for) 64-bit ASLR on WindowsWladimir J. van der Laan
62c2915 build: supply `-Wl,--high-entropy-va` (Wladimir J. van der Laan) 9a75d29 devtools: Check for high-entropy ASLR in 64-bit PE executables (Wladimir J. van der Laan)
2016-09-26build: supply `-Wl,--high-entropy-va`Wladimir J. van der Laan
This should enable high-entropy ASLR on 64-bit targets, for better mitigation of exploits.
2016-09-22Check and enable -Wshadow by default.Pavel Janík
2016-09-13Merge #8608: Install manpages via make install, also add some autogenerated ↵Wladimir J. van der Laan
manpages d19583f improved gen-manpages.sh, includes bitcoin-tx and strips commit tag, now also runs binaries from build dir by default, added variables for more control (nomnombtc) 09546ca regenerated all manpages with commit tag stripped, also add bitcoin-tx (nomnombtc) ae6e754 change help string --enable-man to --disable-man (nomnombtc) a32c102 add conditional for --enable-man, default is yes (nomnombtc) dc84b6f add doc/man to subdir if configure flag --enable-man is set (nomnombtc) 00dba72 add doc/man/Makefile.am to include manpages (nomnombtc) eb5643b add autogenerated manpages by help2man (nomnombtc) 6edf2fd add gen-manpages.sh description to README.md (nomnombtc) d2cd9c0 add script to generate manpages with help2man (nomnombtc)
2016-09-09Merge #8563: Add configure check for -latomicWladimir J. van der Laan
878faac Add configure check for -latomic (Anthony Towns)