aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2017-07-20Protect SSE4 code behind a compile-time flagPieter Wuille
2017-07-16Merge #10766: Building Environment: Set ARFLAGS to crPieter Wuille
912da1dcc Use AC_ARG_VAR to set ARFLAGS. (René Nyffenegger) Pull request description: Override the default of ARFLAGS of `cru` to `cr`. When building, ar produces a warning for each archive, for example ``` AR libbitcoin_server.a /usr/bin/ar: `u' modifier ignored since `D' is the default (see `U') ``` Since `u` is the default anyway, it cannot hurt to remove it. Tree-SHA512: 7466764f847b70f0f67db25dac87a7794477abf1997cb946682f394fe80ae86ac3ed52cbadb35f0c18a87467755bde5a5158430444cd26fb60fa363cc7bd486d
2017-07-15Use AC_ARG_VAR to set ARFLAGS.René Nyffenegger
The user can set ARFLAGS in the ./configure step with ./configure ARFLAGS=... If he chooses not to do so, ARFLAGS will be set to cr.
2017-07-13build: verify that the assembler can handle crc32 functionsCory Fields
Also, enable crc32 even if -msse4.2 wasn't added by us, as long as it works. This allows custom flags (such as -march=native) to work as expected.
2017-06-22Merge #10565: [coverage] Remove subtrees and benchmarks from coverage reportWladimir J. van der Laan
d5711f4 Filter subtrees and and benchmarks from coverage report (Andrew Chow) 405b86a Replace lcov -r commands with faster way (Andrew Chow) c8914b9 Have `make cov` optionally include branch coverage statistics (Andrew Chow) Tree-SHA512: 9c349a7baeb7430ea586617c52f91177df58e3546d6dc573e26815ddb79e30ab1873542d85ac1daca5e1fb2c6d6c8965824b42d027b6b0496a744af57b095852
2017-06-13Merge #10544: Update to LevelDB 1.20Wladimir J. van der Laan
3ee3d04 Add extra LevelDB source to Makefile (MarcoFalke) 2424989 leveldb: enable runtime-detected crc32 instructions (Cory Fields) cf44e4c Squashed 'src/leveldb/' changes from a31c8aa40..196962ff0 (Pieter Wuille) Tree-SHA512: 19ade77e3f6265507b3ab7b9aa5150d378aa0751e24ac7a61567b0f720a566cedc6c3d3336da17a3bd2b5d068ee86600d96a15228f78bd20ccf98c8fc9041a91
2017-06-09leveldb: enable runtime-detected crc32 instructionsCory Fields
2017-06-07Have `make cov` optionally include branch coverage statisticsAndrew Chow
Added an option to configure to allow for branch coverage statistics gathering. Disabled logprint macro when coverage testing is on so that unnecessary branches are not analyzed.
2017-06-06Merge #10331: Share config between util and functional testsMarcoFalke
8ad5bde Merge bctest.py into bitcoin-util-test.py (John Newbery) 95836c5 Use shared config file for functional and util tests (John Newbery) 89fcd35 Use an .ini config file for environment vars in bitcoin-util-test.py (John Newbery) e9265df Change help_text in bitcoin-util-test.py to a docstring. (John Newbery) ce58e93 Change bitcoin-util-test.py to use Python3 (John Newbery) Tree-SHA512: 66dab0b4a8546aee0dfaef134a165f1447aff4c0ec335754bbc7d9e55909721c62f09cdbf4b22d02ac1fcd5a9b66780f91e1cc4d8687fae7288cc9072a23a78f
2017-06-06Merge bctest.py into bitcoin-util-test.pyJohn Newbery
bctest.py is only used as an import by bitcoin-util-test.py. There's no value in keeping it as a separate module, so let's merge them into a single module to keep building and packaging simpler. bitcoin-test-util is importable as a module, so if any future modules really want to import the code from bctest.py, they can import bitcoin-test-util and call the bctest functions by name.
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-05-03Use shared config file for functional and util testsJohn Newbery
The functional tests and util tests both require a config file that is generated by ./configure. This commit merges those two config files into a single configuration file that can be shared by both tests. The config from config.ini is put into a Namespace object to maintain the interface with bctest.py. A future commit could change this interface to use a dictionary instead of a namespace.
2017-05-03Use an .ini config file for environment vars in bitcoin-util-test.pyJohn Newbery
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)