aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2018-07-01Detect if char equals int8_tChun Kuan Lee
2018-06-24Add -ftrapv to DEBUG_CXXFLAGS when --enable-debug is usedpracticalswift
2018-06-24Merge #13480: Avoid copies in range-for loops and add a warning to detect themWladimir J. van der Laan
d92204c900d55ebaf2af5c900162b3c2c8c296e2 build: add warning to detect hidden copies in range-for loops (Cory Fields) 466e16e0e8523909f9968c5823691b1d4a3d8175 cleanup: avoid hidden copies in range-for loops (Cory Fields) Pull request description: Following-up on #13241, which was itself a follow-up of #12169. See title. Fixing these would otherwise be a continuous process, adding the warning should keep them from cropping up. Note that the warning seems to be Clang-only for now. Tree-SHA512: ccfb769c3128b3f92c95715abcf21ee2496fe2aa384f80efead1529a28eeb56b98995b531b49a089f8142601389e63f7bb935963d724eacde4f5e1b4a024934b
2018-06-15build: add warning to detect hidden copies in range-for loopsCory Fields
2018-06-13build: Build system changes to support only Qt5Wladimir J. van der Laan
2018-06-13Merge #13445: build: Reset default -g -O2 flags when enable debugWladimir J. van der Laan
9882d1f044133832b3c0809676d5f26a861b9f44 Reset default -g -O2 flags when enable debug (Chun Kuan Lee) Pull request description: The default CXXFLAGS is -g -O2, this should not appear when enable debug. fixes #13432 Tree-SHA512: 79447f3e1fab9e6cd12f5ca49b3d42187e856e0c159ed01140ea93d6ef1fbb1af3d65b338308566330491052c0177d12abe26796513502ddde31692665a0dbb4
2018-06-12Reset default -g -O2 flags when enable debugChun Kuan Lee
2018-06-11When build fails due to lib missing, indicate which oneBen Woosley
A failure of "lib missing" has limited utility.
2018-06-04Merge #13191: Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2Wladimir J. van der Laan
4defdfab94504018f822dc34a313ad26cedc8255 [MOVEONLY] Move unused Merkle branch code to tests (Pieter Wuille) 4437d6e1f3107a20a8c7b66be8b4b972a82e3b28 8-way AVX2 implementation for double SHA256 on 64-byte inputs (Pieter Wuille) 230294bf5fdeba7213471cd0b795fb7aa36e5717 4-way SSE4.1 implementation for double SHA256 on 64-byte inputs (Pieter Wuille) 1f0e7ca09c9d7c5787c218156fa5096a1bdf2ea8 Use SHA256D64 in Merkle root computation (Pieter Wuille) d0c96328833127284574bfef26f96aa2e4afc91a Specialized double sha256 for 64 byte inputs (Pieter Wuille) 57f34630fb6c3e218bd19535ac607008cb894173 Refactor SHA256 code (Pieter Wuille) 0df017889b4f61860092e1d54e271092cce55f62 Benchmark Merkle root computation (Pieter Wuille) Pull request description: This introduces a framework for specialized double-SHA256 with 64 byte inputs. 4 different implementations are provided: * Generic C++ (reusing the normal SHA256 code) * Specialized C++ for 64-byte inputs, but no special instructions * 4-way using SSE4.1 intrinsics * 8-way using AVX2 intrinsics On my own system (AVX2 capable), I get these benchmarks for computing the Merkle root of 9001 leaves (supported lengths / special instructions / parallellism): * 7.2 ms with varsize/naive/1way (master, non-SSE4 hardware) * 5.8 ms with size64/naive/1way (this PR, non-SSE4 capable systems) * 4.8 ms with varsize/SSE4/1way (master, SSE4 hardware) * 2.9 ms with size64/SSE4/4way (this PR, SSE4 hardware) * 1.1 ms with size64/AVX2/8way (this PR, AVX2 hardware) Tree-SHA512: efa32d48b32820d9ce788ead4eb583949265be8c2e5f538c94bc914e92d131a57f8c1ee26c6f998e81fb0e30675d4e2eddc3360bcf632676249036018cff343e
2018-05-298-way AVX2 implementation for double SHA256 on 64-byte inputsPieter Wuille
2018-05-294-way SSE4.1 implementation for double SHA256 on 64-byte inputsPieter Wuille
2018-05-22build: split warnings out of CXXFLAGSCory Fields
CXXFLAGS should not be modified anyway. Also, this will enable us to selectively disable warnings.
2018-05-14Merge #13005: Make --enable-debug to pick better optionsWladimir J. van der Laan
9e49db2 Make --enable-debug to pick better options (Evan Klitzke) Pull request description: Cherry-picked (and rebased) 94189645e67f364c4445d62e2b00c282d885cbbf from the "up for grabs" PR: "[build] Make --enable-debug pick better options" (#12695). See previous review in #12695. Tree-SHA512: a93cdadcf13e2ef8519acb1ce4f41ce95057a388347bb0a86a5c164dc7d0b0d14d4bb2a466082d5a100b8d50de65c605c40abaed555e8ea77c99e28800a34439
2018-05-01Remove python2 from configure.acChun Kuan Lee
2018-04-25test: add rpcauth-test to AC_CONFIG_LINKS to fix out-of-tree make checkWladimir J. van der Laan
Add rpcauth-test (introduced #13056) to AC_CONFIG_LINKS, like the other directly called python scripts, to fix out-of-tree `make check`.
2018-04-17Make --enable-debug to pick better optionsEvan Klitzke
Various changes: * Don't check $GCC and $GXX * Prefer -Og instead of -O0 * If -g3 isn't available, use -g This also incidentally fixes compiler warnings with GCC and glibc when using --enable-debug, as the old default values mixed poorly with the hardening flags.
2018-04-13macOS: Prevent Xcode 9.3 build warningsAkio Nakamura
This PR solves #12867 (needs to run autogen.sh && ./configure) clang (Apple LLVM version 9.1.0 (clang-902.0.39.1)) warns unused argument '-pie' during compilation. So we check for warnings in the test using $CXXFLAG_WERROR. Windows is alse default-pie and was special-cased because it also warned, but we can also eliminate that case if warnings are caught.
2018-04-06build: Show enabled sanitizers in configure outputpracticalswift
2018-03-28Add --with-sanitizers option to configureEvan Klitzke
This enables the use of different compiler sanitizers, coresponding to the -fsanitize option in GCC and Clang.
2018-03-15Remove redundant checks for MSG_* from configure.acVasil Dimov
It is redundant to check for the presence of MSG_NOSIGNAL macro in configure.ac, define HAVE_MSG_NOSIGNAL and then check whether the later is defined in the source code. Instead we can check directly whether MSG_NOSIGNAL is defined. Same for MSG_DONTWAIT. In addition to that, the checks we had in configure.ac produce a compiler warning about unused variable and thus could fail if -Werror is present and erroneously proclaim that the macros are not available.
2018-03-15Do not check for main() in libminiupnpcVasil Dimov
main() { main(); } causes "infinite recursion" compilation warning which with -Werror fails the check.
2018-03-14Merge #12666: configure: UniValue 1.0.4 is required for pushKV(, bool)Wladimir J. van der Laan
8172d3a configure: UniValue 1.0.4 is required for pushKV(, bool) (Luke Dashjr) Pull request description: The breaking changes (#12193) are already merged, so this blocks 0.17.0. It depends on jgarzik/univalue#42 or jgarzik/univalue#50 being merged and released in UniValue 1.0.4. Tree-SHA512: 3a21bbc72d6632bd07ee60ad7780b9ee95908357bcf59b4795b693d8a5d8c88943d6451482f11916ff5417e3bdbb9916062f87d0d73e79f50eb95ddabe21f943
2018-03-10configure: UniValue 1.0.4 is required for pushKV(, bool)Luke Dashjr
2018-03-06Merge #12373: Build: Add build support for profiling.Wladimir J. van der Laan
cfaac2a60 Add build support for 'gprof' profiling. (murrayn) Pull request description: Support for profiling build: `./configure --enable-profiling` Tree-SHA512: ea983cfce385f1893bb4ab7f94ac141b7d620951dc430da3bbc92ae1357fb05521eac689216e66dc87040171a8a57e76dd7ad98036e12a2896cfe5ab544347f0
2018-02-26Add build support for 'gprof' profiling.murrayn
2018-02-17Merge #12029: Build: Add a makefile target for Doxygen documentationJonas Schnelli
a777244e4 Build: Add a makefile target for Doxygen documentation (Andrea Comand) Pull request description: You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`. Fixes: #11949 Tree-SHA512: f2361ec7f771227367dd04bba1a444b44e59f13901463a678a5f2f579a10a56d67db2e29552e754e312a1c472a31593b6af189cbaac5cd351a428c57baf5ace7
2018-02-02Merge #12283: Fix typosMarcoFalke
1340eda3b7 Fix typos (practicalswift) Pull request description: Fix typos. Tree-SHA512: 533a136831387ef26e9a74ba078437496bee38cc026da73fa9e6f6e7f4d5665eccac24cf3ef05e6d3af1329a1214f5ce71b039ddb8378b074e6d4408b8701f95
2018-01-30build: Bump version to 0.16.99Wladimir J. van der Laan
Also clean out release notes. Tree-SHA512: c4d5b52c089e14438be37381e1b0dab3711cc72aa8d345d1024169fff0055f3d021c8ca9d46fb794110694ebcbf7cbca0a12619f650873c9d381530adea7100e
2018-01-30[build] Add NETBSD leveldb target to configure.acfanquake
2018-01-28Fix typospracticalswift
2018-01-25Build: Add a makefile target for Doxygen documentationAndrea Comand
You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`. Fixes: #11949
2018-01-01[Trivial] Update license year range to 2018Akira Takizawa
2017-12-18[build] Warn that only libconsensus can be built without boostVarunram
2017-11-27threads: add a thread_local autoconf checkCory Fields
2017-11-07Merge #10866: Fix -Wthread-safety-analysis warnings. Compile with ↵Pieter Wuille
-Wthread-safety-analysis if available. 76ea17c79 Add mutex requirement for AddToCompactExtraTransactions(…) (practicalswift) 4616c825a Use -Wthread-safety-analysis if available (+ -Werror=thread-safety-analysis if --enable-werror) (practicalswift) 7e319d639 Fix -Wthread-safety-analysis warnings. Change the sync.h primitives to std from boost. (Matt Corallo) Pull request description: * Add mutex requirement for `AddToCompactExtraTransactions(…)`. * Use `-Wthread-safety-analysis` if available. * Rebased on top of https://github.com/TheBlueMatt/bitcoin/commits/2017-08-test-10923 - now includes: Fix -Wthread-safety-analysis warnings. Change the sync.h primitives to std from boost. Tree-SHA512: fb7365f85daa2741c276a1c899228181a8d46af51db7fbbdffceeaff121a3eb2ab74d7c8bf5e7de879bcc5042d00d24cb4649c312d51caba45a3f6135fd8b38f
2017-11-06Use -Wthread-safety-analysis if available (+ -Werror=thread-safety-analysis ↵practicalswift
if --enable-werror)
2017-11-05[build] Don't fail when passed --disable-lcov and lcov isn't availablefanquake
2017-10-02qa: Fix lcov for out-of-tree buildsMarcoFalke
2017-09-05Merge #11164: Fix boost headers included as user instead of system headersWladimir J. van der Laan
5ac072caa Fix boost headers included as user instead of system headers (Dan Raviv) Pull request description: In most of the project, boost headers are included as system headers. Fix the few inconsistent places where they aren't. Tree-SHA512: 280af33a7bdc9d68a15b729fa88e1e7627e20a054b8d52a12cc5350c1ac9e9c90fb09f0aa97a00960969f75bcf3403dc52b834c94448b814efa63bfaf3b82663
2017-08-28build: Mention use of asm in summaryWladimir J. van der Laan
2017-08-28build: Rename --enable-experimental-asm to --enable-asm and enable by defaultWladimir J. van der Laan
Now that 0.15 is branched off, enable assembler SHA256 optimizations by default.
2017-08-26Fix boost headers included as user instead of system headersDan Raviv
In most of the project, boost headers are included as system headers. Fix the few inconsistent places where they aren't.
2017-08-15disable jni in buildsGregory Sanders
2017-08-14build: bump version to 0.15.99Wladimir J. van der Laan
Now that 0.15 branch has been split off, master is 0.15.99 (pre-0.16). Also clean out release notes. Tree-SHA512: 160f712fae7bfc51e49e36a27ab01f5c243b79a19a70312df95f9bc5cb8067c70aa88911f741fd1625bee549a70655eaea24d98f6049d98c3c14ee1b3143f4cb
2017-08-07Merge #10301: Check if sys/random.h is required for getentropy.Wladimir J. van der Laan
ee2d10a Check if sys/random.h is required for getentropy on OSX. (James Hilliard) Pull request description: This should check and include sys/random.h if required for osx as mentioned [here](https://github.com/bitcoin/bitcoin/pull/9821#issuecomment-290936636). Tree-SHA512: e9491f67f2e8b2e6bcdbcbb8063295e844d5627daf5336e3e17b4a8027d888fa65a08e4580a745abdc35ffd8d86b4fc7434daaac172c4a06ab7566a2ed0bfb92
2017-08-04build: always attempt to enable targeted sse42 cxxflagsCory Fields
This avoids a counter-intuitive drop in performance when manually adjusting the flags.
2017-07-27Check if sys/random.h is required for getentropy on OSX.James Hilliard
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.