Commit Graph

13 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
1fbdd009cd
merge bitcoin#21430: Add -Werror=implicit-fallthrough compile flag 2024-06-25 13:39:56 +00:00
laanwj
64a6f74de1
Merge bitcoin/bitcoin#25457: Use more specific path when including memenv.h header
f3b5c1e4522f13060e9ace2913203e7a6b2eb2d1 Use more specific path when including `memenv.h` header (Hennadii Stepanov)

Pull request description:

  This PR makes our code base compatible with `leveldb`'s own CMake [project](https://github.com/bitcoin/bitcoin/blob/master/src/leveldb/CMakeLists.txt).

  Required for https://github.com/hebasto/bitcoin/pull/3.

  As a justification, please note that internally `leveldb` uses `#include "helpers/memenv/memenv.h"` rather `#include "memenv.h"`.

  #### Guix builds on `arm64`:
  ```
  # find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  0e069318a681f9f848e803e5df8b25426b47ddc8994a21e0b83f0f86e7db7ae0  guix-build-f3b5c1e4522f/output/arm-linux-gnueabihf/SHA256SUMS.part
  e68e1b65514d42f1e33b2754356b68d3ddea1fe9df89d02df51375792867dd8c  guix-build-f3b5c1e4522f/output/arm-linux-gnueabihf/bitcoin-f3b5c1e4522f-arm-linux-gnueabihf-debug.tar.gz
  6b1b5c1f9525e8e467d038751bfc070ed6cbfbd42b17add2faac76fee421343e  guix-build-f3b5c1e4522f/output/arm-linux-gnueabihf/bitcoin-f3b5c1e4522f-arm-linux-gnueabihf.tar.gz
  9f8e941f37aa243fd36c1eaade9b88081b2a27562bfe7d8208d3c6021ecb6f03  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/SHA256SUMS.part
  88cf46d00e67f3493e6ecbb85002ca0ff93dd47af3e93e51d95f92ed3218752f  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/bitcoin-f3b5c1e4522f-arm64-apple-darwin-unsigned.dmg
  5afa9ae6943386ae600d612f1ed4831c0e92011f87284ae25465c2ffc6b8bb2b  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/bitcoin-f3b5c1e4522f-arm64-apple-darwin-unsigned.tar.gz
  0b72a400f842ff31233ced2aadf0b8309ba6695b075b9f4345708dca235f6368  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/bitcoin-f3b5c1e4522f-arm64-apple-darwin.tar.gz
  7912417348175c293002ccd3413ecb53c5a1d29a234959a94bdbd6481bd58d08  guix-build-f3b5c1e4522f/output/dist-archive/bitcoin-f3b5c1e4522f.tar.gz
  f8d28c57dc97fd1e6844fcb2679f2a44fc360ef37aad3fc4185fa1d091baf4b1  guix-build-f3b5c1e4522f/output/powerpc64-linux-gnu/SHA256SUMS.part
  c219a024c95bcdfe28961c18b8118152becf201b00f9e0e28ff35a7a2646fc9b  guix-build-f3b5c1e4522f/output/powerpc64-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64-linux-gnu-debug.tar.gz
  2790ff48593be1699e4175cc31a6cc11fd2e758cdc99220c5a87ddb658d8a794  guix-build-f3b5c1e4522f/output/powerpc64-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64-linux-gnu.tar.gz
  8d13f9f6141776263faceb396cbe3089e5c165523a5da160ba9ec6814744f7d4  guix-build-f3b5c1e4522f/output/powerpc64le-linux-gnu/SHA256SUMS.part
  72c1e8d7a9f2f0ff76c1dd84b4614202ce6734cb8ff29b2cf2cfc20a218d3aa5  guix-build-f3b5c1e4522f/output/powerpc64le-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64le-linux-gnu-debug.tar.gz
  ed0494b336a1ae00050137ed0d18130d5c1213e6d45fada439de4e799ebfb720  guix-build-f3b5c1e4522f/output/powerpc64le-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64le-linux-gnu.tar.gz
  a2a11b57a4a93b0b079c87c303e4c5250b16994d20f87ae362850efc1c181e57  guix-build-f3b5c1e4522f/output/riscv64-linux-gnu/SHA256SUMS.part
  ff63220629ef4b318cc9c2b858204961bc29fd0e901817a39e50e6893925f153  guix-build-f3b5c1e4522f/output/riscv64-linux-gnu/bitcoin-f3b5c1e4522f-riscv64-linux-gnu-debug.tar.gz
  eb0c0b3709a2d4fe9a6c18ad7a14b90a32fe8a5a7d72f75400ae014f2c847264  guix-build-f3b5c1e4522f/output/riscv64-linux-gnu/bitcoin-f3b5c1e4522f-riscv64-linux-gnu.tar.gz
  a82bb28e2a8c6523854f4f9d6ff89d6ba096fff526f17bf6182fd6b2ebf96395  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/SHA256SUMS.part
  91d2eea67bfde7a363c6ede8c358fb3de842b55cfe428abafa7b5985d619c62c  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/bitcoin-f3b5c1e4522f-x86_64-apple-darwin-unsigned.dmg
  f3cbc79b8fac7e8a8c9ba63b774cadb5a09cd64cc942e7b68cd1fc566b371021  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/bitcoin-f3b5c1e4522f-x86_64-apple-darwin-unsigned.tar.gz
  91fb98ed086613bb85959e9fc060ef0f816d5b4d52087b003c6a72ecf1c1309b  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/bitcoin-f3b5c1e4522f-x86_64-apple-darwin.tar.gz
  62309af3fc8316abd4c8f8285c666c568c140b9312f252a47ca6611fb51fef5e  guix-build-f3b5c1e4522f/output/x86_64-linux-gnu/SHA256SUMS.part
  deb27b75f52fb40cd13bfc6d594ed5ff0d82d1c211e2a6a91b9ca06ee3b8335b  guix-build-f3b5c1e4522f/output/x86_64-linux-gnu/bitcoin-f3b5c1e4522f-x86_64-linux-gnu-debug.tar.gz
  89faeb1f32f0447d26a73253a9f581b40b01982862351a7dd0cee05c8dbf29cc  guix-build-f3b5c1e4522f/output/x86_64-linux-gnu/bitcoin-f3b5c1e4522f-x86_64-linux-gnu.tar.gz
  5de46eec42bcd1e2e0fd3c9c6978a8a945b95411a9051fac9bb8a65d6b4875a5  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/SHA256SUMS.part
  3271137a901889a38214173f01f96ae98385ea607e9573eaa2966e68c68401e1  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64-debug.zip
  7a74bf455bffa0d2abb99ce31ea1ef8088928f54c1f3c6e27044392f27e3e752  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64-setup-unsigned.exe
  73a23fd9846e615afcd569adc79fafdcf55b0efa9c383d2d0c9579fb0f79b91a  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64-unsigned.tar.gz
  ee5f3f9eb65f0ac1c0879d0aaa88cf20d8ca9329ba505f77580a0c9b57cd3244  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK f3b5c1e4522f13060e9ace2913203e7a6b2eb2d1
  fanquake:
    ACK f3b5c1e4522f13060e9ace2913203e7a6b2eb2d1

Tree-SHA512: 62e7cf49bc4ce08c8373a0fcfaf4ca10a83d18d0d00bdb21983c25b4b9192ace74acf64362b47faa429d13dbaf63be953fd3aa3b92366603866a472f95ef09a1
2024-02-27 10:02:44 -06:00
fanquake
dd3739543d Merge bitcoin/bitcoin#23282: build: remove build stubs for external leveldb
17ae2601c786e6863cee1bd62297d79521219295 build: remove build stubs for external leveldb (Cory Fields)

Pull request description:

  Presumably these stubs indicate to packagers that external leveldb is meant to be supported in some way. It is not. Remove the stubs to avoid sending any mixed messages.

  For context, this was reported on IRC:

  > \<Talkless> bitcoind fails to start with undefined symbol: _ZTIN7leveldb6LoggerE in Debian Sid after leveldb upgraded from 1.22 to 1.23: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996486

ACKs for top commit:
  fanquake:
    ACK 17ae2601c786e6863cee1bd62297d79521219295
  hebasto:
    ACK 17ae2601c786e6863cee1bd62297d79521219295. I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 2f1ac2cb30dac64791933a245a2b66ce237bde3955e6f4a6b7ec181248f77a9b1b10597d865d3e2c2b6def696af70de40e905ec274e4ae7cccd1daf461473957
2022-04-03 18:46:47 -05:00
Kittywhiskers Van Gogh
da33c9619c
partial merge #17398: Update leveldb to 1.22+ (#4230)
* Update to leveldb upstream using subtree merge

* Import crc32c using subtree merge as as 'src/crc32c'

* build: Update build system for new leveldb

Upstream leveldb switched build systems, which means we need to define
a few different values.

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

* doc: Add crc32c subtree to developer notes

* test: Add crc32c to subtree check linter

* test: Add crc32c exception to various linters and generation scripts

* build: Add LCOV exception for crc32c

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

* build: CRC32C build system integration

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-07-15 15:42:55 -05:00
Kittywhiskers Van Gogh
b07abef88a bitcoin#16710: Enable -Wsuggest-override if available 2021-06-17 19:54:52 +05:30
Kittywhiskers Van Gogh
638fdf25fd bitcoin#18843: warn on potentially uninitialized reads 2021-06-17 19:54:52 +05:30
Wladimir J. van der Laan
a0ff957d18
Merge #10806: build: verify that the assembler can handle crc32 functions
d34d77a build: verify that the assembler can handle crc32 functions (Cory Fields)

Pull request description:

  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.

  Addresses #10670.

Tree-SHA512: e1a41a87b078d270bc645814315b229ad9c16556a4d14fb66b27a65b28d0caf9bf324f8c1e221854992aa17f53466eece06faebbf74d59b3d4ff2e6db6c614a4
2019-07-17 19:01:41 -05:00
Wladimir J. van der Laan
946388169d Merge #10544: Update to LevelDB 1.20
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
2019-07-09 13:08:20 -05:00
Wladimir J. van der Laan
272fddce2c Merge #8826: Do not include env_win.cc on non-Windows systems
7e5fd71 Do not include env_win.cc on non-Windows systems (Pavel Janík)
2018-01-12 09:56:53 +01:00
Wladimir J. van der Laan
a26bad09b6 Merge #8784: Copyright headers for build scripts
0c4e6ce Add MIT license to build-aux/m4 scripts (Luke Dashjr)
3f8a5d8 Trivial: build-aux/m4/l_atomic: Fix typo (Luke Dashjr)
3b4b6dc Add MIT license to autogen.sh and share/genbuild.sh (Luke Dashjr)
f4dffdd Add MIT license to Makefiles (Luke Dashjr)
2018-01-12 08:02:45 +01:00
Wladimir J. van der Laan
b95a338b30 Merge #8133: build: Finish up out-of-tree changes
d1a3d57 bulid: fix "make translate" when out-of-tree (Cory Fields)
340012d build: add temporary fix for "bad magic number" error in out-of-tree builds (Cory Fields)
142ffc7 travis: use out-of-tree build (Cory Fields)
92e37a3 build: fix out-of-tree 'make deploy' for osx (Cory Fields)
ab95d5d build: a few ugly hacks to get the rpc tests working out-of-tree (Cory Fields)
fc4ad0c build: more out-of-tree fixups (Cory Fields)
0cb0f26 build: out-of-tree fixups (Cory Fields)
2017-12-22 17:20:31 +01:00
Wladimir J. van der Laan
6662e23a0a Merge #7982: build: No need to check for leveldb atomics
de98290 build: No need to check for leveldb atomics (Cory Fields)
2017-12-20 17:25:03 +01:00
Johnathan Corgan
03c709b422 Backport leveldb build integration to 0.12
This is a cherry-pick of a4625acb with minor conflict
resolution.

Conflicts:
	src/Makefile.am

=====

leveldb: integrate leveldb into our buildsystem

leveldb's buildsystem causes us a few problems:
- breaks out-of-tree builds
- forces flags used for some tools
- limits cross builds

Rather than continuing to add wrappers around it, simply integrate it into our
build.
2016-06-05 12:48:57 -07:00